[601] | 1 | // This may look like C code, but it is really -*- C++ -*-
|
---|
| 2 | //--------------------------------------------------------------------------
|
---|
| 3 | // File and Version Information:
|
---|
[668] | 4 | // $Id: specrespvector.h,v 1.3 1999-11-29 14:16:09 ansari Exp $
|
---|
[601] | 5 | //
|
---|
| 6 | // Description:
|
---|
| 7 | //
|
---|
| 8 | // History (add to end):
|
---|
| 9 | // Sophie Oct, 1999 - creation
|
---|
| 10 | //
|
---|
| 11 | //------------------------------------------------------------------------
|
---|
| 12 | #ifndef SPECRESPVEC_H_SEEN
|
---|
| 13 | #define SPECRESPVEC_H_SEEN
|
---|
| 14 |
|
---|
| 15 | #include "machdefs.h"
|
---|
| 16 | #include <iostream.h>
|
---|
| 17 |
|
---|
| 18 | #include "specresp.h"
|
---|
| 19 | #include "tvector.h"
|
---|
[668] | 20 | #include "objfio.h"
|
---|
[601] | 21 |
|
---|
| 22 | //------------------------------------
|
---|
| 23 | // Collaborating Class Declarations --
|
---|
| 24 | //------------------------------------
|
---|
| 25 |
|
---|
| 26 | // ---------------------
|
---|
| 27 | // -- Class Interface --
|
---|
| 28 | // ---------------------
|
---|
| 29 |
|
---|
| 30 | // ***IMPORTANT*** All frequencies are expressed in GHz (10^9 Hz)
|
---|
| 31 |
|
---|
[668] | 32 | namespace SOPHYA {
|
---|
| 33 |
|
---|
| 34 | class SpecRespVec : public SpectralResponse
|
---|
| 35 | {
|
---|
[601] | 36 |
|
---|
| 37 | public:
|
---|
| 38 | //Constructor
|
---|
[668] | 39 | SpecRespVec();
|
---|
[601] | 40 | SpecRespVec(Vector const & nu, Vector const & fdenu, double numin=0., double numax=1.);
|
---|
| 41 |
|
---|
| 42 | // destructor
|
---|
| 43 | virtual ~SpecRespVec();
|
---|
| 44 |
|
---|
| 45 | //
|
---|
| 46 | // Member Functions
|
---|
| 47 | //
|
---|
| 48 |
|
---|
| 49 | // The transmission() function is virtual:
|
---|
| 50 | virtual double transmission(double nu) const;
|
---|
| 51 |
|
---|
[607] | 52 | // Acces to Nu and T(nu) vectors
|
---|
[668] | 53 | inline Vector& getNuVec() { return _vecOfNu; } ;
|
---|
| 54 | inline Vector& getTNuVec() { return _vecOfFDeNu; }
|
---|
| 55 | inline double getNuVec(int i) const { return _vecOfNu(i); }
|
---|
| 56 | inline double getTNuVec(int i) const { return _vecOfFDeNu(i); }
|
---|
| 57 | inline int NbElts() const { return _size;}
|
---|
| 58 |
|
---|
[601] | 59 | virtual void Print(ostream& os) const;
|
---|
| 60 |
|
---|
| 61 | protected:
|
---|
| 62 | Vector _vecOfNu;
|
---|
| 63 | Vector _vecOfFDeNu;
|
---|
[668] | 64 | int _size;
|
---|
[601] | 65 | };
|
---|
| 66 |
|
---|
[668] | 67 | // ObjFileIO<SpecRespVec> pour les PPersist
|
---|
| 68 | inline POutPersist& operator << (POutPersist& os, SpecRespVec & obj)
|
---|
| 69 | { ObjFileIO<SpecRespVec> fio(&obj); fio.Write(os); return(os);}
|
---|
| 70 |
|
---|
| 71 | inline PInPersist& operator >> (PInPersist& os, SpecRespVec & obj)
|
---|
| 72 | { ObjFileIO<SpecRespVec> fio(&obj); fio.Read(os); return(os);}
|
---|
[601] | 73 |
|
---|
[668] | 74 | }; // End of namespace
|
---|
[601] | 75 | #endif
|
---|