1 | #ifndef MARS_MRflEvtHeader
|
---|
2 | #define MARS_MRflEvtHeader
|
---|
3 |
|
---|
4 | #ifndef MARS_MParContainer
|
---|
5 | #include "MParContainer.h"
|
---|
6 | #endif
|
---|
7 |
|
---|
8 | #ifndef ROOT_TVector3
|
---|
9 | #include <TVector3.h>
|
---|
10 | #endif
|
---|
11 |
|
---|
12 | class MRflEvtHeader : public MParContainer
|
---|
13 | {
|
---|
14 | Int_t fEvtNumber;
|
---|
15 |
|
---|
16 | Float_t fEnergy; // [GeV] of primary
|
---|
17 |
|
---|
18 | TVector3 fMomentum; // versor of momentum of primary
|
---|
19 | TVector2 fCorePosition; // shower core position on ground
|
---|
20 |
|
---|
21 | Float_t fHeightFirstInt; // [cm] z coordinate (height) of first interaction
|
---|
22 |
|
---|
23 | Float_t fPhi; // Phi of the telescope
|
---|
24 | Float_t fTheta; // Theta of the telescope [rad]
|
---|
25 |
|
---|
26 | Float_t fNmax; // number of particles in shower maximum fitted by CORSIKA
|
---|
27 | Float_t fT0; // depth of first interaction point fitted by CORSIKA
|
---|
28 | Float_t fTmax; // depth of the shower maximum fitted by CORSIKA
|
---|
29 | Float_t fChi2; // quality of the fit to longit shower development
|
---|
30 |
|
---|
31 | /* Now follow the fraction of photons reaching the camera produced by *
|
---|
32 | * electrons, muons and other particles respectively: */
|
---|
33 | Float_t fEFraction; // elec_cph_fraction
|
---|
34 | Float_t fMFraction; // muon_cph_fraction
|
---|
35 | Float_t fOFraction; // other_cph_fraction
|
---|
36 |
|
---|
37 | public:
|
---|
38 | MRflEvtHeader(const char *name=NULL, const char *title=NULL);
|
---|
39 |
|
---|
40 | // Getter
|
---|
41 | Int_t GetEvtNumber() const { return fEvtNumber; }
|
---|
42 |
|
---|
43 | Float_t GetEnergy() const { return fEnergy; }
|
---|
44 |
|
---|
45 | const TVector3 &GetMomentum() const { return fMomentum; }
|
---|
46 | const TVector2 &GetCorePosition() const { return fCorePosition; }
|
---|
47 |
|
---|
48 | Float_t GetHeightFirstInt() const { return fHeightFirstInt; }
|
---|
49 |
|
---|
50 | Float_t GetPhi() const { return fPhi; }
|
---|
51 | Float_t GetTheta() const { return fTheta; }
|
---|
52 |
|
---|
53 | Float_t GetNmax() const { return fNmax; }
|
---|
54 | Float_t GetT0() const { return fT0; }
|
---|
55 | Float_t GetTmax() const { return fTmax; }
|
---|
56 | Float_t GetChi2() const { return fChi2; }
|
---|
57 |
|
---|
58 | Float_t GetEFraction() const { return fEFraction; }
|
---|
59 | Float_t GetMFraction() const { return fMFraction; }
|
---|
60 | Float_t GetOFraction() const { return fOFraction; }
|
---|
61 |
|
---|
62 | // Setter
|
---|
63 | void SetEvtNumber(Int_t n) { fEvtNumber = n; }
|
---|
64 | void SetEnergy(Float_t x) { fEnergy = x; }
|
---|
65 | void SetMomentum(const TVector3 &v) { fMomentum = v; }
|
---|
66 | void SetCorePosition(const TVector2 &v) { fCorePosition = v; }
|
---|
67 |
|
---|
68 | void SetMomentum(Float_t px, Float_t py, Float_t pz) { fMomentum = TVector3(px, py, pz); }
|
---|
69 | void SetCorePosition(Float_t cx, Float_t cy) { fCorePosition = TVector2(cx, cy); }
|
---|
70 | void SetHeightFirstInt(Float_t x) { fHeightFirstInt = x; }
|
---|
71 |
|
---|
72 | void SetPhi(Float_t x) { fPhi = x; }
|
---|
73 | void SetTheta(Float_t x) { fTheta = x; }
|
---|
74 |
|
---|
75 | void SetNmax(Float_t x) { fNmax = x ; }
|
---|
76 | void SetT0(Float_t x) { fT0 = x; }
|
---|
77 | void SetTmax(Float_t x) { fTmax = x ; }
|
---|
78 | void SetChi2(Float_t x) { fChi2 = x ; }
|
---|
79 |
|
---|
80 | void SetEFraction(Float_t x) { fEFraction = x ; }
|
---|
81 | void SetMFraction(Float_t x) { fMFraction = x ; }
|
---|
82 | void SetOFraction(Float_t x) { fOFraction = x ; }
|
---|
83 |
|
---|
84 | // TObject
|
---|
85 | void Print(Option_t *o="") const;
|
---|
86 |
|
---|
87 | ClassDef(MRflEvtHeader, 1) // Header of an event from the reflector program
|
---|
88 | };
|
---|
89 |
|
---|
90 | #endif
|
---|