| [801] | 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 | 
|---|