[801] | 1 | // Dominique YVON, CEA/DAPNIA/SPP 02/2000
|
---|
| 2 |
|
---|
| 3 | #ifndef SKYQUASIPTSOURCES_SEEN
|
---|
| 4 | #define SKYQUASIPTSOURCES_SEEN
|
---|
| 5 |
|
---|
| 6 | #include "lightsrcsep.h"
|
---|
| 7 | #include "unitvector.h"
|
---|
| 8 |
|
---|
| 9 | class QuasiPtSources:public LightSrcDiffBlackBody{
|
---|
| 10 | public:
|
---|
| 11 | QuasiPtSources(double tempe=T_CMBR,double angsiz=0.,double theta=0.,double phi=0.);
|
---|
| 12 | // Tempe en Kelvin, angsiz, theta et phi en radian
|
---|
| 13 | // angsiz, demi angle au sommet.
|
---|
| 14 | virtual ~QuasiPtSources();
|
---|
| 15 | void GetSourceCoor(double& theta,double& phi){
|
---|
| 16 | theta=MyTheta; phi=MyPhi; return;}
|
---|
| 17 |
|
---|
| 18 | void SetSourceCoor(double theta,double phi);
|
---|
| 19 | virtual UnitVector GetVSrcCenter();
|
---|
| 20 | // Retourne le vecteur unitaire pointant sur la source quasiponctuelle
|
---|
| 21 | double getAngSize() {return AngSize;}
|
---|
| 22 | protected:
|
---|
| 23 | double AngSize; // Demie taille angulaire en Radian
|
---|
| 24 | double CosAngSize; // Cosinus de la demi taille angulaire
|
---|
| 25 | double SurfaceTemperature; // guess! Kelvin
|
---|
| 26 | double MyTheta; // coordinates on the Sky Radian
|
---|
| 27 | double MyPhi;
|
---|
| 28 | UnitVector* pVSource; // Direction de la source
|
---|
| 29 |
|
---|
| 30 | // Utilitaires de calcul
|
---|
| 31 | // double h_kT;
|
---|
| 32 | // double Prefac; // 8*pi*h/c2 J m-2 s3
|
---|
| 33 |
|
---|
| 34 | virtual double spectre(double freq);
|
---|
| 35 | // Nous ne sommes plus dans la limite des petits carts de temperature
|
---|
| 36 | // Surcharge ncessaire
|
---|
| 37 | // GHz 3
|
---|
| 38 |
|
---|
| 39 | virtual double powerDensAmpli(double theta,double phi) {
|
---|
| 40 | // Return power density Amplidude at coordinates
|
---|
| 41 | // W m-2 st-1 GHz-4, Vaut Prefac*DT(theta,phi)
|
---|
| 42 | double PDens= Prefac*DeltaT(theta,phi);
|
---|
| 43 | return PDens;
|
---|
| 44 | }
|
---|
| 45 | double DeltaT(double theta,double phi);
|
---|
| 46 | // Retourne 1. si l on pointe sur la source, 0. sinon
|
---|
| 47 |
|
---|
| 48 | // virtual double powerInterne(float theta, float phi, DetFilter const& Fil);
|
---|
| 49 | // return power (Watt/m2/steradian) in direction theta,phi
|
---|
| 50 | };
|
---|
| 51 | #endif
|
---|