| 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
 | 
|---|