// $Id: RecoTruth.hh,v 1.8 2005/10/02 14:18:08 thea Exp $ // Author: R.Pesce 2005/01/04 /***************************************************************************** * ESAF: Euso Simulation and Analysis Framework * * * * Id: RecoTruth * * Package: * * Coordinator: * * * *****************************************************************************/ #ifndef __RECOTRUTH_HH__ #define __RECOTRUTH_HH__ #include "TObject.h" #include "TVector3.h" #include "ESystemOfUnits.hh" //////////////////////////////////////////////////////////////////////////////// // // // RecoTruth // // // // // // // //////////////////////////////////////////////////////////////////////////////// class RecoTruth : public TObject { public: RecoTruth(); //ctor RecoTruth( const RecoTruth& ); //copy ctor virtual ~RecoTruth(); //dtor virtual void Copy( TObject& ) const; //copy to a new obj void Clear(); //clear method //setters inline void SetEnergy(Double_t t) {fEnergy = t;} inline void SetTheta(Double_t t) {fTheta = t;} inline void SetPhi(Double_t t) {fPhi = t;} inline void SetX1(Double_t t) {fX1 = t;} inline void SetInitPos(TVector3 t) { fInitPosX = t.X()/sou::km; fInitPosY = t.Y()/sou::km; fInitPosZ = t.Z()/sou::km; } inline void SetEarthImpact(TVector3 t) { fEarthImpactX = t.X()/sou::km; fEarthImpactY = t.Y()/sou::km; fEarthImpactZ = t.Z()/sou::km; } inline void SetEarthAge(Double_t t) {fEarthAge = t;} inline void SetXMax(Double_t t) {fXMax = t;} inline void SetMaxPos(TVector3 t) { fMaxPosX = t.X()/sou::km; fMaxPosY = t.Y()/sou::km; fMaxPosZ = t.Z()/sou::km; } inline void SetHclouds( Float_t h ) { fHclouds = h; } //getters inline Double_t GetEnergy() const { return fEnergy; } inline Double_t GetTheta() const { return fTheta; } inline Double_t GetPhi() const { return fPhi; } inline Double_t GetX1() const { return fX1; } inline Double_t GetXmax() const { return fXMax; } inline Double_t GetHmax() const { return fMaxPosZ; } inline Double_t GetEarthAge() const { return fEarthAge;} inline TVector3 GetInitPos() const {return TVector3(fInitPosX,fInitPosY,fInitPosZ);} inline TVector3 GetMaxPos() const {return TVector3(fMaxPosX,fMaxPosY,fMaxPosZ);} inline TVector3 GetEarthImpact() const {return TVector3(fEarthImpactX,fEarthImpactY,fEarthImpactZ);} Double_t GetInitPos( Int_t ) const; Double_t GetMaxPos( Int_t ) const; Double_t GetEarthImpact( Int_t ) const; inline Double_t GetHclouds() const { return fHclouds; } private: Double_t fEnergy; Double_t fTheta; Double_t fPhi; Double_t fX1; Double_t fInitPosX; Double_t fInitPosY; Double_t fInitPosZ; Double_t fMaxPosX; Double_t fMaxPosY; Double_t fMaxPosZ; Double_t fXMax; Double_t fEarthImpactX; Double_t fEarthImpactY; Double_t fEarthImpactZ; Double_t fEarthAge; Double_t fHclouds; ClassDef(RecoTruth,1) }; #endif /* __RECOTRUTH_HH__ */