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

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

Ajout de classes deleguees PPersist et correction integration - Sophie 29/11/99

File size: 2.0 KB
Line 
1// This may look like C code, but it is really -*- C++ -*-
2//--------------------------------------------------------------------------
3// File and Version Information:
4// $Id: specrespvector.h,v 1.3 1999-11-29 14:16:09 ansari Exp $
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"
20#include "objfio.h"
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
32namespace SOPHYA {
33
34 class SpecRespVec : public SpectralResponse
35 {
36
37public:
38 //Constructor
39 SpecRespVec();
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
52 // Acces to Nu and T(nu) vectors
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
59 virtual void Print(ostream& os) const;
60
61protected:
62 Vector _vecOfNu;
63 Vector _vecOfFDeNu;
64 int _size;
65};
66
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);}
73
74}; // End of namespace
75#endif
Note: See TracBrowser for help on using the repository browser.