source: Sophya/trunk/SophyaLib/SkyT/gaussfilt.h@ 3851

Last change on this file since 3851 was 2479, checked in by ansari, 22 years ago

Ajout SkipToNextObjet() ds PInPersist operator >> - Reza 7 Dec 2003

File size: 1.9 KB
Line 
1// This may look like C code, but it is really -*- C++ -*-
2//--------------------------------------------------------------------------
3// File and Version Information:
4// $Id: gaussfilt.h,v 1.6 2003-12-06 23:59:21 ansari Exp $
5//
6// Description:
7//
8// History (add to end):
9// Sophie Oct, 1999 - creation
10//
11//------------------------------------------------------------------------
12
13#ifndef GAUSSFILT_H_SEEN
14#define GAUSSFILT_H_SEEN
15
16//----------------------
17// Base Class Headers --
18//----------------------
19#include "specresp.h"
20#include "objfio.h"
21
22//------------------------------------
23// Collaborating Class Declarations --
24//------------------------------------
25
26// ---------------------
27// -- Class Interface --
28// ---------------------
29
30// Spectral response in the form A Exp(-((nu-nu0)/s)^2)
31
32namespace SOPHYA {
33
34class GaussianFilter:public SpectralResponse
35{
36public:
37 //Constructors
38 GaussianFilter ();
39 GaussianFilter (double nu0, double s, double a=1., double numin=0., double numax= 9.e49);
40
41
42 // destructor
43 virtual ~GaussianFilter();
44
45 //
46 // Function members
47 //
48
49 virtual double transmission(double) const;
50 virtual double peakFreq() const;
51 virtual double peakTransmission() const;
52
53 virtual void Print(ostream& os) const;
54
55 virtual inline double giveNorm() const {return _a;};
56 virtual inline double giveNu0() const {return _nu0;};
57 virtual inline double giveDNu() const {return _s;};
58 virtual void setParams(double nu0, double s, double a=1.);
59
60protected:
61 double _a, _s, _nu0;
62};
63
64
65 // ObjFileIO<SpecRespVec> pour les PPersist
66 inline POutPersist& operator << (POutPersist& os, GaussianFilter & obj)
67 { ObjFileIO<GaussianFilter> fio(&obj); fio.Write(os); return(os);}
68
69 inline PInPersist& operator >> (PInPersist& is, GaussianFilter & obj)
70 { ObjFileIO<GaussianFilter> fio(&obj); is.SkipToNextObject(); fio.Read(is); return(is);}
71
72} // End of namespace
73
74#endif
Note: See TracBrowser for help on using the repository browser.