// ESAF : Euso Simulation and Analysis Framework // $Id: EusoHistoFactory.hh,v 1.5 2005/10/18 23:17:30 thea Exp $ // Singleton to create standard histograms for GUI // Each method of this class can produce a canvas with standard plot // for a single event or to compare different events // M.Pallavicini created Apr, 18 2003 #ifndef __EUSOHISTOFACTORY_HH_ #define __EUSOHISTOFACTORY_HH_ #include "TH1.h" #include "euso.hh" class EEvent; class TCanvas; class TTree; enum EusoStandardHistoId { HS_GTUTIME_1, HS_PHOTON_PHICOSTH_1, HS_PHOTON_XY_1, HS_PHOTON_WLXY_1, HG_TRIGGER_EFF_1 }; class EusoHistoFactory { public: virtual ~EusoHistoFactory(); static EusoHistoFactory *Get(); // event histograms (grouped in standard pads) void DoHisto(EusoStandardHistoId, EEvent*, TCanvas* c=0); // global histogram on a tree void DoGlobalHisto(EusoStandardHistoId,TTree*,TCanvas* c=0); // Close windows if any void Close(); private: EusoHistoFactory(); static EusoHistoFactory *fMe; inline void SetCanvas( TCanvas* val) { pCanvas = val;} inline TCanvas* Canvas() { return pCanvas;} TCanvas *pCanvas; // single event histograms // Time distribution of photons at various stage of Euso detector void DoGtuPhotonsHisto(EEvent*,TCanvas *c); void DoPhiCosThetaHisto(EEvent*,TCanvas *c); //Photons in plane XY at various stage of Eudo detector void DoXYHisto(EEvent* ev, TCanvas *c); //Photons in plane XY on IFS at different wavelengths void DoWavelengthXYHisto(EEvent* ev, TCanvas *c); // gloabal histograms void DoTriggerEffic1(TTree*,TCanvas*); ClassDef(EusoHistoFactory,0) }; #endif /* __EUSOHISTOFACTORY_HH_ */