00001 // $Header: /bes/bes/BossCvs/Calibration/CalibData/src/Tof/TofSimData.cxx,v 1.2 2010/02/03 00:33:53 huangb Exp $ 00002 00003 #include "GaudiKernel/MsgStream.h" 00004 #include "CalibData/Tof/TofSimData.h" 00005 00006 namespace CalibData { 00007 00008 TofSimData::TofSimData(std::vector<TofSimConstBase>* fTofConst,std::vector<BTofSimBase>* fBTofSim,std::vector<ETofSimBase>* fETofSim) { 00009 if(fTofConst) { 00010 m_TofSimConstData = new std::vector<TofSimConstBase>(*fTofConst); 00011 } 00012 if(fBTofSim){ 00013 m_BTofSimData = new std::vector<BTofSimBase>(*fBTofSim); 00014 } 00015 if(fETofSim){ 00016 m_ETofSimData = new std::vector<ETofSimBase>(*fETofSim); 00017 } 00018 } 00019 00020 StatusCode TofSimData::update(CalibBase1& other, MsgStream* log) { 00021 TofSimData& other1 = dynamic_cast<TofSimData& >(other); 00022 std::cout<<"========================================"<<"\n"<<"here is the update in the TofSimData"<<"\n"<<"=================================================="<<std::endl; 00023 CalibBase1::update(other, log); 00024 delete m_TofSimConstData; 00025 m_TofSimConstData = new std::vector<TofSimConstBase>(*(other1.m_TofSimConstData)); 00026 delete m_BTofSimData; 00027 m_BTofSimData = new std::vector<BTofSimBase>(*(other1.m_BTofSimData)); 00028 delete m_ETofSimData; 00029 m_ETofSimData = new std::vector<ETofSimBase>(*(other1.m_ETofSimData)); 00030 00031 return StatusCode::SUCCESS; 00032 } 00033 00034 //get the Simulation Data 00035 00036 TofSimConstBase TofSimData::getTofConst() const { 00037 std::vector<TofSimConstBase>::iterator it = m_TofSimConstData->begin(); 00038 return *it; 00039 } 00040 00041 BTofSimBase TofSimData::getBTofSim(int cnt) const { 00042 std::vector<BTofSimBase>::iterator it = m_BTofSimData->begin(); 00043 for(int i=0;i!=cnt;i++,it++) {} 00044 return *it; 00045 } 00046 00047 ETofSimBase TofSimData::getETofSim(int cnt) const { 00048 std::vector<ETofSimBase>::iterator it = m_ETofSimData->begin(); 00049 for(int i=0;i!=cnt;i++,it++) {} 00050 return *it; 00051 } 00052 00053 double TofSimData::getBarLowThres() { 00054 TofSimConstBase tofConst = getTofConst(); 00055 return tofConst.getBarLowThres(); 00056 } 00057 00058 double TofSimData::getBarHighThres() { 00059 TofSimConstBase tofConst = getTofConst(); 00060 return tofConst.getBarHighThres(); 00061 } 00062 00063 double TofSimData::getEndLowThres() { 00064 TofSimConstBase tofConst = getTofConst(); 00065 return tofConst.getEndLowThres(); 00066 } 00067 00068 double TofSimData::getEndHighThres() { 00069 TofSimConstBase tofConst = getTofConst(); 00070 return tofConst.getEndHighThres(); 00071 } 00072 00073 double TofSimData::getBarPMTGain() { 00074 TofSimConstBase tofConst = getTofConst(); 00075 return tofConst.getBarPMTGain(); 00076 } 00077 00078 double TofSimData::getEndPMTGain() { 00079 TofSimConstBase tofConst = getTofConst(); 00080 return tofConst.getEndPMTGain(); 00081 } 00082 00083 double TofSimData::getBarConstant() { 00084 TofSimConstBase tofConst = getTofConst(); 00085 return tofConst.getBarConstant(); 00086 } 00087 00088 double TofSimData::getEndConstant() { 00089 TofSimConstBase tofConst = getTofConst(); 00090 return tofConst.getEndConstant(); 00091 } 00092 00093 double TofSimData::getEndNoiseSwitch() { 00094 TofSimConstBase tofConst = getTofConst(); 00095 return tofConst.getEndNoiseSwitch(); 00096 } 00097 00098 double TofSimData::getBarGain(int cnt) { 00099 BTofSimBase bTof = getBTofSim(cnt); 00100 return bTof.getGain(); 00101 } 00102 00103 double TofSimData::getBarRatio(int cnt) { 00104 BTofSimBase bTof = getBTofSim(cnt); 00105 return bTof.getRatio(); 00106 } 00107 00108 double TofSimData::getBarAttenLength(int cnt) { 00109 BTofSimBase bTof = getBTofSim(cnt); 00110 return bTof.getAttenLength(); 00111 } 00112 00113 double TofSimData::getEndGain(int cnt) { 00114 ETofSimBase eTof = getETofSim(cnt); 00115 return eTof.getGain(); 00116 } 00117 00118 double TofSimData::getEndAttenLength(int cnt) { 00119 ETofSimBase eTof = getETofSim(cnt); 00120 return eTof.getAttenLength(); 00121 } 00122 00123 double TofSimData::getEndNoiseSmear(int cnt) { 00124 ETofSimBase eTof = getETofSim(cnt); 00125 return eTof.getNoiseSmear(); 00126 } 00127 00128 } 00129 00130