source: Sophya/trunk/SophyaLib/SkyT/specresp.h@ 601

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

Creation module SkyT (provisoire) - Outils pour simulation du ciel

Reza 19/11/99

File size: 1.8 KB
Line 
1// This may look like C code, but it is really -*- C++ -*-
2//--------------------------------------------------------------------------
3// File and Version Information:
4// $Id: specresp.h,v 1.1.1.1 1999-11-19 16:34:32 ansari Exp $
5//
6// Description:
7//
8// History (add to end):
9// Sophie Oct, 1999 - creation
10//
11//------------------------------------------------------------------------
12#ifndef SPECRESP_H_SEEN
13#define SPECRESP_H_SEEN
14
15#include "machdefs.h"
16#include <iostream.h>
17
18//------------------------------------
19// Collaborating Class Declarations --
20//------------------------------------
21
22// ---------------------
23// -- Class Interface --
24// ---------------------
25
26// ***IMPORTANT*** All frequencies are expressed in GHz (10^9 Hz)
27
28class SpectralResponse
29{
30
31public:
32 //Constructor
33 SpectralResponse(double numin=0., double numax=1.);
34
35 // destructor
36 virtual ~SpectralResponse();
37
38 //
39 // Member Functions
40 //
41
42 // The transmission() function is virtual:
43 virtual double transmission(double nu) const =0 ;
44
45 inline double operator() (double nu) const { return(transmission(nu)); }
46
47 virtual void Print(ostream& os) const;
48
49 virtual double minFreq() const;
50 virtual double maxFreq() const;
51 virtual double meanFreq() const;
52 virtual double peakFreq() const;
53 virtual double peakTransmission() const;
54 virtual double IntegratedSpect(double numin, double numax) const ;
55 virtual double logIntegratedSpect(double numin, double numax) const ;
56 virtual double IntegratedSpect() const ;
57 virtual double logIntegratedSpect() const ;
58
59protected:
60 double _numin;
61 double _numax;
62};
63
64
65// definition of the << operator
66inline ostream& operator << (ostream& s, SpectralResponse const & sr)
67 { sr.Print(s); return(s); }
68
69
70#endif
Note: See TracBrowser for help on using the repository browser.