source: JEM-EUSO/esaf_cc_at_lal/packages/common/atmosphere/include/NoClouds.hh @ 114

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

actual version of ESAF at CCin2p3

File size: 3.1 KB
Line 
1// $Id: NoClouds.hh 2794 2008-02-11 07:56:34Z naumov $
2// Author: Sylvain Moreggia   2005/04/13
3
4/*****************************************************************************
5 * ESAF: Euso Simulation and Analysis Framework                              *
6 *                                                                           *
7 *  Id: NoClouds                                                           *
8 *  Package: Atmosphere                                                   *
9 *  Coordinator: Moreggia S.                                               *
10 *                                                                           *
11 *****************************************************************************/
12
13#ifndef __NOCLOUDS_HH__
14#define __NOCLOUDS_HH__
15
16#include "euso.hh"
17#include "Clouds.hh"
18#include "EarthVector.hh"
19#include <TMath.h>
20
21////////////////////////////////////////////////////////////////////////////////
22//                                                                            //
23// NoClouds                                                                 //
24//                                                                            // 
25// When no clouds in the simulation. Returns dummy values.                   // 
26//                                                                            // 
27////////////////////////////////////////////////////////////////////////////////
28
29class NoClouds : public Clouds {
30public:
31    // ctor
32    NoClouds();
33   
34    // dtor
35    virtual ~NoClouds();
36   
37    // Return no impact, i.e. (0,0,HUGE)
38    inline virtual EarthVector GetCloudImpact(const EarthVector& pos, const EarthVector& dir,string opt = "default") const {return EarthVector(0,0,HUGE);}
39
40    // to know if a position is within clouds
41    virtual Bool_t IsInClouds(const EarthVector&) const {return false;}
42
43    // Returns the total OD along a direction
44    virtual Double_t TotalOD(const EarthVector&,const EarthVector&) const {return 0;}
45   
46    // returns a scattering position along a given track
47    virtual EarthVector RandomScatPos(const EarthVector&,const EarthVector&) const {return EarthVector(0,0,HUGE);}
48   
49    // set incoming direction to the outgoing direction after scattering
50    virtual void RandomDir(EarthVector&) const {}
51   
52    // clouds scattering phase function - Normalized when integrated over full solid angle
53    virtual Double_t PhaseFunction(const EarthVector&,const EarthVector&) const {return 0;}
54   
55    // clouds scattering phase function - Normalized when integrated over full solid angle
56    // truncated because the strong forward peak (mie scattering) is removed
57    virtual Double_t TruncatedPhaseFunction(const EarthVector&,const EarthVector&) const {return 0;}
58   
59    // returns maximum value of currently used scattering phase function
60    virtual Double_t GetMaxPhaseFunction(string opt = "real") const {return 0.;}
61   
62   
63    // reset
64    virtual void Reset() {}
65
66private:
67   
68    // read config files
69    virtual void Configure() {}
70   
71    // build the configured object
72    virtual void Build() {}
73
74    ClassDef(NoClouds,0)
75};
76
77#endif  /* __NOCLOUDS_HH__ */
78
Note: See TracBrowser for help on using the repository browser.