00001 #ifndef DRAWHISTORYALG_H 00002 #define DRAWHISTORYALG_H 00003 00004 #include "GaudiAlg/GaudiAlgorithm.h" 00005 00006 class IParticlePropertySvc; 00007 namespace DayaBay { 00008 class SimVertex; 00009 } 00010 00011 class DrawHistoryAlg : public GaudiAlgorithm 00012 { 00013 00014 public: 00015 00016 DrawHistoryAlg(const std::string& name, ISvcLocator* pSvcLocator); 00017 virtual ~DrawHistoryAlg(); 00018 00019 virtual StatusCode initialize(); 00020 virtual StatusCode execute(); 00021 virtual StatusCode finalize(); 00022 00023 private: 00024 std::string m_location; 00025 std::string m_track_filename; 00026 std::string m_trackandvertex_filename; 00027 int m_do_hits; 00028 std::string m_topGeoPath; 00029 00030 IParticlePropertySvc* m_ppSvc; 00031 00032 00033 std::string particleName(int pdg); 00034 bool volumeInfo(DayaBay::SimVertex& v, std::string& name, std::string& material); 00035 }; 00036 00037 #endif /* DRAWHISTORYALG_H */ 00038