/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 00008 #ifndef MUONSIMPLEALG_H 00009 #define MUONSIMPLEALG_H 1 00010 00011 #include "DybAlg/DybAlgorithm.h" 00012 #include "Event/UserDataHeader.h" 00013 #include "Event/ReadoutHeader.h" 00014 #include "Event/GenHeader.h" 00015 #include "Event/CalibReadoutHeader.h" 00016 #include "DataSvc/ICableSvc.h" 00017 #include "DataSvc/ICalibDataSvc.h" 00018 00019 #include "DetHelpers/ICoordSysSvc.h" 00020 #include "DetDesc/DetectorElement.h" 00021 #include <vector> 00022 #include <map> 00023 using namespace std; 00024 using namespace DayaBay; 00025 00026 namespace DayaBay{ 00027 class HeaderObject; 00028 class RecMuon; 00029 } 00030 00031 class MuonSimpleAlg : public DybAlgorithm<DayaBay::UserDataHeader> 00032 { 00033 public: 00034 MuonSimpleAlg(const std::string& name, ISvcLocator* pSvcLocator); 00035 00036 virtual ~MuonSimpleAlg(); 00037 00038 virtual StatusCode initialize(); 00039 virtual StatusCode execute(); 00040 virtual StatusCode finalize(); 00041 00042 private: 00043 //define PMT info 00044 struct PmtProp{ 00045 Gaudi::XYZPoint Position; 00046 double Charge; 00047 double FirstHit; 00048 //double ExpectTime; 00049 //int Alive; 00050 //int Used; 00051 00052 }; 00053 00054 map<unsigned int/*PmtId*/,PmtProp> m_PmtPropMap; 00055 int m_PmtNumber; 00056 map<unsigned int,int> m_PmtId;//transform pmtId from unsigned int to int (0,1,....) 00057 // CableSvc 00058 ICableSvc* m_cableSvc; 00059 00060 // Pmt calibration data Service 00061 ICalibDataSvc* m_calibDataSvc; 00062 00063 // find the detector which contain a global point 00064 ICoordSysSvc* mCss; 00065 00066 string m_site; 00067 IDetectorElement *m_de; 00068 float m_timeCutLow; 00069 float m_timeCutHigh; 00070 }; 00071 00072 #endif // MUONSIMPLEALG_H