Changeset 1148 in Sophya for trunk/SigPredictor/sigcalctools.h


Ignore:
Timestamp:
Aug 29, 2000, 12:03:24 PM (25 years ago)
Author:
ansari
Message:

mise a jour

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SigPredictor/sigcalctools.h

    r801 r1148  
    44#define SigCalcTools_H
    55
    6 #include "pixelmap.h"
    76#include "abslightsource.h"
    8 #include "abslobenopolar.h"
    9 #include "specresp.h"
     7#include "abscalctool.h"
     8
    109#include "integ.h"
    1110
    1211enum CalcOptions {NonSeparable,AllSeparable,IsLightMapPowerInband};
    1312
    14 class SigCalcTool {
     13class SigCalcTool:public AbsCalcTool {
    1514friend double SigCalGLFreqFunc1(double freq);
    1615friend double SigCalGLFreqFunc2(double freq);
     
    2625        SigCalcToolInit();
    2726 }
    28  double compPixel(double theta, double phi);
    29     // Return power on detector (Watt/m2) for this Lobe and filter
    30     // Pointing at these ccordinates.
    31     // Exact if lobes are symmetrical by rotation around pointed axe
    3227 
    3328 double compPixel(UnitVector& VP, UnitVector& VY);
     
    3530    // Pointing at these ccordinates. with this telescope orientation
    3631    // 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
    3843 double CalcLobeSize(double frequency= -10.);
    3944 // Calcule l'extension spatiale du lobe de cet outil
     
    4348 // Doit EVOLUER SI powerInteg CHANGE;
    4449 
    45  double NormKelvinRayleighJeans();
    46         // Compute te normalisation factor to go from Watt/m2 to KelvinRaleighJeans
    47         // same computation option than the map options
    48         // KelvinRJ/(Watt/m2)
    49        
    50  double NormKelvinCMB();
    51         // Compute te normalisation factor to go from Watt/m2 to KelvinCMB
    52         // same computation option than the map options
    53         // KelvinCMB/(Watt/m2)
    54        
    55 // double CalcInBandPower(double theta, double phi);
    56         // return pwwer density (W/m2/st) integred over frequency response
    57         // of LSource, Filter and Lobe
    5850       
    5951// Ces fonctions servent au hackingtools. elle palient le fait que je n'ai pas reussi
     
    6860 inline double getFreqMax() {return FreqMax;}
    6961 inline double getIntegSpectOverFreq() {return IntegSpectOverFreq;}
     62 
     63
    7064 
    7165protected:
    7266 AbsLightSource* pLSrc;
    73  AbsLobeNoPolar* pLobe;
    74  SpectralResponse* pFilter;
    7567 CalcOptions Option;    // Used to drives computations optimisations
    7668 GLInteg* pIntegrale;
    7769 
    7870 bool emptySignal;
    79  double RAngComp;               // angular resolution of computations
    80  
    81  double FreqMax;                // Hz
    82  double FreqMin;                // Hz
    8371 double IntegSpectOverFreq;
    8472
     
    10290 double calcPowerDens() const;
    10391        // compute the power integrated on frequency dependance, (Lobe and LightSource and filter)
    104     // on pourra en avoir plusieur versions
     92   // on pourra en avoir plusieur versions
    10593 
    10694 double powerInteg();
     
    11098        // WeigthVsFreq
    11199
    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;
    119101};
    120102
    121 // Tools for computing Maps
    122 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 axe
    126         // Return a map at the requested resolution and frequency
    127 
    128 // Tools for manipulating maps 
    129 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);
    135103
    136104#endif
Note: See TracChangeset for help on using the changeset viewer.