// ESAF : Euso Simulation and Analysis Framework // $Id: HmaxByShapeMethodModule.hh,v 1.11 2004/09/27 19:15:57 naumov Exp $ // Dmitry V. Naumov created Jun, 6 2004 #ifndef __HMAXBYSHAPEMETHODMODULE_HH_ #define __HMAXBYSHAPEMETHODMODULE_HH_ #include "euso.hh" #include "RecoModule.hh" #include "RecoPixelData.hh" #include #include class RecoRootEvent; class TCanvas; class TH1F; class TF1; class HmaxByShapeMethodModule : public RecoModule { public: // ctor HmaxByShapeMethodModule(); // dtor virtual ~HmaxByShapeMethodModule(); // Init method: called at the beginning of a run Bool_t Init(); // called before each event process Bool_t PreProcess(); // event processing Bool_t Process( RecoEvent* ); // called after processing an event Bool_t PostProcess(); // save root output virtual Bool_t SaveRootData( RecoRootEvent* ); // called at the end of each run Bool_t Done(); // memory clean void UserMemoryClean(); // Get background Float_t GetBackground() {return fMeanBackground;} // returns cluster const vector& GetClusters( ) const {return cluster;} Double_t GetEnergy() {return fEnergy;} Double_t GetTheta() {return fTheta;} Float_t GetFluorMaxTime() {return fFluorMaxTime;} Double_t GetDensity() {return fDensity;} void GetAltitude(); Int_t PixelId(Double_t); Double_t nOmega(Double_t); Double_t DeltaL(Double_t); void DensityToAltitude(); private: Int_t fNum; // event number vector fPointsId; // vector cluster; // all cluster in one vector RecoEvent *fEv; // pointer to the reco event Int_t fNumPoints; Int_t fNumHits; Double_t fEnergy; // assumed energy Double_t fTheta; // reconstrustructed from the previous module Theta zenith angle Double_t fPhi; // reconstrustructed from the previous module Phi azimuthal angle Double_t fAltitude; // reconstructed altitude of shower maximum Double_t fDensity; // reconstructed air density at the shower maximum position Int_t fFluorMaxAt; // hit number corresponding to the fluorescent maximum TVector3 fOmega; // reconstructed unit vector along the shower direction Float_t fGtuLength; // Gate Time Unit length in microsecond Float_t fFirstHit; // First time hit of the event Float_t fLastHit; // Last time hit of the event Float_t fMeanBackground; // Mean value of the background in the event TH1F* fTemp; // temporary histogram TF1* fFitFcn; // Fit function TF1* fFluor; // Fluoresence fit function Float_t fChi2; // Chi2/NDF after the fit Double_t fFluorMaxPe; // Fitted Number of p.e. in fluorescence maximum Double_t fFluorMaxPeObs; // Observed Number of p.e. in fluorescence maximum Double_t fFluorMaxTime; // Time corresponding to fluorescence maximum TCanvas* fc; // Canvas for drawings TString fEventTag; // Unique Event tag number ClassDef(HmaxByShapeMethodModule,0) }; #endif /* __HMAXBYSHAPEMETHODMODULE_HH_ */