source: JEM-EUSO/esaf_lal/tags/v1_r0/esaf/packages/common/atmosphere/include/LowtranAtmosphere.hh @ 117

Last change on this file since 117 was 117, checked in by moretto, 11 years ago

ESAF version compilable on mac OS

File size: 3.2 KB
Line 
1// $Id: LowtranAtmosphere.hh 2749 2006-07-04 13:16:23Z moreggia $
2// Corinne Berat created Apr,  2 2004
3
4
5#ifndef __LOWTRANATMOSPHERE_HH_
6#define __LOWTRANATMOSPHERE_HH_
7
8/*****************************************************************************
9 * ESAF: Euso Simulation and Analysis Framework                              *
10 *                                                                           *
11 *  Id: LowtranAtmosphere                                                    *
12 *  Package: atmosphere                                                      *
13 *  Coordinator: S. Moreggia, C. Berat                                       *
14 *                                                                           *
15 *****************************************************************************/
16
17//////////////////////////////////////////////////////////////////////////////
18//                                                                          //
19// LowtranAtmosphere                                                        //
20//                                                                          //
21// Atmosphere drawn from Lowtran                                            //
22//                                                                          //               
23//////////////////////////////////////////////////////////////////////////////
24
25#include "euso.hh"
26#include "Atmosphere.hh"
27#include "AtmosphereFactory.hh"
28#include "EsafMsgSource.hh"
29
30class LowtranAtmosphereData;
31
32class LowtranAtmosphere : public Atmosphere {
33public:
34
35    // create the single atmosphere instance as a LowtranAtmosphere object
36    static void CreateInstance();
37   
38    // To get specific parameters of children atmosphere
39    virtual Double_t GetValue(const string& parname) const {return 0;}
40   
41    // get date and geographic atmosphere parameters
42    virtual Double_t GetLatitude() const;
43    virtual Double_t GetLongitude() const;
44    virtual Double_t GetDate() const;
45   
46    // Following methods give relevant densities
47    virtual Double_t Pressure(Double_t h) const;   
48    virtual Double_t Temperature(Double_t h) const;
49    virtual Double_t AbsoluteHumidity(Double_t h) const;
50    virtual Double_t Air_Density(Double_t h) const;
51    virtual Double_t O_Density(Double_t h) const;
52    virtual Double_t O2_Density(Double_t h) const;
53    virtual Double_t O3_Density(Double_t h) const;
54    virtual Double_t O3_DensityPPMV(Double_t h) const;
55    virtual Double_t N2_Density(Double_t h) const;
56    virtual Double_t Aerosols_Density(string& type,Double_t h) const {return 0;}
57     
58    // Index as a function of altitude
59  //    virtual Double_t Index(Double_t h) const {return 0;}
60
61    EsafConfigClass(Atmosphere,LowtranAtmosphere)
62
63private:
64    // default ctor (not used)
65    LowtranAtmosphere() {}
66   
67    // ctor
68    LowtranAtmosphere(string);
69
70    // dtor
71    virtual ~LowtranAtmosphere();
72
73    // Build atmosphere according to config parameters
74    virtual void Build();
75   
76    // Calculate interpolations
77    Double_t Interpolate(string&,string&,Double_t) const;
78       
79    LowtranAtmosphereData* fData;
80
81    ClassDef(LowtranAtmosphere,0)
82};
83
84#endif  /* __LOWTRANATMOSPHERE_HH_ */
85
86
87
88
89
90
91
92
93
94
95
96
97
Note: See TracBrowser for help on using the repository browser.