// ESAF : Euso Simulation and Analysis Framework // $Id: RecoEventHeader.hh,v 1.21 2005/07/13 16:45:27 moreggia Exp $ // Marco Pallavicini created Nov, 18 2003 #ifndef __RECOEVENTHEADER_HH_ #define __RECOEVENTHEADER_HH_ #include "euso.hh" #include "TVector3.h" class ERunParameters; class EDetector; class RecoEventHeader { public: // ctor RecoEventHeader(); // dtor virtual ~RecoEventHeader(); // getters inline Int_t GetNum() const { return fNum; } inline Int_t GetRun() const { return fRun; } inline Int_t GetTrueNumPhotons() const { return fTrueNumPhotons; } inline Int_t GetTruePhotoElectrons() const { return fTruePhotoElectrons; } inline Int_t GetTrueNumFastOR() const { return fTrueNumFastOR; } inline Int_t GetNumCells() const { return fNumCells; } inline Int_t GetNumCellHits() const { return fNumCellHits; } inline Int_t GetNumFee() const { return fNumFee; } inline Int_t GetNumActiveFee() const { return fNumActiveFee; } inline Int_t GetNumAFee() const { return fNumAFee; } inline Float_t GetTrueTheta() const { return fTrueTheta; } inline Float_t GetTruePhi() const { return fTruePhi; } inline Float_t GetTrueEnergy() const { return fTrueEnergy; } inline Char_t *GetTrueParticleName() { return fTrueParticleName;} inline Int_t GetTrueParticleCode() const { return fTrueParticleCode;} inline const TVector3& GetTrueInitPos() const { return fTrueInitPos;} inline Float_t GetTrueX1() const { return fTrueX1; } inline const TVector3& GetTrueEarthImpact() const { return fTrueEarthImpact;} inline Float_t GetTrueEarthAge() const { return fTrueEarthAge;} inline const TVector3& GetTrueShowerMaxPos() const { return fTrueShowerMaxPos;} inline const TVector3& GetTrueFluoMaxPos() const { return fTrueFluoMaxPos;} inline Float_t GetTrueShowerXMax() const { return fTrueShowerXMax;} inline Float_t GetGtuLength() const {return fGtuLength;} inline ERunParameters* GetRunPars() const {return fRunPars;} inline EDetector* GetDetector() const {return fDetector;} inline Int_t GetTruePhotonsOnPupil() const { return fTruePhotonsOnPupil; } inline Int_t GetTrueFluoOnPupil() const { return fTrueFluoOnPupil; } inline Int_t GetTrueBackCerOnPupil() const { return fTrueBackCerOnPupil; } inline Float_t GetTrueHclouds() const { return fTrueHclouds; } private: Int_t fNum; // event number Int_t fRun; // run number Int_t fTruePhotonsOnPupil; // number of photons that entered pupil Int_t fTrueFluoOnPupil; // number of fluorescence photons that entered pupil Int_t fTrueBackCerOnPupil; // number of backscattered cerenkov that entered pupil Int_t fTrueNumPhotons; // number of photons that entered pupil Int_t fTruePhotoElectrons; // number of photons detected Int_t fTrueNumFastOR; // number of photons counted in macrocell Int_t fNumCells; // number of macrocells Int_t fNumCellHits; // number of macrocell hits Int_t fNumFee; // number of front end electronics Int_t fNumActiveFee; // number of fee with hits >= 1 Int_t fNumAFee; // number of analog front end Float_t fGtuLength; // Gtu Length (in ns, as it is in EElectronics) //MC Truth Float_t fTrueEnergy; // primary EECR energy (eV) Float_t fTrueTheta; // incidence angle (rad) Float_t fTruePhi; // azimuth; Phi=0 corresponds Y=0 Char_t fTrueParticleName[20]; // particle name (see above) Int_t fTrueParticleCode; // same as name with code instead of strings TVector3 fTrueInitPos; // first interaction point (3D coord, Km) Float_t fTrueX1; // interaction depth in g/cm^2 TVector3 fTrueEarthImpact; // impact of shower on earth (clouds ignored) Float_t fTrueEarthAge; // age of the shower at impact TVector3 fTrueShowerMaxPos; // shower max position (3D coord, Km) TVector3 fTrueFluoMaxPos; // Fluo profile max position (3D coord, Km) Float_t fTrueShowerXMax; // shower max depth (g/cm^2) Float_t fTrueHclouds; // altitude of the clouds. smaller than 0 means no clouds ERunParameters* fRunPars; // pointer to ERunParameters EDetector* fDetector; // pointer to Detector friend class RootInputModule; ClassDef(RecoEventHeader,0) }; #endif /* __RECOEVENTHEADER_HH_ */