00001 // $Header: /bes/bes/BossCvs/Calibration/CalibData/CalibData/Tof/TofSimData.h,v 1.10 2010/01/08 00002 #ifndef CalibData_TofSimData_h 00003 #define CalibData_TofSimData_h 00004 00005 /* @class CalibData_TofSimData_h 00006 00007 calibration data class 00008 calibration infrastructure 00009 00010 @author sunss 00011 */ 00012 00013 #include "GaudiKernel/DataObject.h" 00014 #include "CalibData/CalibModel.h" 00015 #include "CalibData/CalibBase1.h" 00016 #include "CalibData/Tof/TofSimConstBase.h" 00017 #include "CalibData/Tof/BTofSimBase.h" 00018 #include "CalibData/Tof/ETofSimBase.h" 00019 00020 namespace CalibData { 00021 class TofSimData: public CalibBase1{ 00022 00023 public: 00024 TofSimData(){}; 00025 TofSimData(std::vector<TofSimConstBase>* fTofConst,std::vector<BTofSimBase>* fBTofSim,std::vector<ETofSimBase>* fETofSim); 00026 00027 virtual ~TofSimData() { 00028 delete m_TofSimConstData; 00029 delete m_BTofSimData; 00030 delete m_ETofSimData; 00031 } 00032 00033 // Re-implemented from DataObject 00034 inline virtual const CLID& clID() const { return classID(); } 00035 00036 inline static const CLID& classID() { return CLID_Calib_TofSim; } 00037 00038 virtual StatusCode update(CalibBase1& other, MsgStream* log); 00039 00040 //get the Simulation Constants 00041 TofSimConstBase getTofConst() const; 00042 double getBarLowThres(); 00043 double getBarHighThres(); 00044 double getEndLowThres(); 00045 double getEndHighThres(); 00046 double getBarPMTGain(); 00047 double getEndPMTGain(); 00048 double getBarConstant(); 00049 double getEndConstant(); 00050 double getEndNoiseSwitch(); 00051 00052 BTofSimBase getBTofSim(int cnt) const; 00053 double getBarGain(int cnt); 00054 double getBarRatio(int cnt); 00055 double getBarAttenLength(int cnt); 00056 00057 ETofSimBase getETofSim(int cnt) const; 00058 double getEndGain(int cnt); 00059 double getEndAttenLength(int cnt); 00060 double getEndNoiseSmear(int cnt); 00061 00062 private: 00063 std::vector<TofSimConstBase>* m_TofSimConstData; 00064 std::vector<BTofSimBase>* m_BTofSimData; 00065 std::vector<ETofSimBase>* m_ETofSimData; 00066 }; 00067 } 00068 00069 00070 #endif