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