source: Sophya/trunk/SigPredictor/quasiptsources.cc@ 3468

Last change on this file since 3468 was 1148, checked in by ansari, 25 years ago

mise a jour

File size: 1.3 KB
RevLine 
[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
15QuasiPtSources::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
28QuasiPtSources::~QuasiPtSources(){
29 delete pVSource;
30}
31
32void 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
40UnitVector QuasiPtSources::GetVSrcCenter()
41{ return *pVSource;
42}
43
44double 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
52double 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.