| Rev | Line |  | 
|---|
| [801] | 1 | // Dominique YVON, CEA/DAPNIA/SPP 02/2000 | 
|---|
|  | 2 |  | 
|---|
|  | 3 | #include <stdio.h> | 
|---|
|  | 4 | #include <stdlib.h> | 
|---|
|  | 5 | #include <math.h> | 
|---|
|  | 6 | #ifdef __MWERKS__ | 
|---|
| [1148] | 7 |  | 
|---|
| [801] | 8 | //   #include "unixmac.h" | 
|---|
|  | 9 | #endif | 
|---|
|  | 10 | #include "strutil.h" | 
|---|
|  | 11 | #include "quasiptsources.h" | 
|---|
|  | 12 |  | 
|---|
|  | 13 |  | 
|---|
|  | 14 |  | 
|---|
|  | 15 | QuasiPtSources::QuasiPtSources(double tempe,double angsiz,double theta,double phi) | 
|---|
|  | 16 | :AngSize(angsiz),MyTheta(theta),MyPhi(phi),SurfaceTemperature(tempe) | 
|---|
|  | 17 | { | 
|---|
|  | 18 | QPtSource="true"; | 
|---|
|  | 19 | resolution=angsiz/1.5; | 
|---|
|  | 20 | h_kT=6.62e-34/1.38e-23/SurfaceTemperature;                            // Dimension 1/Hz | 
|---|
|  | 21 | Prefac=8*M_PI*6.626e-34/9.e16;                // 8*Pi*h/c2 == J m-2 st-1 hz-3 | 
|---|
|  | 22 | // Ou W m-2 st-1 Hz-4 | 
|---|
|  | 23 | CosAngSize=cos(AngSize); | 
|---|
|  | 24 |  | 
|---|
|  | 25 | pVSource= new UnitVector(MyTheta,MyPhi); | 
|---|
|  | 26 | } | 
|---|
|  | 27 |  | 
|---|
|  | 28 | QuasiPtSources::~QuasiPtSources(){ | 
|---|
|  | 29 | delete pVSource; | 
|---|
|  | 30 | } | 
|---|
|  | 31 |  | 
|---|
|  | 32 | void QuasiPtSources::SetSourceCoor(double theta,double phi){ | 
|---|
|  | 33 | delete pVSource; | 
|---|
|  | 34 | MyTheta=theta; | 
|---|
|  | 35 | MyPhi=phi; | 
|---|
|  | 36 | pVSource= new UnitVector(MyTheta,MyPhi); | 
|---|
|  | 37 | return; | 
|---|
|  | 38 | } | 
|---|
|  | 39 |  | 
|---|
|  | 40 | UnitVector QuasiPtSources::GetVSrcCenter() | 
|---|
|  | 41 | {  return *pVSource; | 
|---|
|  | 42 | } | 
|---|
|  | 43 |  | 
|---|
|  | 44 | double QuasiPtSources::DeltaT(double theta,double phi) { | 
|---|
|  | 45 | // sans dimensions ici | 
|---|
|  | 46 | UnitVector Vec(theta,phi); | 
|---|
|  | 47 | double test1= Vec*GetVSrcCenter(); | 
|---|
|  | 48 | if(test1>CosAngSize) return 1.; | 
|---|
|  | 49 | else return 0; | 
|---|
|  | 50 | } | 
|---|
|  | 51 |  | 
|---|
|  | 52 | double QuasiPtSources::spectre(double freq){ | 
|---|
|  | 53 | // sans dimentions? Oui si on imagine que freq est en Hz!! | 
|---|
|  | 54 | // en Fait Hz^3 | 
|---|
|  | 55 | double returnval=freq*freq*freq/(exp(h_kT*freq)-1.); | 
|---|
|  | 56 | return returnval; | 
|---|
|  | 57 | } | 
|---|
|  | 58 |  | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.