Changeset 1148 in Sophya for trunk/SigPredictor/sigcalctools.h
- Timestamp:
- Aug 29, 2000, 12:03:24 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SigPredictor/sigcalctools.h
r801 r1148 4 4 #define SigCalcTools_H 5 5 6 #include "pixelmap.h"7 6 #include "abslightsource.h" 8 #include "abs lobenopolar.h"9 #include "specresp.h" 7 #include "abscalctool.h" 8 10 9 #include "integ.h" 11 10 12 11 enum CalcOptions {NonSeparable,AllSeparable,IsLightMapPowerInband}; 13 12 14 class SigCalcTool {13 class SigCalcTool:public AbsCalcTool { 15 14 friend double SigCalGLFreqFunc1(double freq); 16 15 friend double SigCalGLFreqFunc2(double freq); … … 26 25 SigCalcToolInit(); 27 26 } 28 double compPixel(double theta, double phi);29 // Return power on detector (Watt/m2) for this Lobe and filter30 // Pointing at these ccordinates.31 // Exact if lobes are symmetrical by rotation around pointed axe32 27 33 28 double compPixel(UnitVector& VP, UnitVector& VY); … … 35 30 // Pointing at these ccordinates. with this telescope orientation 36 31 // Exact 37 32 33 virtual void print(ostream& ReadMe) 34 { ReadMe<<" La source physique: "<<endl; 35 pLSrc->print(ReadMe); 36 ReadMe<<" Le Lobe : "<<endl; 37 pLobe->print(ReadMe); 38 ReadMe<<" Le Filtre: "<<endl; 39 pFilter->Print(ReadMe); 40 ReadMe<<endl; 41 } 42 38 43 double CalcLobeSize(double frequency= -10.); 39 44 // Calcule l'extension spatiale du lobe de cet outil … … 43 48 // Doit EVOLUER SI powerInteg CHANGE; 44 49 45 double NormKelvinRayleighJeans();46 // Compute te normalisation factor to go from Watt/m2 to KelvinRaleighJeans47 // same computation option than the map options48 // KelvinRJ/(Watt/m2)49 50 double NormKelvinCMB();51 // Compute te normalisation factor to go from Watt/m2 to KelvinCMB52 // same computation option than the map options53 // KelvinCMB/(Watt/m2)54 55 // double CalcInBandPower(double theta, double phi);56 // return pwwer density (W/m2/st) integred over frequency response57 // of LSource, Filter and Lobe58 50 59 51 // Ces fonctions servent au hackingtools. elle palient le fait que je n'ai pas reussi … … 68 60 inline double getFreqMax() {return FreqMax;} 69 61 inline double getIntegSpectOverFreq() {return IntegSpectOverFreq;} 62 63 70 64 71 65 protected: 72 66 AbsLightSource* pLSrc; 73 AbsLobeNoPolar* pLobe;74 SpectralResponse* pFilter;75 67 CalcOptions Option; // Used to drives computations optimisations 76 68 GLInteg* pIntegrale; 77 69 78 70 bool emptySignal; 79 double RAngComp; // angular resolution of computations80 81 double FreqMax; // Hz82 double FreqMin; // Hz83 71 double IntegSpectOverFreq; 84 72 … … 102 90 double calcPowerDens() const; 103 91 // compute the power integrated on frequency dependance, (Lobe and LightSource and filter) 104 92 // on pourra en avoir plusieur versions 105 93 106 94 double powerInteg(); … … 110 98 // WeigthVsFreq 111 99 112 // Computation tools 113 // Math tools !!!!!!!------------------------------------------------------- 114 inline double max(double a, double b)const; 115 inline double min(double a, double b)const; 116 //compute solid angle between cones of aperture angles ang1 and ang2 117 118 inline double diffSolidAng(double ang1,double ang2) const; 100 virtual double diffSolidAng(double ang1,double ang2) const; 119 101 }; 120 102 121 // Tools for computing Maps122 template <class T> void addToSkyMap(PixelMap<T>& Map, SigCalcTool& Tool);123 template <class T> void compSkyMap(PixelMap<T>& Map, SigCalcTool& Tool);124 template <class T> void addInInBandPowerMap(PixelMap<T>& Map, SigCalcTool& tool);125 // Exact if lobes are symmetrical by rotation around pointed axe126 // Return a map at the requested resolution and frequency127 128 // Tools for manipulating maps129 template <class T1, class T2> void addMap(PixelMap<T1>& Map, PixelMap<T2>& Map2);130 template <class T1, class T2> void substractMap(PixelMap<T1>& Map, PixelMap<T2>& Map2);131 template <class T1, class T2> void divMap1WithMap2(PixelMap<T1>& Map, PixelMap<T2>& Map2);132 template <class T> void scaleMap(double scalefactor, PixelMap<T>& Map);133 template <class T> int MinMaxSigMap(PixelMap<T>& Map, double& Min,134 double& Max, double& Moy, double& Var);135 103 136 104 #endif
Note:
See TracChangeset
for help on using the changeset viewer.