source: JEM-EUSO/esaf_cc_at_lal/packages/common/root/include/EAtmosphere.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: 2.0 KB
Line 
1// ESAF : Euso Simulation and Analysis Framework
2// $Id: EAtmosphere.hh 2605 2006-03-20 23:41:19Z thea $
3// Alessandro Thea created May, 28 2004
4
5#ifndef __EATMOSPHERE_HH_
6#define __EATMOSPHERE_HH_
7
8#include "TObject.h"
9#include "TClonesArray.h"
10
11#include "EFillable.hh"
12
13class EBunchPhotons;
14class ESinglePhoton;
15
16class EAtmosphere : public TObject, public EFillable {
17public:
18    EAtmosphere();
19    // ctor
20
21    EAtmosphere(const EAtmosphere&);
22    // copy ctor
23
24    virtual ~EAtmosphere();
25    // dtor
26
27    virtual void Copy( TObject& ) const;
28    // copy this
29
30    virtual void Clear( Option_t* ="" );
31    virtual void ClearAndShrink( Option_t* ="" );
32
33    inline static EAtmosphere* GetCurrent() { return fgCurrent; }
34    inline static void SetCurrent(EAtmosphere *ev) { fgCurrent=ev; }
35
36    // getters
37    inline Int_t GetNumBunches() {return fNumBunches; }
38    inline Int_t GetNumSingles() { return fNumSingles; }
39    inline Int_t GetMaxScatOrder() {return fMaxScatOrder;}
40    inline EBunchPhotons* GetBunch( Int_t i ) { return (EBunchPhotons*)fBunches->At(i); }
41    inline ESinglePhoton* GetSingle( Int_t i ) { return (ESinglePhoton*)fSingles->At(i); }
42    inline void SetMaxScatOrder(Int_t i) {fMaxScatOrder = i;}
43
44    void AddTestPhoton();
45    void AddTestBunch(Int_t);
46
47private:
48
49    Int_t fNumBunches;       // number of bunch photons
50    Int_t fNumSingles;       // number of single photons
51    Int_t fMaxScatOrder;     // (for MCRadiativeTransfer only) Maximum scattering order simulated
52    TClonesArray *fBunches;  //->
53    TClonesArray *fSingles;  //->
54
55//    static TClonesArray *fgBunches;
56//    static TClonesArray *fgSingles;
57
58    // the following is needed to handle events built with the copy constructor
59    // in this case the TClonesArray are handled differently
60    Bool_t fCopy;
61    inline void SetCopy(Bool_t val = kTRUE ) { fCopy = val; }
62    inline Bool_t IsCopy() const { return fCopy;}
63   
64    static EAtmosphere* fgCurrent;
65
66    SetEVisitable()   
67
68    ClassDef(EAtmosphere,1)
69};
70
71#endif  /* __EATMOSPHERE_HH_ */
72
Note: See TracBrowser for help on using the repository browser.