source: Sophya/trunk/SigPredictor/lightptsrclevsinband.h@ 4012

Last change on this file since 4012 was 1190, checked in by ansari, 25 years ago

cleaned files

  • Property svn:executable set to *
File size: 1.7 KB
Line 
1#ifndef LightPtSrcLevSInBand_H
2#define LightPtSrcLevSInBand_H
3
4#include <iostream>
5#include <map>
6//#include "levsptsrc.h"
7
8#include "levelsplanckband.h"
9
10struct LevSPtSrcData
11{ float flux30G;
12 float flux44G;
13 float flux70G;
14 float flux100G;
15 float flux143G;
16 float flux217G;
17 float flux352G;
18 float flux545G;
19 float flux857G;
20
21 float getPower(LevSPanckBand band) const
22 { // Unit depend of context be carefull!
23 switch (band)
24 { case Giga30: return flux30G;
25 case Giga44: return flux44G;
26 case Giga70: return flux70G;
27 case Giga100: return flux100G;
28 case Giga143: return flux143G;
29 case Giga217: return flux217G;
30 case Giga352: return flux352G;
31 case Giga545: return flux545G;
32 case Giga857: return flux857G;
33 default:
34 { cerr<<"Erreur lecture de puissance dans LevSPtSrc::getPower. Exit(-1)"<<endl;
35 exit(-1);
36 return 0;
37 }
38 }
39
40 }
41
42};
43
44struct LevSPtSrcCmpUnitVec
45{ bool operator()(const UnitVector& coord1, const UnitVector& coord2) const
46 { if ( coord1.Theta() < coord2.Theta() ) return true;
47 if ( coord1.Theta() == coord2.Theta() )
48 { if ( coord1.Phi() > coord2.Phi() ) return true;
49 }
50 return false;
51 }
52};
53
54class LightPtSrcLevSInBand
55{
56 public:
57 LightPtSrcLevSInBand(char FileOfPtSrc[]);
58 ~LightPtSrcLevSInBand() {}
59 // double powSpec(double theta,double phi,LevSPanckBand Band);
60 // Return power in band in Watt/m2
61 multimap <UnitVector,LevSPtSrcData,LevSPtSrcCmpUnitVec> MapOfPtSrc;
62 void print(ostream& out)
63 { out<< Name<<endl; }
64 void DumpMap(LevSPanckBand band);
65 // Write a Mollweide projection of the Point Sources Sky
66 // power in the LevSPanckBand band
67
68 protected:
69 void readLevSPtSrc(char HFIfile[]);
70 char Name[128];
71
72};
73
74#endif
75
Note: See TracBrowser for help on using the repository browser.