| 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 | ClassDef(MRflEvtHeader, 1) // Header of an event from the reflector program
|
|---|
| 85 | };
|
|---|
| 86 |
|
|---|
| 87 | #endif
|
|---|