| [801] | 1 |                         // Dominique YVON, CEA/DAPNIA/SPP 02/2000
 | 
|---|
 | 2 | 
 | 
|---|
 | 3 | #ifndef LightDIFFDUST_SEEN
 | 
|---|
 | 4 | #define LightDIFFDUST_SEEN
 | 
|---|
| [1148] | 5 | #include "spherehealpix.h" 
 | 
|---|
| [801] | 6 | #include "lightsrcsep.h"
 | 
|---|
 | 7 | 
 | 
|---|
 | 8 | 
 | 
|---|
 | 9 | class LightDiffDust:public LightSrcSep {
 | 
|---|
 | 10 |  public:
 | 
|---|
 | 11 |     LightDiffDust(int_4 nside);
 | 
|---|
 | 12 |     virtual ~LightDiffDust();
 | 
|---|
 | 13 |  protected: 
 | 
|---|
 | 14 |     int nlat;           // Nlat de la carte gorsky de reference
 | 
|---|
 | 15 |     double TDust;               // Temperature of dust
 | 
|---|
 | 16 |     double fRef;                // Frequency Reference
 | 
|---|
 | 17 |     double index;               // Index en frequence fitt sur le modle
 | 
|---|
 | 18 |     double Hfraction;
 | 
|---|
 | 19 |     double index2;
 | 
|---|
 | 20 |         double CorrelatedfreeWeight;
 | 
|---|
 | 21 |     double nuPlanckfRef;
 | 
|---|
| [1148] | 22 |     SphereHEALPix<float>* pMap;         // Map units MJy from IRAS Data.
 | 
|---|
| [801] | 23 |     
 | 
|---|
 | 24 |     virtual double powerDensAmpli(double theta,double phi){
 | 
|---|
 | 25 |         return (*pMap)(theta,phi)*1.e-20*fRef;
 | 
|---|
 | 26 |                 // Return power density Amplidude at coordinates
 | 
|---|
 | 27 |         // (W/m2/Hz/st)
 | 
|---|
 | 28 |     }
 | 
|---|
 | 29 |     virtual double spectre(double freq){
 | 
|---|
 | 30 |     /*  double temp=planckSpectrum(freq,TDust)/planckSpectrum(fRef,TDust)
 | 
|---|
 | 31 |                         *(1-Hfraction)* freq*freq/fRef/fRef;
 | 
|---|
 | 32 |         return temp;
 | 
|---|
 | 33 |     */
 | 
|---|
 | 34 |         double nuPnu= nuPlanck(freq)/nuPlanck(fRef) * (1.-Hfraction) * pow(freq/fRef,index) 
 | 
|---|
 | 35 |         + pow(freq/fRef,1+index2) * CorrelatedfreeWeight;       
 | 
|---|
 | 36 |         return nuPnu/freq;      
 | 
|---|
 | 37 |     }
 | 
|---|
 | 38 |     inline double nuPlanck(double freq){
 | 
|---|
 | 39 |         return freq*planckSpectrum(freq,TDust);
 | 
|---|
 | 40 |     }
 | 
|---|
 | 41 | };
 | 
|---|
 | 42 | 
 | 
|---|
 | 43 | #endif
 | 
|---|
| [798] | 44 |   | 
|---|