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