source: trunk/Mars/mreflector/MRflEvtHeader.h@ 15013

Last change on this file since 15013 was 8765, checked in by tbretz, 17 years ago
*** empty log message ***
File size: 3.1 KB
Line 
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
12class 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
37public:
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
Note: See TracBrowser for help on using the repository browser.