00001 00010 #ifndef CALIBPARAMALG_H 00011 #define CALIBPARAMALG_H 00012 00013 #include "GaudiAlg/GaudiAlgorithm.h" 00014 #include <string> 00015 #include <vector> 00016 #include "FloatingFeePedestalSvc/IFloatingFeePedestalSvc.h" 00017 00018 class IPmtCalibParamTool; 00019 class IRpcCalibParamTool; 00020 00021 class CalibParamAlg : public GaudiAlgorithm 00022 { 00023 00024 public: 00025 00026 CalibParamAlg(const std::string& name, ISvcLocator* pSvcLocator); 00027 virtual ~CalibParamAlg(); 00028 00029 virtual StatusCode initialize(); 00030 virtual StatusCode execute(); 00031 virtual StatusCode finalize(); 00032 00033 private: 00034 00039 std::string m_readoutLocation; 00040 00041 // Property PmtTools - Name of the PMT calibration tools 00042 std::vector<std::string> m_pmtToolNames; 00043 // Property RpcTools - Name of the RPC calibration tools 00044 std::vector<std::string> m_rpcToolNames; 00045 00046 // Tools for processing pmt readouts 00047 std::vector<IPmtCalibParamTool*> m_pmtTools; 00048 // Tools for processing rpc readouts 00049 std::vector<IRpcCalibParamTool*> m_rpcTools; 00050 00051 // Use FloatFeePedes or not? In case of false, it will use CalibSvc. 00052 bool m_useFloatFeePedes; 00053 // Property FloatFeePedesSvcName - Name of floating fee pedestal service 00054 std::string m_floatFeePedesSvcName; 00055 00056 // IFloatingFeePedestalSvc; 00057 IFloatingFeePedestalSvc *m_floatFeePedesSvc; 00058 00059 // 00060 TimeStamp m_beginTime; 00061 TimeStamp m_endTime; 00062 }; 00063 00064 #endif // CALIBPARAMALG_H