| Line |   | 
|---|
| 1 |                         // Dominique YVON, CEA/DAPNIA/SPP 02/2000
 | 
|---|
| 2 | 
 | 
|---|
| 3 | #include <stdio.h>
 | 
|---|
| 4 | #include <stdlib.h>
 | 
|---|
| 5 | #include <math.h>
 | 
|---|
| 6 | #ifdef __MWERKS__
 | 
|---|
| 7 |     
 | 
|---|
| 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.