source: Sophya/trunk/SophyaLib/SkyT/specrespvector.h@ 669

Last change on this file since 669 was 669, checked in by ansari, 26 years ago

Adaptation a PPersist de SpectralResponse - Suite 1 , Sophie 29/11/99

File size: 2.0 KB
RevLine 
[601]1// This may look like C code, but it is really -*- C++ -*-
2//--------------------------------------------------------------------------
3// File and Version Information:
[669]4// $Id: specrespvector.h,v 1.4 1999-11-29 16:59:12 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]32namespace SOPHYA {
33
34 class SpecRespVec : public SpectralResponse
35 {
[601]36
37public:
38 //Constructor
[668]39 SpecRespVec();
[669]40 SpecRespVec(Vector const & nu, Vector const & fdenu, double numin, double numax);
41 SpecRespVec(Vector const & nu, Vector const & fdenu);
[601]42
43 // destructor
44 virtual ~SpecRespVec();
45
46 //
47 // Member Functions
48 //
49
50 // The transmission() function is virtual:
51 virtual double transmission(double nu) const;
52
[607]53 // Acces to Nu and T(nu) vectors
[668]54 inline Vector& getNuVec() { return _vecOfNu; } ;
55 inline Vector& getTNuVec() { return _vecOfFDeNu; }
56 inline double getNuVec(int i) const { return _vecOfNu(i); }
57 inline double getTNuVec(int i) const { return _vecOfFDeNu(i); }
58 inline int NbElts() const { return _size;}
59
[601]60 virtual void Print(ostream& os) const;
61
62protected:
63 Vector _vecOfNu;
64 Vector _vecOfFDeNu;
[668]65 int _size;
[601]66};
67
[668]68 // ObjFileIO<SpecRespVec> pour les PPersist
69 inline POutPersist& operator << (POutPersist& os, SpecRespVec & obj)
70 { ObjFileIO<SpecRespVec> fio(&obj); fio.Write(os); return(os);}
71
72 inline PInPersist& operator >> (PInPersist& os, SpecRespVec & obj)
73 { ObjFileIO<SpecRespVec> fio(&obj); fio.Read(os); return(os);}
[601]74
[668]75}; // End of namespace
[601]76#endif
Note: See TracBrowser for help on using the repository browser.