source: Sophya/trunk/SigPredictor/lightsrcsep.h@ 1151

Last change on this file since 1151 was 801, checked in by ansari, 25 years ago

Fichiers au format unix

dominique

File size: 1.8 KB
RevLine 
[801]1 // Dominique YVON, CEA/DAPNIA/SPP 02/2000
2
3#ifndef LightSrcSep_H
4#define LightSrcSep_H
5
6#include "abslightsource.h"
7
8class LightSrcSep:public AbsLightSource {
9 friend class LSrcRadSpecSep;
10public:
11 LightSrcSep(){LScrFSep=true; QPtSource=false;}
12 ~LightSrcSep() { }
13 virtual double powSpecDens(double theta,double phi,double freq){
14 // Return power density at coordinates (W/m2/Hz/St)
15 return spectre(freq)*powerDensAmpli(theta,phi);
16 }
17
18 virtual double spectre(double frequence)=0;
19 // Return the frequency spectrum independent of coordinates
20 // should have no dimension
21 virtual double powerDensAmpli(double theta,double phi)=0;
22 // Return power density Amplidude at coordinates
23 // (W/m2/Hz/St)
24protected:
25};
26
27class LightSrcDiffBlackBody:public LightSrcSep {
28 // Classe mettant en oeuvre les sources parametrees
29 // Comme des ecarts de temperature a la tempe du CMB
30 // valable dans la limite des petits ecarts de tempe de TCMB
31 // DeltaT retourne la DTCMB apparente au point theta, phi.
32public:
33 LightSrcDiffBlackBody() {
34 h_kT=6.626e-34/T_CMBR/1.38e-23; // Hz-1
35 Prefac=2*6.626e-34*6.626e-34/(9.e16*1.38e-23*T_CMBR*T_CMBR);
36 // 2*h2/(c2*k*TCMB2) ( W/m2/st/Hz^3/K) ou (J/m2/st/Hz^4/K)
37 }
38 virtual ~LightSrcDiffBlackBody() { };
39protected:
40 double h_kT; // nanosecondes
41 double Prefac;
42 virtual double DeltaT(double theta,double phi)=0; // en Kelvin
43 virtual double spectre(double freq){ // Frequence en Hz
44 return pow(freq,4)*exp(h_kT*freq)/pow((exp(h_kT*freq)-1),2);
45 // Hz^4
46 }
47 virtual double powerDensAmpli(double theta,double phi){
48 // Return power density Amplidude at coordinates
49 // J/m2/st/Hz^4 ou W/m2/St/Hz^5
50 double PDens= Prefac*DeltaT(theta,phi);
51 return PDens;
52 }
53
54};
55
56
[798]57#endif
Note: See TracBrowser for help on using the repository browser.