#include <TofCaliSvc.h>
Inheritance diagram for TofCaliSvc:
Public Member Functions | |
TofCaliSvc (const std::string &name, ISvcLocator *svcloc) | |
~TofCaliSvc () | |
virtual StatusCode | queryInterface (const InterfaceID &riid, void **ppvUnknown) |
virtual StatusCode | initialize () |
virtual StatusCode | finalize () |
void | handle (const Incident &) |
BTofCal * | BTof (unsigned int id) const |
BTofCommonCal * | BTofCommon () const |
ETofCal * | ETof (unsigned int id) const |
EtfCal * | EtfTof (unsigned int id) const |
TofInfoCal * | TofInfo () const |
const double | BTDelay1 (unsigned int id) |
const double | BTDelay2 (unsigned int id) |
const double | ETDelay (unsigned int id) |
const double | BTCorr1 (double ADC, double zHit, unsigned int id) |
const double | BTCorr2 (double ADC, double zHit, unsigned int id) |
const double | BTCorrOffset1 (double zHit, unsigned int id, double t0) |
const double | BTCorrOffset2 (double zHit, unsigned int id, double t0) |
const double | TOffset () |
const double | BTime1 (double ADC, double TDC, double zHit, unsigned int id, double t0) |
const double | BTime2 (double ADC, double TDC, double zHit, unsigned int id, double t0) |
const double | ETime (double ADC, double TDC, double rHit, unsigned int id) |
const double | EtfTime (double ADC1, double ADC2, double TDC1, double TDC2, unsigned int id, unsigned int strip, double t0) |
const double | EtfTime1 (double ADC, double TDC, double zHit, unsigned int id, unsigned int strip, double t0) |
const double | EtfTime2 (double ADC, double TDC, double zHit, unsigned int id, unsigned int strip, double t0) |
const double | EtfTimeMC (double ADC1, double ADC2, double TDC1, double TDC2, unsigned int id, unsigned int strip, double t0) |
const double | EtfTimeMC1 (double ADC, double TDC, double zHit, unsigned int id, unsigned int strip, double t0) |
const double | EtfTimeMC2 (double ADC, double TDC, double zHit, unsigned int id, unsigned int strip, double t0) |
const double | EtfTime (double tleft, double tright) |
const double | EtfBunchP (int index) |
const double | BTimeCounter (double tleft, double tright, double z, unsigned int id) |
const double | BTimeCluster (double tlayer1, double tlayer2, double z1, double z2, unsigned int id1, unsigned int id2) |
const double | BSigma1 (double zHit, unsigned int id) |
const double | BSigma2 (double zHit, unsigned int id) |
const double | BSigmaCounter (double zHit, unsigned int id) |
const double | BSigmaCluster (double zHit1, double zHit2, unsigned int id1, unsigned int id2) |
const double | ESigma (double rHit, unsigned int id) |
const double | BPulseHeight1 (double ADC, double zHit, double sint, unsigned int id) |
const double | BPulseHeight2 (double ADC, double zHit, double sint, unsigned int id) |
const double | BPulseHeight (double ADC1, double ADC2, double zHit, double sint, unsigned int id) |
const double | BPh (double ADC1, double ADC2, double zHit, unsigned int id) |
const double | EPulseHeight (double ADC, double rHit, double cost, unsigned int id) |
const double | EPh (double ADC, double rHit, unsigned int id) |
const double | BVeff (unsigned int id) |
const double | BAtten (unsigned int id) |
const double | BGainForward (unsigned int id) |
const double | BGainBackward (unsigned int id) |
const double | getQ0 (unsigned int id) |
const double | EVeff (unsigned int id) |
const double | EAtten (unsigned int id) |
const double | EGain (unsigned int id) |
const double | EtfVeff (unsigned int id, unsigned int strip) |
const double | ZTDC (double tleft, double tright, unsigned int id) |
const double | ZTDC1 (double tright, unsigned int id, double z) |
const double | ZTDC2 (double tleft, unsigned int id, double z) |
const double | ZADC (double qleft, double qright, unsigned int id) |
const double | ZADC1 (double qright, unsigned int id, double z) |
const double | ZADC2 (double qleft, unsigned int id, double z) |
const double | EtfZTDC (double tleft, double tright, unsigned int id, unsigned int strip) |
const int | RunBegin () |
const int | RunEnd () |
const int | Version () |
const int | QCorr () |
const int | QElec () |
const int | MisLable () |
const int | BrEast (unsigned int No) |
const int | BrWest (unsigned int No) |
const int | Endcap (unsigned int No) |
const int | Etf (unsigned int No) |
void | Dump () |
virtual BTofCal * | BTof (unsigned id) const =0 |
virtual ETofCal * | ETof (unsigned id) const =0 |
virtual EtfCal * | EtfTof (unsigned id) const =0 |
virtual const double | BTDelay1 (unsigned id)=0 |
virtual const double | BTDelay2 (unsigned id)=0 |
virtual const double | ETDelay (unsigned id)=0 |
virtual const double | BTime1 (double ADC, double TDC, double zHit, unsigned id, double t0)=0 |
virtual const double | BTime2 (double ADC, double TDC, double zHit, unsigned id, double t0)=0 |
virtual const double | ETime (double ADC, double TDC, double rHit, unsigned id)=0 |
virtual const double | EtfTime1 (double ADC, double TDC, double zHit, unsigned id, unsigned strip, double t0)=0 |
virtual const double | EtfTime2 (double ADC, double TDC, double zHit, unsigned id, unsigned strip, double t0)=0 |
virtual const double | EtfTimeMC1 (double ADC, double TDC, double zHit, unsigned id, unsigned strip, double t0)=0 |
virtual const double | EtfTimeMC2 (double ADC, double TDC, double zHit, unsigned id, unsigned strip, double t0)=0 |
virtual const double | BTimeCounter (double tleft, double tright, double z, unsigned id)=0 |
virtual const double | BTimeCluster (double tlayer1, double tlayer2, double z1, double z2, unsigned id1, unsigned int id2)=0 |
virtual const double | BSigma1 (double zHit, unsigned id)=0 |
virtual const double | BSigma2 (double zHit, unsigned id)=0 |
virtual const double | BSigmaCounter (double zHit, unsigned id)=0 |
virtual const double | BSigmaCluster (double zHit1, double zHit2, unsigned id1, unsigned id2)=0 |
virtual const double | ESigma (double rHit, unsigned id)=0 |
virtual const double | BVeff (unsigned id)=0 |
virtual const double | BAtten (unsigned id)=0 |
virtual const double | BGainForward (unsigned id)=0 |
virtual const double | BGainBackward (unsigned id)=0 |
virtual const double | getQ0 (unsigned id)=0 |
virtual const double | EVeff (unsigned id)=0 |
virtual const double | EAtten (unsigned id)=0 |
virtual const double | EGain (unsigned id)=0 |
virtual const double | ZTDC (double tleft, double tright, unsigned id)=0 |
virtual const double | ZTDC1 (double tright, unsigned id, double z)=0 |
virtual const double | ZTDC2 (double tleft, unsigned id, double z)=0 |
virtual const double | ZADC (double qleft, double qright, unsigned id)=0 |
virtual const double | ZADC1 (double qright, unsigned id, double z)=0 |
virtual const double | ZADC2 (double qleft, unsigned id, double z)=0 |
Static Public Member Functions | |
static const InterfaceID & | interfaceID () |
Private Member Functions | |
StatusCode | FillfromDatabase () |
Private Attributes | |
bool | m_hasbeeninitialized |
IDataProviderSvc * | m_pCalibDataSvc |
IntegerProperty | m_run |
std::vector< BTofCal * > | fBTofCal |
std::vector< ETofCal * > | fETofCal |
std::vector< EtfCal * > | fEtfCal |
std::vector< EtfBunchCal * > | fEtfBunchCal |
std::vector< BTofCommonCal * > | fBTofCommonCal |
std::vector< TofInfoCal * > | fTofInfoCal |
Definition at line 26 of file TofCaliSvc.h.
TofCaliSvc::TofCaliSvc | ( | const std::string & | name, | |
ISvcLocator * | svcloc | |||
) |
TofCaliSvc::~TofCaliSvc | ( | ) |
Definition at line 96 of file TofCaliSvc.cxx.
References fBTofCal, fBTofCommonCal, fEtfBunchCal, fEtfCal, fETofCal, and fTofInfoCal.
00096 { 00097 for(vector<BTofCal*>::iterator it1 = fBTofCal.begin(); it1 != fBTofCal.end(); it1++) { delete (*it1); } 00098 fBTofCal.clear(); 00099 for(vector<ETofCal*>::iterator it2 = fETofCal.begin(); it2 != fETofCal.end(); it2++) { delete (*it2); } 00100 fETofCal.clear(); 00101 00102 if( fEtfCal.size()!=0 ) { 00103 for(vector<EtfCal*>::iterator it5 = fEtfCal.begin(); it5 != fEtfCal.end(); it5++) { delete (*it5); } 00104 fEtfCal.clear(); 00105 } 00106 if( fEtfBunchCal.size()!=0 ) { 00107 for(vector<EtfBunchCal*>::iterator it6 = fEtfBunchCal.begin(); it6 != fEtfBunchCal.end(); it6++) { delete (*it6); } 00108 fEtfBunchCal.clear(); 00109 } 00110 for(vector<BTofCommonCal*>::iterator it3 = fBTofCommonCal.begin(); it3 != fBTofCommonCal.end(); it3++) { delete (*it3); } 00111 fBTofCommonCal.clear(); 00112 for(vector<TofInfoCal*>::iterator it4 = fTofInfoCal.begin(); it4 != fTofInfoCal.end(); it4++) { delete (*it4); } 00113 fTofInfoCal.clear(); 00114 return; 00115 }
virtual const double ITofCaliSvc::BAtten | ( | unsigned | id | ) | [pure virtual, inherited] |
Referenced by BesTofDigitizerBrV1::TofPmtAccum().
const double TofCaliSvc::BAtten | ( | unsigned int | id | ) |
virtual const double ITofCaliSvc::BGainBackward | ( | unsigned | id | ) | [pure virtual, inherited] |
const double TofCaliSvc::BGainBackward | ( | unsigned int | id | ) |
virtual const double ITofCaliSvc::BGainForward | ( | unsigned | id | ) | [pure virtual, inherited] |
const double TofCaliSvc::BGainForward | ( | unsigned int | id | ) |
const double TofCaliSvc::BPh | ( | double | ADC1, | |
double | ADC2, | |||
double | zHit, | |||
unsigned int | id | |||
) | [virtual] |
Implements ITofCaliSvc.
Definition at line 805 of file TofCaliSvc.cxx.
References fBTofCal.
00805 { 00806 double length = 230.0; 00807 double Latten = fBTofCal[id]->getAtten(0); 00808 double gainRatio = fBTofCal[id]->getAtten(1); 00809 double q = ( ADC1*TMath::Exp((0.5*length-zHit)/Latten)+ADC2*TMath::Exp((0.5*length+zHit)/Latten) )/(1.0+TMath::Exp(gainRatio)); 00810 return q; 00811 }
const double TofCaliSvc::BPulseHeight | ( | double | ADC1, | |
double | ADC2, | |||
double | zHit, | |||
double | sint, | |||
unsigned int | id | |||
) | [virtual] |
Implements ITofCaliSvc.
Definition at line 795 of file TofCaliSvc.cxx.
References fBTofCal.
00795 { 00796 double length = 230.0; 00797 double Latten = fBTofCal[id]->getAtten(0); 00798 double gainRatio = fBTofCal[id]->getAtten(1); 00799 double A2 = fBTofCal[id]->getAtten(2); 00800 double q = ( ADC1*sint*TMath::Exp((0.5*length-zHit)/Latten)+ADC2*sint*TMath::Exp((0.5*length+zHit)/Latten) )/( A2*(1.0+TMath::Exp(gainRatio)) ); 00801 return q; 00802 }
const double TofCaliSvc::BPulseHeight1 | ( | double | ADC, | |
double | zHit, | |||
double | sint, | |||
unsigned int | id | |||
) | [virtual] |
Implements ITofCaliSvc.
Definition at line 777 of file TofCaliSvc.cxx.
References EvtCyclic3::A, and fBTofCal.
00777 { 00778 double length = 230.0; 00779 double A = 1.0; 00780 double Latten = fBTofCal[id]->getAtten(0); 00781 double q0 = ADC*sint*TMath::Exp((0.5*length-zHit)/Latten)/A; 00782 return q0; 00783 }
const double TofCaliSvc::BPulseHeight2 | ( | double | ADC, | |
double | zHit, | |||
double | sint, | |||
unsigned int | id | |||
) | [virtual] |
Implements ITofCaliSvc.
Definition at line 786 of file TofCaliSvc.cxx.
References EvtCyclic3::A, and fBTofCal.
00786 { 00787 double length = 230.0; 00788 double A = 1.0; 00789 double Latten = fBTofCal[id]->getAtten(0); 00790 double q0 = ADC*sint*TMath::Exp((0.5*length+zHit)/Latten)/A; 00791 return q0; 00792 }
const int TofCaliSvc::BrEast | ( | unsigned int | No | ) | [virtual] |
Implements ITofCaliSvc.
Definition at line 990 of file TofCaliSvc.cxx.
References fTofInfoCal.
00990 { 00991 return fTofInfoCal[0]->getBrEast(im); 00992 }
const int TofCaliSvc::BrWest | ( | unsigned int | No | ) | [virtual] |
Implements ITofCaliSvc.
Definition at line 994 of file TofCaliSvc.cxx.
References fTofInfoCal.
00994 { 00995 return fTofInfoCal[0]->getBrWest(im); 00996 }
virtual const double ITofCaliSvc::BSigma1 | ( | double | zHit, | |
unsigned | id | |||
) | [pure virtual, inherited] |
Referenced by TofTrack::setCalibration().
const double TofCaliSvc::BSigma1 | ( | double | zHit, | |
unsigned int | id | |||
) |
virtual const double ITofCaliSvc::BSigma2 | ( | double | zHit, | |
unsigned | id | |||
) | [pure virtual, inherited] |
Referenced by TofTrack::setCalibration().
const double TofCaliSvc::BSigma2 | ( | double | zHit, | |
unsigned int | id | |||
) |
virtual const double ITofCaliSvc::BSigmaCluster | ( | double | zHit1, | |
double | zHit2, | |||
unsigned | id1, | |||
unsigned | id2 | |||
) | [pure virtual, inherited] |
Referenced by TofTrack::setCalibration().
const double TofCaliSvc::BSigmaCluster | ( | double | zHit1, | |
double | zHit2, | |||
unsigned int | id1, | |||
unsigned int | id2 | |||
) |
virtual const double ITofCaliSvc::BSigmaCounter | ( | double | zHit, | |
unsigned | id | |||
) | [pure virtual, inherited] |
Referenced by TofTrack::setCalibration().
const double TofCaliSvc::BSigmaCounter | ( | double | zHit, | |
unsigned int | id | |||
) |
const double TofCaliSvc::BTCorr1 | ( | double | ADC, | |
double | zHit, | |||
unsigned int | id | |||
) | [virtual] |
Implements ITofCaliSvc.
const double TofCaliSvc::BTCorr2 | ( | double | ADC, | |
double | zHit, | |||
unsigned int | id | |||
) | [virtual] |
Implements ITofCaliSvc.
const double TofCaliSvc::BTCorrOffset1 | ( | double | zHit, | |
unsigned int | id, | |||
double | t0 | |||
) | [virtual] |
Implements ITofCaliSvc.
const double TofCaliSvc::BTCorrOffset2 | ( | double | zHit, | |
unsigned int | id, | |||
double | t0 | |||
) | [virtual] |
Implements ITofCaliSvc.
virtual const double ITofCaliSvc::BTDelay1 | ( | unsigned | id | ) | [pure virtual, inherited] |
const double TofCaliSvc::BTDelay1 | ( | unsigned int | id | ) |
virtual const double ITofCaliSvc::BTDelay2 | ( | unsigned | id | ) | [pure virtual, inherited] |
const double TofCaliSvc::BTDelay2 | ( | unsigned int | id | ) |
virtual const double ITofCaliSvc::BTime1 | ( | double | ADC, | |
double | TDC, | |||
double | zHit, | |||
unsigned | id, | |||
double | t0 | |||
) | [pure virtual, inherited] |
Referenced by TofTrack::setCalibration().
const double TofCaliSvc::BTime1 | ( | double | ADC, | |
double | TDC, | |||
double | zHit, | |||
unsigned int | id, | |||
double | t0 | |||
) |
virtual const double ITofCaliSvc::BTime2 | ( | double | ADC, | |
double | TDC, | |||
double | zHit, | |||
unsigned | id, | |||
double | t0 | |||
) | [pure virtual, inherited] |
Referenced by TofTrack::setCalibration().
const double TofCaliSvc::BTime2 | ( | double | ADC, | |
double | TDC, | |||
double | zHit, | |||
unsigned int | id, | |||
double | t0 | |||
) |
virtual const double ITofCaliSvc::BTimeCluster | ( | double | tlayer1, | |
double | tlayer2, | |||
double | z1, | |||
double | z2, | |||
unsigned | id1, | |||
unsigned int | id2 | |||
) | [pure virtual, inherited] |
Referenced by TofTrack::setCalibration().
const double TofCaliSvc::BTimeCluster | ( | double | tlayer1, | |
double | tlayer2, | |||
double | z1, | |||
double | z2, | |||
unsigned int | id1, | |||
unsigned int | id2 | |||
) |
virtual const double ITofCaliSvc::BTimeCounter | ( | double | tleft, | |
double | tright, | |||
double | z, | |||
unsigned | id | |||
) | [pure virtual, inherited] |
Referenced by TofTrack::setCalibration().
const double TofCaliSvc::BTimeCounter | ( | double | tleft, | |
double | tright, | |||
double | z, | |||
unsigned int | id | |||
) |
virtual BTofCal* ITofCaliSvc::BTof | ( | unsigned | id | ) | const [pure virtual, inherited] |
Referenced by BesTofDigitizerBrV1::Smear().
BTofCommonCal * TofCaliSvc::BTofCommon | ( | ) | const [virtual] |
Implements ITofCaliSvc.
Definition at line 1018 of file TofCaliSvc.cxx.
References fBTofCommonCal.
01018 { 01019 return fBTofCommonCal[0]; 01020 }
virtual const double ITofCaliSvc::BVeff | ( | unsigned | id | ) | [pure virtual, inherited] |
const double TofCaliSvc::BVeff | ( | unsigned int | id | ) |
void TofCaliSvc::Dump | ( | ) | [virtual] |
Implements ITofCaliSvc.
Definition at line 1026 of file TofCaliSvc.cxx.
References BTof(), fBTofCal, fETofCal, BTofCal::getP1(), and BTofCal::getVeff().
Referenced by main().
01026 { 01027 std::cout<<"Now We can get the TOF Calibtration Service"<<std::endl; 01028 std::cout<<"Barrel TOF Counter Number = "<<fBTofCal.size()<<std::endl; 01029 std::cout<<"Endcap TOF Counter Number = "<<fETofCal.size()<<std::endl; 01030 01031 cout<<"The O Barrel TOF PMT1 p1[0] is"<<" "<<BTof(0)->getP1(0)<<endl; 01032 cout<<"The 0 Barrel TOF PMT1 p1[1] is"<<" "<<BTof(0)->getP1(1)<<endl; 01033 cout<<"The 0 Barrel TOF veff is"<<" "<<BTof(0)->getVeff(0)<<endl; 01034 // cout<<"The 22rd Endcap TOF PMT veff is"<<" "<<ETof(22)->getVeff()<<endl; 01035 }
virtual const double ITofCaliSvc::EAtten | ( | unsigned | id | ) | [pure virtual, inherited] |
Referenced by BesTofDigitizerEcV1::TofPmtAccum().
const double TofCaliSvc::EAtten | ( | unsigned int | id | ) |
virtual const double ITofCaliSvc::EGain | ( | unsigned | id | ) | [pure virtual, inherited] |
const double TofCaliSvc::EGain | ( | unsigned int | id | ) |
const int TofCaliSvc::Endcap | ( | unsigned int | No | ) | [virtual] |
Implements ITofCaliSvc.
Definition at line 998 of file TofCaliSvc.cxx.
References fTofInfoCal.
00998 { 00999 return fTofInfoCal[0]->getEndcap(im); 01000 }
const double TofCaliSvc::EPh | ( | double | ADC, | |
double | rHit, | |||
unsigned int | id | |||
) | [virtual] |
Implements ITofCaliSvc.
Definition at line 827 of file TofCaliSvc.cxx.
00827 { 00828 double length = 44.5; 00829 double a0 = fETofCal[id]->getAtten(0); 00830 double a1 = fETofCal[id]->getAtten(1); 00831 double a2 = fETofCal[id]->getAtten(2); 00832 double q0 = ADC*TMath::Exp(-(a0+a1*(rHit-length)+a2*(rHit-length)*(rHit-length))); 00833 return q0; 00834 }
const double TofCaliSvc::EPulseHeight | ( | double | ADC, | |
double | rHit, | |||
double | cost, | |||
unsigned int | id | |||
) | [virtual] |
Implements ITofCaliSvc.
Definition at line 814 of file TofCaliSvc.cxx.
00814 { 00815 double length = 44.5; 00816 double a0 = fETofCal[id]->getAtten(0); 00817 double a1 = fETofCal[id]->getAtten(1); 00818 double a2 = fETofCal[id]->getAtten(2); 00819 double a3 = fETofCal[id]->getAtten(3); 00820 00821 double q0 = ADC*fabs(cost)*TMath::Exp(-(a1*(rHit-length)+a2*(rHit-length)*(rHit-length)))/a3; 00822 00823 return q0; 00824 }
virtual const double ITofCaliSvc::ESigma | ( | double | rHit, | |
unsigned | id | |||
) | [pure virtual, inherited] |
Referenced by TofTrack::setCalibration().
const double TofCaliSvc::ESigma | ( | double | rHit, | |
unsigned int | id | |||
) |
virtual const double ITofCaliSvc::ETDelay | ( | unsigned | id | ) | [pure virtual, inherited] |
const double TofCaliSvc::ETDelay | ( | unsigned int | id | ) |
const int TofCaliSvc::Etf | ( | unsigned int | No | ) | [virtual] |
Implements ITofCaliSvc.
Definition at line 1002 of file TofCaliSvc.cxx.
References fTofInfoCal.
01002 { 01003 return fTofInfoCal[0]->getEndcap(im); 01004 }
const double TofCaliSvc::EtfBunchP | ( | int | index | ) | [virtual] |
Implements ITofCaliSvc.
Definition at line 765 of file TofCaliSvc.cxx.
References fEtfBunchCal, and msgSvc().
00765 { 00766 MsgStream log(msgSvc(), name()); 00767 00768 double pbunch = 0.0; 00769 if( fEtfBunchCal.size()>0 && index>=0 && index<4 ) { 00770 pbunch=fEtfBunchCal[0]->getBunchP(index); 00771 } 00772 00773 return pbunch; 00774 }
const double TofCaliSvc::EtfTime | ( | double | tleft, | |
double | tright | |||
) | [virtual] |
Implements ITofCaliSvc.
Definition at line 755 of file TofCaliSvc.cxx.
References Bes_Common::DEBUG, and msgSvc().
00755 { 00756 MsgStream log(msgSvc(), name()); 00757 00758 double time = (tleft+tright)/2.0; 00759 log << MSG::DEBUG << "EtfTime tleft=" << tleft << " tright=" << tright << " time=" << time << endreq; 00760 00761 return time; 00762 }
const double TofCaliSvc::EtfTime | ( | double | ADC1, | |
double | ADC2, | |||
double | TDC1, | |||
double | TDC2, | |||
unsigned int | id, | |||
unsigned int | strip, | |||
double | t0 | |||
) | [virtual] |
Implements ITofCaliSvc.
virtual const double ITofCaliSvc::EtfTime1 | ( | double | ADC, | |
double | TDC, | |||
double | zHit, | |||
unsigned | id, | |||
unsigned | strip, | |||
double | t0 | |||
) | [pure virtual, inherited] |
Referenced by TofTrack::setCalibration().
const double TofCaliSvc::EtfTime1 | ( | double | ADC, | |
double | TDC, | |||
double | zHit, | |||
unsigned int | id, | |||
unsigned int | strip, | |||
double | t0 | |||
) |
virtual const double ITofCaliSvc::EtfTime2 | ( | double | ADC, | |
double | TDC, | |||
double | zHit, | |||
unsigned | id, | |||
unsigned | strip, | |||
double | t0 | |||
) | [pure virtual, inherited] |
Referenced by TofTrack::setCalibration().
const double TofCaliSvc::EtfTime2 | ( | double | ADC, | |
double | TDC, | |||
double | zHit, | |||
unsigned int | id, | |||
unsigned int | strip, | |||
double | t0 | |||
) |
const double TofCaliSvc::EtfTimeMC | ( | double | ADC1, | |
double | ADC2, | |||
double | TDC1, | |||
double | TDC2, | |||
unsigned int | id, | |||
unsigned int | strip, | |||
double | t0 | |||
) | [virtual] |
Implements ITofCaliSvc.
virtual const double ITofCaliSvc::EtfTimeMC1 | ( | double | ADC, | |
double | TDC, | |||
double | zHit, | |||
unsigned | id, | |||
unsigned | strip, | |||
double | t0 | |||
) | [pure virtual, inherited] |
Referenced by TofTrack::setCalibration().
const double TofCaliSvc::EtfTimeMC1 | ( | double | ADC, | |
double | TDC, | |||
double | zHit, | |||
unsigned int | id, | |||
unsigned int | strip, | |||
double | t0 | |||
) |
virtual const double ITofCaliSvc::EtfTimeMC2 | ( | double | ADC, | |
double | TDC, | |||
double | zHit, | |||
unsigned | id, | |||
unsigned | strip, | |||
double | t0 | |||
) | [pure virtual, inherited] |
Referenced by TofTrack::setCalibration().
const double TofCaliSvc::EtfTimeMC2 | ( | double | ADC, | |
double | TDC, | |||
double | zHit, | |||
unsigned int | id, | |||
unsigned int | strip, | |||
double | t0 | |||
) |
virtual EtfCal* ITofCaliSvc::EtfTof | ( | unsigned | id | ) | const [pure virtual, inherited] |
EtfCal* TofCaliSvc::EtfTof | ( | unsigned int | id | ) | const |
const double TofCaliSvc::EtfVeff | ( | unsigned int | id, | |
unsigned int | strip | |||
) | [virtual] |
Implements ITofCaliSvc.
Definition at line 874 of file TofCaliSvc.cxx.
References fEtfCal.
00874 { 00875 if(id<72 && strip<12){ 00876 return fEtfCal[12*id+strip]->getVeff(0); 00877 }else{ 00878 std::cout<<"bad id="<<id<<" strip="<<strip<<std::endl; 00879 return 0.; 00880 } 00881 }
const double TofCaliSvc::EtfZTDC | ( | double | tleft, | |
double | tright, | |||
unsigned int | id, | |||
unsigned int | strip | |||
) | [virtual] |
Implements ITofCaliSvc.
virtual const double ITofCaliSvc::ETime | ( | double | ADC, | |
double | TDC, | |||
double | rHit, | |||
unsigned | id | |||
) | [pure virtual, inherited] |
Referenced by TofTrack::chooseTofDataEndcap(), and TofTrack::setCalibration().
const double TofCaliSvc::ETime | ( | double | ADC, | |
double | TDC, | |||
double | rHit, | |||
unsigned int | id | |||
) |
virtual ETofCal* ITofCaliSvc::ETof | ( | unsigned | id | ) | const [pure virtual, inherited] |
Referenced by BesTofDigitizerEcV1::Smear().
ETofCal* TofCaliSvc::ETof | ( | unsigned int | id | ) | const |
virtual const double ITofCaliSvc::EVeff | ( | unsigned | id | ) | [pure virtual, inherited] |
const double TofCaliSvc::EVeff | ( | unsigned int | id | ) |
StatusCode TofCaliSvc::FillfromDatabase | ( | ) | [private] |
Definition at line 117 of file TofCaliSvc.cxx.
References Bes_Common::FATAL, fBTofCal, fBTofCommonCal, fEtfBunchCal, fEtfCal, fETofCal, fTofInfoCal, genRecEmupikp::i, Bes_Common::INFO, ganga-rec::j, m_pCalibDataSvc, msgSvc(), nBarAtten, nBarOffset, nBarPar, nBarParOff, nBarSigCnt, nBarSigCor, nBarSigma, nBarSpeed, nEndAtten, nEndPar, nEndSigma, nEndSpeed, nEtfBunch, nEtfPar, nEtfSpeed, TofInfoCal::setBrEast(), TofInfoCal::setBrWest(), EtfBunchCal::setBunchP(), TofInfoCal::setEndcap(), TofInfoCal::setEtf(), TofInfoCal::setMisLable(), BTofCommonCal::setOffset(), TofInfoCal::setQCorr(), TofInfoCal::setQElec(), TofInfoCal::setRunBegin(), TofInfoCal::setRunEnd(), BTofCommonCal::setSigmaCorr(), TofInfoCal::setVersion(), deljobs::string, and test.
Referenced by handle().
00117 { 00118 00119 MsgStream log(msgSvc(), name()); 00120 std::string fullPath = "/Calib/TofCal"; 00121 log << MSG::INFO<<" Tof calib fullPath = "<<fullPath<< endreq; 00122 SmartDataPtr<CalibData::TofCalibData> test(m_pCalibDataSvc, fullPath); 00123 if(!test){ 00124 log << MSG::FATAL << "TofCaliSvc could not find TofCalibData in TCDS!!" << endreq; 00125 return StatusCode::FAILURE; 00126 } 00127 00128 for(vector<BTofCal*>::iterator it1 = fBTofCal.begin(); it1 != fBTofCal.end(); it1++) { delete (*it1); } 00129 fBTofCal.clear(); 00130 for(vector<ETofCal*>::iterator it2 = fETofCal.begin(); it2 != fETofCal.end(); it2++) { delete (*it2); } 00131 fETofCal.clear(); 00132 if( fEtfCal.size()!=0 ) { 00133 for(vector<EtfCal*>::iterator it5 = fEtfCal.begin(); it5 != fEtfCal.end(); it5++) { delete (*it5); } 00134 fEtfCal.clear(); 00135 } 00136 if( fEtfBunchCal.size()!=0 ) { 00137 for(vector<EtfBunchCal*>::iterator it6 = fEtfBunchCal.begin(); it6 != fEtfBunchCal.end(); it6++) { delete (*it6); } 00138 fEtfBunchCal.clear(); 00139 } 00140 for(vector<BTofCommonCal*>::iterator it3 = fBTofCommonCal.begin(); it3 != fBTofCommonCal.end(); it3++) { delete (*it3); } 00141 fBTofCommonCal.clear(); 00142 for(vector<TofInfoCal*>::iterator it4 = fTofInfoCal.begin(); it4 != fTofInfoCal.end(); it4++) { delete (*it4); } 00143 fTofInfoCal.clear(); 00144 00145 for(int ib=0;ib<176;ib++){ 00146 BTofCal* btof = new BTofCal; 00147 for( int j=0; j<static_cast<int>(nBarAtten); j++ ) { 00148 btof->setAtten(j,test->getBTofAtten(ib,j)); 00149 } 00150 for( int j=0; j<static_cast<int>(nBarSpeed); j++ ) { 00151 btof->setVeff(j,test->getBTofSpeed(ib,j)); 00152 } 00153 for( int j=0; j<static_cast<int>(nBarPar); j++){ 00154 btof->setP1(j,test->getBTofPleft(ib,j)); 00155 btof->setP2(j,test->getBTofPright(ib,j)); 00156 } 00157 for( int j=0; j<static_cast<int>(nBarParOff); j++){ 00158 btof->setPOff1_bunch0(j,test->getBTofPoffleft_bunch0(ib,j)); 00159 btof->setPOff2_bunch0(j,test->getBTofPoffright_bunch0(ib,j)); 00160 btof->setPOff1_bunch1(j,test->getBTofPoffleft_bunch1(ib,j)); 00161 btof->setPOff2_bunch1(j,test->getBTofPoffright_bunch1(ib,j)); 00162 btof->setPOff1_bunch2(j,test->getBTofPoffleft_bunch2(ib,j)); 00163 btof->setPOff2_bunch2(j,test->getBTofPoffright_bunch2(ib,j)); 00164 btof->setPOff1_bunch3(j,test->getBTofPoffleft_bunch3(ib,j)); 00165 btof->setPOff2_bunch3(j,test->getBTofPoffright_bunch3(ib,j)); 00166 } 00167 for( int j=0; j<static_cast<int>(nBarSigma); j++){ 00168 btof->setFPLeft(j,test->getBTofFleft(ib,j)); 00169 btof->setFPRight(j,test->getBTofFright(ib,j)); 00170 } 00171 for( int j=0; j<static_cast<int>(nBarSigCnt); j++){ 00172 btof->setFPCounter(j,test->getBTofFcounter(ib,j)); 00173 } 00174 00175 fBTofCal.push_back(btof); 00176 } 00177 00178 for(int ie=0;ie<96;ie++){ 00179 ETofCal* etof= new ETofCal; 00180 for( int j=0; j<static_cast<int>(nEndAtten); j++ ) { 00181 etof->setAtten(j,test->getETofAtten(ie,j)); 00182 } 00183 for( int j=0; j<static_cast<int>(nEndSpeed); j++ ) { 00184 etof->setVeff(j,test->getETofSpeed(ie,j)); 00185 } 00186 for( int j=0; j<static_cast<int>(nEndPar); j++ ) { 00187 etof->setP(j,test->getETofP(ie,j)); 00188 } 00189 for( int j=0; j<static_cast<int>(nEndSigma); j++ ) { 00190 etof->setFPCounter(j,test->getETofFP(ie,j)); 00191 } 00192 fETofCal.push_back(etof); 00193 } 00194 00195 for(int ietf=0;ietf<72;ietf++) { 00196 for(int jetf=0;jetf<12;jetf++) { 00197 EtfCal* etf= new EtfCal; 00198 for( int k=0; k<static_cast<int>(nEtfSpeed); k++ ) { 00199 etf->setVeff(k,test->getEtfSpeed(ietf,jetf,k)); 00200 } 00201 for( int k=0; k<static_cast<int>(nEtfPar); k++ ) { 00202 etf->setP( k,test->getEtfPcombine(ietf,jetf,k)); 00203 etf->setP1(k,test->getEtfPleft(ietf,jetf,k)); 00204 etf->setP2(k,test->getEtfPright(ietf,jetf,k)); 00205 } 00206 fEtfCal.push_back(etf); 00207 } 00208 } 00209 00210 EtfBunchCal* etfbunch= new EtfBunchCal; 00211 for( int k=0; k<static_cast<int>(nEtfBunch); k++ ) { 00212 etfbunch->setBunchP(k,test->getEtfPBunch(k)); 00213 } 00214 fEtfBunchCal.push_back(etfbunch); 00215 00216 BTofCommonCal* bcomtof = new BTofCommonCal; 00217 for(int i=0; i<static_cast<int>(nBarOffset); i++) { 00218 bcomtof->setOffset( i, test->getBTofOffset(i) ); 00219 } 00220 for(int i=0; i<static_cast<int>(nBarSigCor); i++) { 00221 bcomtof->setSigmaCorr( i, test->getBTofSigmaCorr(i) ); 00222 } 00223 fBTofCommonCal.push_back(bcomtof); 00224 00225 TofInfoCal* tofinfo = new TofInfoCal; 00226 tofinfo->setRunBegin( test->getRunBegin() ); 00227 tofinfo->setRunEnd( test->getRunEnd() ); 00228 tofinfo->setVersion( test->getVersion() ); 00229 tofinfo->setQCorr( test->getQCorr() ); 00230 tofinfo->setQElec( test->getQElec() ); 00231 tofinfo->setMisLable( test->getMisLable() ); 00232 for( unsigned int i=0; i<5; i++ ) { 00233 tofinfo->setBrEast( i, test->getBrEast(i) ); 00234 tofinfo->setBrWest( i, test->getBrWest(i) ); 00235 if( (test->getVersion())<=8 ) { // useless 00236 tofinfo->setEndcap( i, test->getEndcap(i) ); 00237 } 00238 else { 00239 tofinfo->setEtf( i, test->getEndcap(i) ); 00240 } 00241 } 00242 fTofInfoCal.push_back(tofinfo); 00243 00244 return StatusCode::SUCCESS; 00245 }
StatusCode TofCaliSvc::finalize | ( | ) | [virtual] |
Definition at line 90 of file TofCaliSvc.cxx.
References Bes_Common::INFO, and msgSvc().
00090 { 00091 MsgStream log(msgSvc(), name()); 00092 log << MSG::INFO << name() << ": End of Run" << endreq; 00093 return StatusCode::SUCCESS; 00094 }
virtual const double ITofCaliSvc::getQ0 | ( | unsigned | id | ) | [pure virtual, inherited] |
const double TofCaliSvc::getQ0 | ( | unsigned int | id | ) |
void TofCaliSvc::handle | ( | const Incident & | ) |
Definition at line 1037 of file TofCaliSvc.cxx.
References Bes_Common::DEBUG, FillfromDatabase(), and m_hasbeeninitialized.
01037 { 01038 MsgStream log( messageService(), name() ); 01039 log << MSG::DEBUG << "handle: " << inc.type() << endreq; 01040 01041 if ( inc.type() == "NewRun" ){ 01042 log << MSG::DEBUG << "New Run" << endreq; 01043 // if(!m_hasbeeninitialized){ 01044 StatusCode sc= FillfromDatabase(); 01045 if(sc.isSuccess()){ 01046 m_hasbeeninitialized=true; 01047 } 01048 // } 01049 } 01050 }
StatusCode TofCaliSvc::initialize | ( | ) | [virtual] |
Definition at line 58 of file TofCaliSvc.cxx.
References Bes_Common::DEBUG, calibUtil::ERROR, Bes_Common::INFO, m_hasbeeninitialized, m_pCalibDataSvc, and msgSvc().
Referenced by main().
00058 { 00059 m_hasbeeninitialized=false; 00060 00061 MsgStream log(msgSvc(), name()); 00062 log << MSG::INFO << name() << ": Start of run initialisation" << endreq; 00063 00064 StatusCode sc = Service::initialize(); 00065 if ( sc.isFailure() ) return sc; 00066 00067 IIncidentSvc* incsvc; 00068 sc = service("IncidentSvc", incsvc); 00069 int priority = 100; 00070 if( sc.isSuccess() ){ 00071 incsvc -> addListener(this, "NewRun", priority); 00072 } 00073 00074 StatusCode scc; 00075 00076 log<<MSG::INFO << "setProperties()" << endreq; 00077 scc = service("CalibDataSvc", m_pCalibDataSvc, true); 00078 if ( !scc.isSuccess() ) { 00079 log<<MSG::ERROR<<"Could not get IDataProviderSvc interface of CalibXmlCnvSvc"<<endreq; 00080 return scc; 00081 } else { 00082 log << MSG::DEBUG<< "Retrieved IDataProviderSvc interface of CalibXmlCnvSvc"<<endreq; 00083 } 00084 // Get properties from the JobOptionsSvc 00085 scc = setProperties(); 00086 00087 return sc; 00088 }
static const InterfaceID& ITofCaliSvc::interfaceID | ( | ) | [inline, static, inherited] |
Definition at line 19 of file ITofCaliSvc.h.
References IID_ITofCaliSvc().
00019 { return IID_ITofCaliSvc; }
const int TofCaliSvc::MisLable | ( | ) | [virtual] |
Implements ITofCaliSvc.
Definition at line 986 of file TofCaliSvc.cxx.
References fTofInfoCal.
00986 { 00987 return fTofInfoCal[0]->getMisLable(); 00988 }
const int TofCaliSvc::QCorr | ( | ) | [virtual] |
Implements ITofCaliSvc.
Definition at line 978 of file TofCaliSvc.cxx.
References fTofInfoCal.
00978 { 00979 return fTofInfoCal[0]->getQCorr(); 00980 }
const int TofCaliSvc::QElec | ( | ) | [virtual] |
Implements ITofCaliSvc.
Definition at line 982 of file TofCaliSvc.cxx.
References fTofInfoCal.
00982 { 00983 return fTofInfoCal[0]->getQElec(); 00984 }
StatusCode TofCaliSvc::queryInterface | ( | const InterfaceID & | riid, | |
void ** | ppvUnknown | |||
) | [virtual] |
Definition at line 49 of file TofCaliSvc.cxx.
References IID_ITofCaliSvc().
00049 { 00050 if ( IID_ITofCaliSvc.versionMatch(riid) ) { 00051 *ppvInterface = static_cast<ITofCaliSvc*> (this); 00052 } else { 00053 return Service::queryInterface(riid, ppvInterface) ; 00054 } 00055 return StatusCode::SUCCESS; 00056 }
const int TofCaliSvc::RunBegin | ( | ) | [virtual] |
Implements ITofCaliSvc.
Definition at line 966 of file TofCaliSvc.cxx.
References fTofInfoCal.
00966 { 00967 return fTofInfoCal[0]->getRunBegin(); 00968 }
const int TofCaliSvc::RunEnd | ( | ) | [virtual] |
Implements ITofCaliSvc.
Definition at line 970 of file TofCaliSvc.cxx.
References fTofInfoCal.
00970 { 00971 return fTofInfoCal[0]->getRunEnd(); 00972 }
const double TofCaliSvc::TOffset | ( | ) | [virtual] |
Implements ITofCaliSvc.
Definition at line 403 of file TofCaliSvc.cxx.
References fBTofCommonCal.
00403 { 00404 double toffset = fBTofCommonCal[0]->getOffset(0); 00405 return toffset; 00406 }
TofInfoCal * TofCaliSvc::TofInfo | ( | ) | const [virtual] |
Implements ITofCaliSvc.
Definition at line 1022 of file TofCaliSvc.cxx.
References fTofInfoCal.
01022 { 01023 return fTofInfoCal[0]; 01024 }
const int TofCaliSvc::Version | ( | ) | [virtual] |
Implements ITofCaliSvc.
Definition at line 974 of file TofCaliSvc.cxx.
References fTofInfoCal.
00974 { 00975 return fTofInfoCal[0]->getVersion(); 00976 }
virtual const double ITofCaliSvc::ZADC | ( | double | qleft, | |
double | qright, | |||
unsigned | id | |||
) | [pure virtual, inherited] |
Referenced by TofCheckDigi::Fill_Barrel(), TofCheckDigi::Fill_MRPC(), and TofTrack::tofDataAnalysis().
const double TofCaliSvc::ZADC | ( | double | qleft, | |
double | qright, | |||
unsigned int | id | |||
) |
virtual const double ITofCaliSvc::ZADC1 | ( | double | qright, | |
unsigned | id, | |||
double | z | |||
) | [pure virtual, inherited] |
Referenced by TofCheckDigi::Fill_TofTrack().
const double TofCaliSvc::ZADC1 | ( | double | qright, | |
unsigned int | id, | |||
double | z | |||
) |
virtual const double ITofCaliSvc::ZADC2 | ( | double | qleft, | |
unsigned | id, | |||
double | z | |||
) | [pure virtual, inherited] |
Referenced by TofCheckDigi::Fill_TofTrack().
const double TofCaliSvc::ZADC2 | ( | double | qleft, | |
unsigned int | id, | |||
double | z | |||
) |
virtual const double ITofCaliSvc::ZTDC | ( | double | tleft, | |
double | tright, | |||
unsigned | id | |||
) | [pure virtual, inherited] |
const double TofCaliSvc::ZTDC | ( | double | tleft, | |
double | tright, | |||
unsigned int | id | |||
) |
virtual const double ITofCaliSvc::ZTDC1 | ( | double | tright, | |
unsigned | id, | |||
double | z | |||
) | [pure virtual, inherited] |
Referenced by TofCheckDigi::Fill_TofTrack().
const double TofCaliSvc::ZTDC1 | ( | double | tright, | |
unsigned int | id, | |||
double | z | |||
) |
virtual const double ITofCaliSvc::ZTDC2 | ( | double | tleft, | |
unsigned | id, | |||
double | z | |||
) | [pure virtual, inherited] |
Referenced by TofCheckDigi::Fill_TofTrack().
const double TofCaliSvc::ZTDC2 | ( | double | tleft, | |
unsigned int | id, | |||
double | z | |||
) |
std::vector<BTofCal*> TofCaliSvc::fBTofCal [private] |
Definition at line 112 of file TofCaliSvc.h.
Referenced by BPh(), BPulseHeight(), BPulseHeight1(), BPulseHeight2(), Dump(), FillfromDatabase(), and ~TofCaliSvc().
std::vector<BTofCommonCal*> TofCaliSvc::fBTofCommonCal [private] |
Definition at line 116 of file TofCaliSvc.h.
Referenced by BTofCommon(), FillfromDatabase(), TOffset(), and ~TofCaliSvc().
std::vector<EtfBunchCal*> TofCaliSvc::fEtfBunchCal [private] |
Definition at line 115 of file TofCaliSvc.h.
Referenced by EtfBunchP(), FillfromDatabase(), and ~TofCaliSvc().
std::vector<EtfCal*> TofCaliSvc::fEtfCal [private] |
Definition at line 114 of file TofCaliSvc.h.
Referenced by EtfVeff(), FillfromDatabase(), and ~TofCaliSvc().
std::vector<ETofCal*> TofCaliSvc::fETofCal [private] |
Definition at line 113 of file TofCaliSvc.h.
Referenced by Dump(), EPh(), EPulseHeight(), FillfromDatabase(), and ~TofCaliSvc().
std::vector<TofInfoCal*> TofCaliSvc::fTofInfoCal [private] |
Definition at line 117 of file TofCaliSvc.h.
Referenced by BrEast(), BrWest(), Endcap(), Etf(), FillfromDatabase(), MisLable(), QCorr(), QElec(), RunBegin(), RunEnd(), TofInfo(), Version(), and ~TofCaliSvc().
bool TofCaliSvc::m_hasbeeninitialized [private] |
IDataProviderSvc* TofCaliSvc::m_pCalibDataSvc [private] |
IntegerProperty TofCaliSvc::m_run [private] |