| 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 | 
|---|