source: Sophya/trunk/SophyaLib/SkyT/trianglefilt.cc@ 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
Line 
1//--------------------------------------------------------------------------
2// File and Version Information:
3// $Id: trianglefilt.cc,v 1.4 1999-11-29 16:59:13 ansari Exp $
4//
5// Description:
6//
7// History (add to end):
8// Sophie Oct, 1999 - creation
9//
10//------------------------------------------------------------------------
11
12//---------------
13// C++ Headers --
14//---------------
15#include "machdefs.h"
16#include <iostream.h>
17
18#include "trianglefilt.h"
19
20//----------------
21// Constructor --
22//----------------
23
24TriangleFilter::TriangleFilter()
25 : SpectralResponse()
26{
27}
28TriangleFilter::TriangleFilter(double numin, double numax,double nupeak, double valueatpeak)
29 : SpectralResponse(numin, numax)
30{
31 _nuPeak = nupeak ;
32 _peakTransmission = valueatpeak;
33}
34
35//--------------
36// Destructor --
37//--------------
38TriangleFilter::~TriangleFilter()
39{
40}
41
42// ---------------------------
43// -- Function Definitions --
44// ---------------------------
45
46double
47TriangleFilter::transmission(double nu) const
48{
49 if(nu < -1.e99) nu = -1.e99;
50 if(nu > 1.e99) nu = 1.e99;
51
52 if(nu>_numin && nu<_nuPeak) return (_peakTransmission*nu/_nuPeak);
53 if(nu>=_nuPeak && nu<_numax) return (_peakTransmission*nu/(_nuPeak-_numax)+_peakTransmission-_peakTransmission*_nuPeak/(_nuPeak-_numax));
54 return 0.;
55}
56
57double
58TriangleFilter::peakFreq() const
59{
60return _nuPeak;
61}
62
63double
64TriangleFilter::peakTransmission() const
65{
66return _peakTransmission;
67}
68
69/*
70void
71TriangleFilter::WriteSelf(POutPersist& s)
72{
73 s.PutR8(this->peakFreq());
74 s.PutR8(this->peakTransmission());
75 s.PutR8(this->minFreq());
76 s.PutR8(this->maxFreq());
77
78}
79
80void
81TriangleFilter::ReadSelf(PInPersist& s)
82{
83 // double peakFreq, peakTransmission, minFreq, maxFreq;
84 s.GetR8(_nuPeak);
85 s.GetR8(_peakTransmission);
86 s.GetR8(_numin);
87 s.GetR8(_numax);
88 cout << "peakFreq - peakTransmission - minFreq - maxFreq " << endl;
89 cout << _nuPeak << "-" << _peakTransmission<< "-" << _numin << "-" << _numax << endl;
90
91}
92
93*/
Note: See TracBrowser for help on using the repository browser.