00001 00007 #ifndef _CHK_MUON_H_ 00008 #define _CHK_MUON_H_ 00009 00010 #include "GaudiAlg/GaudiAlgorithm.h" 00011 #include "MuonTree.h" 00012 #include <string> 00013 00014 // all the headers 00015 #include "Event/GenHeader.h" 00016 #include "Event/SimHeader.h" 00017 00018 // detector element 00019 #include "DetDesc/IGeometryInfo.h" 00020 #include "DetDesc/DetectorElement.h" 00021 #include "DetDesc/SolidBase.h" 00022 00023 00024 using namespace std; 00025 using namespace DayaBay; 00026 00027 class ChkMuon : public GaudiAlgorithm 00028 { 00029 00030 public: 00031 00032 ChkMuon(const std::string& name, ISvcLocator* pSvcLocator); 00033 virtual ~ChkMuon(); 00034 00035 virtual StatusCode initialize(); 00036 virtual StatusCode execute(); 00037 virtual StatusCode finalize(); 00038 00039 private: 00040 StatusCode processGenHeader(const GenHeader *pGenHeader); 00041 StatusCode processSimHeader(const SimHeader *pSimHeader); 00042 StatusCode processHistory(const DayaBay::SimParticleHistory* pHist); 00043 00045 MuonTree* m_valiTree; 00046 00048 TimeStamp m_t0; 00049 00051 SimTrack* m_muon; 00052 vector<SimTrack*> m_neutrons; 00053 00055 IDetectorElement *m_dbOws; 00056 IDetectorElement *m_dbOil1; 00057 IDetectorElement *m_dbOil2; 00058 IDetectorElement *m_dbLso1; 00059 IDetectorElement *m_dbLso2; 00060 00061 }; 00062 00063 #endif // _CHK_MUON_H_