Atmosphere
| #include "Atmosphere.hh" |
Atmosphere
class description - source file - inheritance tree (.pdf)
class Atmosphere : public EsafConfigurable, public EsafMsgSource
| Inheritance Chart: | |||||||||||||||||||||
|
This is an abstract class, constructors will not be documented.
Look at the header to check for available constructors.
protected:
virtual ~Atmosphere()
public:
virtual Double_t AbsoluteHumidity(Double_t h) const
Double_t AbsoluteHumidity(const EarthVector& v) const
virtual Double_t Aerosols_Density(string& type, Double_t h) const
Double_t Aerosols_Density(string& type, const EarthVector& v) const
virtual Double_t Air_Density(Double_t h) const
Double_t Air_Density(const EarthVector& v) const
virtual void Build()
static TClass* Class()
virtual const char* ClassName() const
virtual const char* ClassType() const
Double_t Depth(const Double_t, const Double_t Theta) const
static const Atmosphere* Get() const
const Clouds* GetClouds() const
virtual Double_t GetDate() const
Double_t GetDepthCalculationPrecision()
virtual Double_t GetLatitude() const
virtual Double_t GetLongitude() const
string GetType() const
virtual Double_t GetValue(const string& parname) const
Double_t Grammage(const EarthVector& pos1, const EarthVector& V2, string opt = pos, Double_t maxalt = 100*sou::km) const
EarthVector ImpactASL(const EarthVector&, const EarthVector&) const
EarthVector ImpactAtTOA(const EarthVector&, const EarthVector&, Double_t TOA_alt = 100.*sou::km) const
long double Index(Double_t h, Double_t wl = 350*sou::nm) const
long double Index(const EarthVector& v, Double_t wl = 350*sou::nm) const
Double_t Index_Minus1(Double_t h, Double_t wl = 350*sou::nm) const
Int_t InvertGrammage(const EarthVector& pos1, const EarthVector& dir, Double_t depth, EarthVector& rtn, Double_t maxtof = -1.) const
virtual TClass* IsA() const
virtual Double_t N2_Density(Double_t h) const
Double_t N2_Density(const EarthVector& v) const
virtual Double_t O2_Density(Double_t h) const
Double_t O2_Density(const EarthVector& v) const
virtual Double_t O3_Density(Double_t h) const
Double_t O3_Density(const EarthVector& v) const
virtual Double_t O_Density(Double_t h) const
Double_t O_Density(const EarthVector& v) const
virtual Double_t Pressure(Double_t h) const
Double_t Pressure(const EarthVector& v) const
static void Reset()
void ResetClouds() const
void SetDepthCalculationPrecision(Double_t t = 1.e-5)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
virtual Double_t Temperature(Double_t h) const
Double_t Temperature(const EarthVector& v) const
Double_t WaterVaporPartialPressure(Double_t h) const
Double_t WaterVaporPartialPressure(const EarthVector& v) const
Data Members
protected:
string fType type of atmosphere
static Atmosphere* fChild contains the configured atmosphere object
Clouds* fClouds clouds object (mutable for reset)
Double_t fDepthCalculationPrecision Precision for the Root Integration used to compute the atmosphere depth
Class Description
Atmosphere <extensive class description> Config file parameters ====================== <parameter name>: <parameter description> -Valid options: <available options>
~Atmosphere()
dtor
const Atmosphere* Get()
Static method to get the right atmosphere singleton from anywhere in the code
void Reset()
Static method to delete atmosphere
Double_t Index_Minus1(Double_t h, Double_t wl) const
Returns (n-1) at a given altitude By default, it is taken CONSTANT with wavelength (lambda=350nm) (formula drawn from Reinhard Beer, Hanbook of Optics, Chap.2)
Double_t Grammage(const EarthVector& V1, const EarthVector& V2, string opt, Double_t maxalt) const
Calculate grammage - opt = pos : between two positions V1, V2 in the atmosphere - opt = dir : from a point V1 until atmosphere top, along a track of given angles (V2 thus used for direction)
Int_t InvertGrammage(const EarthVector& pos1, const EarthVector& direc, Double_t depth, EarthVector& rtn, Double_t maxtof) const
calculate final position for given pos1,direc and air depth
it returns : -1 if pos1 is under sea level or if none impact (latter should not occur)
0 if position found
1 if TOF cut
2 if TOA reached before
3 if sea level reached before
EarthVector ImpactASL(const EarthVector& pos, const EarthVector& dir) const
returns impact at sea level of a track defined by starting position and direction
EarthVector ImpactAtTOA(const EarthVector& pos, const EarthVector& dir, Double_t TOA_alt) const
returns impact at Top Of Atmosphere of a track defined by starting position and direction TOA set at 100km altitude by default, but can also be set by dvper (cf. InvertGrammage() method)
Double_t Depth(const Double_t H, const Double_t Theta) const
Compute the atmosphere depth between the given point with (h,theta) coordinates and infinity
Inline Functions
void Build()
void ResetClouds() const
string GetType() const
Double_t GetValue(const string& parname) const
Double_t GetLatitude() const
Double_t GetLongitude() const
Double_t GetDate() const
Double_t Pressure(Double_t h) const
Double_t Pressure(const EarthVector& v) const
Double_t WaterVaporPartialPressure(Double_t h) const
Double_t WaterVaporPartialPressure(const EarthVector& v) const
Double_t Temperature(Double_t h) const
Double_t Temperature(const EarthVector& v) const
Double_t AbsoluteHumidity(Double_t h) const
Double_t AbsoluteHumidity(const EarthVector& v) const
Double_t Air_Density(Double_t h) const
Double_t Air_Density(const EarthVector& v) const
Double_t O_Density(Double_t h) const
Double_t O_Density(const EarthVector& v) const
Double_t O2_Density(Double_t h) const
Double_t O2_Density(const EarthVector& v) const
Double_t O3_Density(Double_t h) const
Double_t O3_Density(const EarthVector& v) const
Double_t N2_Density(Double_t h) const
Double_t N2_Density(const EarthVector& v) const
Double_t Aerosols_Density(string& type, Double_t h) const
Double_t Aerosols_Density(string& type, const EarthVector& v) const
long double Index(Double_t h, Double_t wl = 350*sou::nm) const
long double Index(const EarthVector& v, Double_t wl = 350*sou::nm) const
void SetDepthCalculationPrecision(Double_t t = 1.e-5)
Double_t GetDepthCalculationPrecision()
const Clouds* GetClouds() const
const char* ClassType() const
const char* ClassName() const
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
