| 1 |                         // Dominique YVON, CEA/DAPNIA/SPP 02/2000
 | 
|---|
| 2 | 
 | 
|---|
| 3 | #ifndef LightDIFFDUST_SEEN
 | 
|---|
| 4 | #define LightDIFFDUST_SEEN
 | 
|---|
| 5 | #include "spherehealpix.h" 
 | 
|---|
| 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;
 | 
|---|
| 22 |     SphereHEALPix<float>* pMap;         // Map units MJy from IRAS Data.
 | 
|---|
| 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
 | 
|---|
| 44 |   | 
|---|