00001 00011 #ifndef SIMPPMTCALIBTOOL_H 00012 #define SIMPPMTCALIBTOOL_H 1 00013 00014 #include "CalibAlg/ICalibTool.h" 00015 00016 #include "GaudiAlg/GaudiTool.h" 00017 00018 namespace DayaBay{ 00019 class DaqCrate; 00020 class CalibReadout; 00021 } 00022 00023 class ICalibDataSvc; 00024 class ICableSvc; 00025 00026 class SimpPmtCalibTool : public GaudiTool , virtual public ICalibTool 00027 { 00028 public: 00029 00030 SimpPmtCalibTool(const std::string& type, 00031 const std::string& name, 00032 const IInterface* parent); 00033 00034 virtual ~SimpPmtCalibTool(); 00035 00036 virtual StatusCode calibration(const DayaBay::DaqCrate*, 00037 DayaBay::CalibReadout*); 00038 virtual StatusCode initialize(); 00039 virtual StatusCode finalize(); 00040 00041 private: 00042 00043 // Property CalibDataSvcName - Name of the CalibData service 00044 std::string m_calibDataSvcName; 00045 00046 // Pmt calibration data Service 00047 ICalibDataSvc* m_calibDataSvc; 00048 00049 // Property CableSvcName - Name of the Cable service 00050 std::string m_cableSvcName; 00051 00052 // Property UseDynamicPedestal - Use dynamic pedestal included with each hit 00053 bool m_useDynamicPedestal; 00054 00055 // Property UseUncalibratedCharge - Use approximate charge calibration 00056 bool m_useUncalibratedCharge; 00057 00058 // Property UseUncalibratedTime - Use approximate time calibration 00059 bool m_useUncalibratedTime; 00060 00061 // CableSvc 00062 ICableSvc* m_cableSvc; 00063 }; 00064 00065 #endif // SIMPPMTCALIBTOOL_H