| 1 | // Dominique YVON, CEA/DAPNIA/SPP 02/2000 | 
|---|
| 2 |  | 
|---|
| 3 | #ifndef SKYDIPOLE_SEEN | 
|---|
| 4 | #define SKYDIPOLE_SEEN | 
|---|
| 5 |  | 
|---|
| 6 | #include "lightsrcsep.h" | 
|---|
| 7 |  | 
|---|
| 8 | class LightDipole:public LightSrcDiffBlackBody { | 
|---|
| 9 | public: | 
|---|
| 10 | LightDipole(); | 
|---|
| 11 | virtual ~LightDipole() {   }; | 
|---|
| 12 | protected: | 
|---|
| 13 | virtual double DeltaT(double theta,double phi); | 
|---|
| 14 | // Additional members: | 
|---|
| 15 | // Cosmic Microwave Background Parameters as measured by COBE and COBRA | 
|---|
| 16 | double betaDipole; | 
|---|
| 17 | double phiDipole; | 
|---|
| 18 | double thetaDipole; | 
|---|
| 19 | double vDipole[3]; | 
|---|
| 20 | }; | 
|---|
| 21 |  | 
|---|
| 22 | class LightQuadrupole:public LightDipole { | 
|---|
| 23 | //strictement identique a Lightdipole sauf processValue() | 
|---|
| 24 | //ou on calcule D(T)/T  quadrupolaire | 
|---|
| 25 | public: | 
|---|
| 26 | LightQuadrupole():LightDipole(){   }; | 
|---|
| 27 | virtual ~LightQuadrupole() { }; | 
|---|
| 28 | protected: | 
|---|
| 29 | virtual double DeltaT(double theta,double phi); | 
|---|
| 30 | }; | 
|---|
| 31 |  | 
|---|
| 32 | class LightBlackBody:public LightSrcSep { | 
|---|
| 33 | public: | 
|---|
| 34 | LightBlackBody(double Tempe=T_CMBR, double Resolution=0.); | 
|---|
| 35 | virtual ~LightBlackBody() {   }; | 
|---|
| 36 |  | 
|---|
| 37 | virtual double powerDensAmpli(double theta,double phi) | 
|---|
| 38 | {   return 1.; } | 
|---|
| 39 |  | 
|---|
| 40 | virtual double spectre(double frequence) | 
|---|
| 41 | { return planckSpectrum(frequence,TempeCNoir); | 
|---|
| 42 | } | 
|---|
| 43 | protected: | 
|---|
| 44 | double TempeCNoir; | 
|---|
| 45 | }; | 
|---|
| 46 |  | 
|---|
| 47 |  | 
|---|
| 48 | class LightNormTCMB:public LightSrcSep { | 
|---|
| 49 | public: | 
|---|
| 50 | LightNormTCMB(double Tempe=1., double Resol=0.); | 
|---|
| 51 | virtual ~LightNormTCMB() {   }; | 
|---|
| 52 |  | 
|---|
| 53 | virtual double powerDensAmpli(double theta,double phi) | 
|---|
| 54 | {   return 1.; }    // En Kelvin | 
|---|
| 55 |  | 
|---|
| 56 | virtual double spectre(double frequence) | 
|---|
| 57 | {    return AbsLightSource::planckSpecDiff(DeltaTempeCNoir,frequence,T_CMBR); | 
|---|
| 58 | } | 
|---|
| 59 |  | 
|---|
| 60 | protected: | 
|---|
| 61 | double DeltaTempeCNoir; | 
|---|
| 62 | }; | 
|---|
| 63 | #endif | 
|---|