00001 00010 #ifndef GENHISTS_H 00011 #define GENHISTS_H 00012 00013 00014 #include "GaudiAlg/GaudiAlgorithm.h" 00015 00016 #include <string> 00017 00018 class ITHistSvc; 00019 class IGeometryInfo; 00020 class TH1F; 00021 class TH2F; 00022 class TH1I; 00023 00024 00025 class GenHists : public GaudiAlgorithm 00026 { 00027 00028 public: 00029 00030 GenHists(const std::string& name, ISvcLocator* pSvcLocator); 00031 virtual ~GenHists(); 00032 00033 virtual StatusCode initialize(); 00034 virtual StatusCode execute(); 00035 virtual StatusCode finalize(); 00036 00037 private: 00038 00041 std::string m_location; 00042 00045 std::string m_volume; 00046 00049 std::string m_filepath; 00050 00052 double m_maxEnergy; 00053 00055 double m_energyUnits; 00056 00057 private: 00058 00059 // Try to find bounds of vertices 00060 StatusCode BookVertices(); 00061 00062 // Locally cached pointer to the (T) histogram service 00063 ITHistSvc* m_hsvc; 00064 00065 // Locally cached pointer to the GI of the volume of generation 00066 IGeometryInfo* m_geo; 00067 00068 // Locally cached pointers to histograms; 00069 TH1I* m_nKineParts; 00070 TH1F *m_kineEnergy, *m_vtxTime; 00071 TH2F *m_xy, *m_yz, *m_xz; 00072 }; 00073 00074 00075 00076 #endif // GENHISTS_H