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
RevLine 
[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]32namespace SOPHYA {
33
34 class SpecRespVec : public SpectralResponse
35 {
[601]36
37public:
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
61protected:
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
Note: See TracBrowser for help on using the repository browser.