TofCaliSvc Class Reference

#include <TofCaliSvc.h>

Inheritance diagram for TofCaliSvc:

ITofCaliSvc List of all members.

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 &)
BTofCalBTof (unsigned int id) const
BTofCommonCalBTofCommon () const
ETofCalETof (unsigned int id) const
EtfCalEtfTof (unsigned int id) const
TofInfoCalTofInfo () 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 BTofCalBTof (unsigned id) const =0
virtual ETofCalETof (unsigned id) const =0
virtual EtfCalEtfTof (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

Detailed Description

Definition at line 26 of file TofCaliSvc.h.


Constructor & Destructor Documentation

TofCaliSvc::TofCaliSvc ( const std::string name,
ISvcLocator *  svcloc 
)

Definition at line 45 of file TofCaliSvc.cxx.

References m_run.

00045                                                                    : Service(name, svcloc) {
00046   declareProperty("Run",m_run=1);
00047 }

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 }


Member Function Documentation

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().

BTofCal* TofCaliSvc::BTof ( unsigned int  id  )  const

Referenced by Dump().

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.

References a0, and fETofCal.

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.

References a0, and fETofCal.

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]

Referenced by TofShower::energyCalib(), TofEnergyCalib::execute(), TofCheckDigi::Fill_Barrel(), TofCheckDigi::Fill_MRPC(), and TofTrack::tofDataAnalysis().

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 
)


Member Data Documentation

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]

Definition at line 107 of file TofCaliSvc.h.

Referenced by handle(), and initialize().

IDataProviderSvc* TofCaliSvc::m_pCalibDataSvc [private]

Definition at line 110 of file TofCaliSvc.h.

Referenced by FillfromDatabase(), and initialize().

IntegerProperty TofCaliSvc::m_run [private]

Definition at line 111 of file TofCaliSvc.h.

Referenced by TofCaliSvc().


Generated on Tue Nov 29 23:36:03 2016 for BOSS_7.0.2 by  doxygen 1.4.7