/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Calibration/CalibData/CalibData-00-01-18/src/Tof/TofCalibData.cxx

Go to the documentation of this file.
00001 #include "GaudiKernel/MsgStream.h"
00002 #include "CalibData/Tof/bTofCalibBase.h"
00003 #include "CalibData/Tof/bTofCommonCalibBase.h"
00004 #include "CalibData/Tof/eTofCalibBase.h"
00005 #include "CalibData/Tof/etfCalibBase.h"
00006 #include "CalibData/Tof/TofCalibData.h"
00007 
00008 namespace CalibData {
00009 
00010   TofCalibData::TofCalibData(std::vector<bTofCalibBase>* bTofCal,std::vector<bTofCommonCalibBase>* bTofComCal,std::vector<eTofCalibBase>* eTofCal,std::vector<etfCalibBase>* etfCal,std::vector<etfBunchCalibBase>* etfBunchCal,std::vector<tofCalibInfoBase>* tofInfoCal){
00011     if(bTofCal){
00012       m_bTofCalibData = new std::vector<bTofCalibBase>(*bTofCal);
00013     }
00014     if(bTofComCal){
00015       m_bTofCommonCalibData = new std::vector<bTofCommonCalibBase>(*bTofComCal);
00016     }
00017     if(eTofCal){
00018       m_eTofCalibData = new std::vector<eTofCalibBase>(*eTofCal);
00019     }
00020 
00021     m_hasEtf = false;
00022     m_etfCalibData = NULL;
00023     if( etfCal->size() > 0  ) {
00024       m_hasEtf = true;
00025       m_etfCalibData = new std::vector<etfCalibBase>(*etfCal);
00026     }
00027     m_hasEtfBunch = false;
00028     m_etfBunchCalibData = NULL;
00029     if( etfBunchCal->size() > 0  ) {
00030       m_hasEtfBunch = true;
00031       m_etfBunchCalibData = new std::vector<etfBunchCalibBase>(*etfBunchCal);
00032     }
00033 
00034     if(tofInfoCal){
00035       m_tofCalibInfoData = new std::vector<tofCalibInfoBase>(*tofInfoCal);
00036     }
00037   }
00038      
00039   TofCalibData::TofCalibData(std::vector<bTofCalibBase>* bTofCal,std::vector<bTofCommonCalibBase>* bTofComCal,std::vector<eTofCalibBase>* eTofCal,std::vector<etfCalibBase>* etfCal,std::vector<tofCalibInfoBase>* tofInfoCal){
00040     if(bTofCal){
00041       m_bTofCalibData = new std::vector<bTofCalibBase>(*bTofCal);
00042     }
00043     if(bTofComCal){
00044       m_bTofCommonCalibData = new std::vector<bTofCommonCalibBase>(*bTofComCal);
00045     }
00046     if(eTofCal){
00047       m_eTofCalibData = new std::vector<eTofCalibBase>(*eTofCal);
00048     }
00049 
00050     m_hasEtf = false;
00051     m_etfCalibData = NULL;
00052     if( etfCal->size() > 0  ) {
00053       m_hasEtf = true;
00054       m_etfCalibData = new std::vector<etfCalibBase>(*etfCal);
00055     }
00056     m_hasEtfBunch = false;
00057     m_etfBunchCalibData = NULL;
00058 
00059     if(tofInfoCal){
00060       m_tofCalibInfoData = new std::vector<tofCalibInfoBase>(*tofInfoCal);
00061     }
00062   }
00063      
00064   TofCalibData::TofCalibData(std::vector<bTofCalibBase>* bTofCal,std::vector<bTofCommonCalibBase>* bTofComCal,std::vector<eTofCalibBase>* eTofCal,std::vector<tofCalibInfoBase>* tofInfoCal){
00065     if(bTofCal){
00066       m_bTofCalibData = new std::vector<bTofCalibBase>(*bTofCal);
00067     }
00068     if(bTofComCal){
00069       m_bTofCommonCalibData = new std::vector<bTofCommonCalibBase>(*bTofComCal);
00070     }
00071     if(eTofCal){
00072       m_eTofCalibData = new std::vector<eTofCalibBase>(*eTofCal);
00073     }
00074     if(tofInfoCal){
00075       m_tofCalibInfoData = new std::vector<tofCalibInfoBase>(*tofInfoCal);
00076     }
00077     m_hasEtf            = false;
00078     m_etfCalibData      = NULL;
00079     m_hasEtfBunch       = false;
00080     m_etfBunchCalibData = NULL;
00081   }
00082 
00083   StatusCode TofCalibData::update(CalibBase1& other, MsgStream* log)
00084   {
00085     TofCalibData& other1 = dynamic_cast<TofCalibData& >(other);
00086     std::cout<<"========================================"<<"\n"<<"here is the update in the TofCalibData"<<"\n"<<"========================================"<<std::endl;
00087     CalibBase1::update(other, log);
00088     delete m_bTofCalibData;
00089     m_bTofCalibData = new std::vector<bTofCalibBase>(*(other1.m_bTofCalibData));
00090     delete m_bTofCommonCalibData;
00091     m_bTofCommonCalibData = new std::vector<bTofCommonCalibBase>(*(other1.m_bTofCommonCalibData));
00092     delete m_eTofCalibData;
00093     m_eTofCalibData = new std::vector<eTofCalibBase>(*(other1.m_eTofCalibData));
00094     delete m_tofCalibInfoData;
00095     m_tofCalibInfoData = new std::vector<tofCalibInfoBase>(*(other1.m_tofCalibInfoData));
00096 
00097     if( m_etfCalibData ) { delete m_etfCalibData; }
00098     if( other1.m_etfCalibData ) {
00099       if( (other1.m_etfCalibData)->size() > 0 ) {
00100         m_etfCalibData = new std::vector<etfCalibBase>(*(other1.m_etfCalibData));
00101         m_hasEtf = true;
00102       }
00103     }
00104     else {
00105       m_etfCalibData = NULL;
00106       m_hasEtf = false;
00107     }
00108 
00109     if( m_etfBunchCalibData ) { delete m_etfBunchCalibData; }
00110     if( other1.m_etfBunchCalibData ) {
00111       if( (other1.m_etfBunchCalibData)->size() > 0 ) {
00112         m_etfBunchCalibData = new std::vector<etfBunchCalibBase>(*(other1.m_etfBunchCalibData));
00113         m_hasEtfBunch = true;
00114       }
00115     }
00116     else {
00117       m_etfBunchCalibData = NULL;
00118       m_hasEtfBunch = false;
00119     }
00120 
00121     return StatusCode::SUCCESS;  
00122   }     
00123  
00124   //get the CalibData
00125 
00126   bTofCalibBase TofCalibData::getBTof(int cnt) const{
00127     std::vector<bTofCalibBase>::iterator it = m_bTofCalibData->begin();
00128     for(int i=0;i!=cnt;i++,it++) {  
00129     }
00130     return *it;
00131   }
00132 
00133   bTofCommonCalibBase TofCalibData::getBTofCom() const{
00134     std::vector<bTofCommonCalibBase>::iterator it = m_bTofCommonCalibData->begin();
00135     return *it;
00136   }
00137 
00138   eTofCalibBase TofCalibData::getETof(int cnt) const{
00139     std::vector<eTofCalibBase>::iterator it = m_eTofCalibData->begin();
00140     for(int i=0;i!=cnt;i++,it++) {  
00141     }
00142     return *it;
00143   }
00144 
00145   etfCalibBase TofCalibData::getEtf(int cnt,int strip) const{
00146     std::vector<etfCalibBase>::iterator it = m_etfCalibData->begin();
00147     for(int i=0;i!=cnt;i++) {  
00148       for( int j=0;j!=12;j++,it++) {
00149       }
00150     }
00151     for( int j=0;j!=strip;j++,it++) {
00152     }
00153     return *it;
00154   }
00155 
00156   etfBunchCalibBase TofCalibData::getEtfBunch() const{
00157     std::vector<etfBunchCalibBase>::iterator it = m_etfBunchCalibData->begin();
00158     return *it;
00159   }
00160 
00161   tofCalibInfoBase TofCalibData::getTofInfo() const{
00162     std::vector<tofCalibInfoBase>::iterator it = m_tofCalibInfoData->begin();
00163     return *it;
00164   }
00165 
00166   double TofCalibData::getBTofAtten(int index,int pardex){
00167     bTofCalibBase bTof = getBTof(index);
00168     return  bTof.getAtten(pardex);
00169   }
00170 
00171   double TofCalibData::getBTofSpeed(int index,int pardex){
00172     bTofCalibBase bTof = getBTof(index);
00173     return  bTof.getSpeed(pardex);
00174   }
00175  
00176   double TofCalibData::getBTofPleft(int index,int pardex){
00177     bTofCalibBase bTof = getBTof(index);
00178     return bTof.getP1(pardex);
00179   }
00180 
00181   double TofCalibData::getBTofPright(int index,int pardex){
00182     bTofCalibBase bTof = getBTof(index);
00183     return bTof.getP2(pardex);
00184   }
00185 
00186   double TofCalibData::getBTofPoffleft_bunch0(int index,int pardex){
00187     bTofCalibBase bTof = getBTof(index);
00188     return bTof.getPoff1_bunch0(pardex);
00189   }
00190 
00191   double TofCalibData::getBTofPoffright_bunch0(int index,int pardex){
00192     bTofCalibBase bTof = getBTof(index);
00193     return bTof.getPoff2_bunch0(pardex);
00194   }
00195 
00196   double TofCalibData::getBTofPoffleft_bunch1(int index,int pardex){
00197     bTofCalibBase bTof = getBTof(index);
00198     return bTof.getPoff1_bunch1(pardex);
00199   }
00200   
00201   double TofCalibData::getBTofPoffright_bunch1(int index,int pardex){
00202     bTofCalibBase bTof = getBTof(index);
00203     return bTof.getPoff2_bunch1(pardex);
00204   } 
00205 
00206   double TofCalibData::getBTofPoffleft_bunch2(int index,int pardex){
00207     bTofCalibBase bTof = getBTof(index);
00208     return bTof.getPoff1_bunch2(pardex);
00209   }
00210   
00211   double TofCalibData::getBTofPoffright_bunch2(int index,int pardex){
00212     bTofCalibBase bTof = getBTof(index);
00213     return bTof.getPoff2_bunch2(pardex);
00214   }
00215 
00216   double TofCalibData::getBTofPoffleft_bunch3(int index,int pardex){
00217     bTofCalibBase bTof = getBTof(index);
00218     return bTof.getPoff1_bunch3(pardex);
00219   }
00220 
00221   double TofCalibData::getBTofPoffright_bunch3(int index,int pardex){
00222     bTofCalibBase bTof = getBTof(index);
00223     return bTof.getPoff2_bunch3(pardex);
00224   }
00225 
00226   double TofCalibData::getBTofFleft(int index,int pardex){
00227     bTofCalibBase bTof = getBTof(index);
00228     return bTof.getFleft(pardex);
00229   }
00230 
00231   double TofCalibData::getBTofFright(int index,int pardex){
00232     bTofCalibBase bTof = getBTof(index);
00233     return bTof.getFright(pardex);
00234   }
00235 
00236   double TofCalibData::getBTofFcounter(int index,int pardex){
00237     bTofCalibBase bTof = getBTof(index);
00238     return bTof.getFcounter(pardex);
00239   }
00240 
00241   double TofCalibData::getBTofOffset(int pardex){
00242     bTofCommonCalibBase bTofCom = getBTofCom();
00243     return bTofCom.getOffset(pardex);
00244   }
00245 
00246   double TofCalibData::getBTofSigmaCorr(int pardex){
00247     bTofCommonCalibBase bTofCom = getBTofCom();
00248     return bTofCom.getSigmaCorr(pardex);
00249   }
00250 
00251   double TofCalibData::getETofAtten(int index,int pardex){
00252     eTofCalibBase eTof = getETof(index);
00253     return  eTof.getAtten(pardex);
00254   }
00255 
00256   double TofCalibData::getETofSpeed(int index,int pardex){
00257     eTofCalibBase eTof = getETof(index);
00258     return  eTof.getSpeed(pardex);
00259   }
00260 
00261   double TofCalibData::getETofP(int index,int pardex){
00262     eTofCalibBase eTof = getETof(index);
00263     return eTof.getP(pardex);
00264   }
00265 
00266   double TofCalibData::getETofFP(int index,int pardex){
00267     eTofCalibBase eTof = getETof(index);
00268     return eTof.getFP(pardex);
00269   }
00270 
00271   double TofCalibData::getEtfSpeed(int index,int strip,int pardex){
00272     if( !m_hasEtf ) { return 1.0; }
00273     etfCalibBase etf = getEtf(index,strip);
00274     return  etf.getSpeed(pardex);
00275   }
00276  
00277   double TofCalibData::getEtfPcombine(int index,int strip,int pardex){
00278     if( !m_hasEtf ) { return 1.0; }
00279     etfCalibBase etf = getEtf(index,strip);
00280     return etf.getP(pardex);
00281   }
00282 
00283   double TofCalibData::getEtfPleft(int index,int strip,int pardex){
00284     if( !m_hasEtf ) { return 1.0; }
00285     etfCalibBase etf = getEtf(index,strip);
00286     return etf.getP1(pardex);
00287   }
00288 
00289   double TofCalibData::getEtfPright(int index,int strip,int pardex){
00290     if( !m_hasEtf ) { return 1.0; }
00291     etfCalibBase etf = getEtf(index,strip);
00292     return etf.getP2(pardex);
00293   }
00294 
00295   double TofCalibData::getEtfPBunch(int pardex){
00296     if( !m_hasEtfBunch ) { return 0.0; }
00297     etfBunchCalibBase etfBunch = getEtfBunch();
00298     return etfBunch.getPBunch(pardex);
00299   }
00300 
00301   int TofCalibData::getRunBegin(){
00302     tofCalibInfoBase tofInfo = getTofInfo();
00303     return tofInfo.getRunBegin();
00304   }
00305 
00306   int TofCalibData::getRunEnd(){
00307     tofCalibInfoBase tofInfo = getTofInfo();
00308     return tofInfo.getRunEnd();
00309   }
00310 
00311   int TofCalibData::getVersion(){
00312     tofCalibInfoBase tofInfo = getTofInfo();
00313     return tofInfo.getVersion();
00314   }
00315 
00316   int TofCalibData::getQCorr(){
00317     tofCalibInfoBase tofInfo = getTofInfo();
00318     return tofInfo.getQCorr();
00319   }
00320 
00321   int TofCalibData::getQElec(){
00322     tofCalibInfoBase tofInfo = getTofInfo();
00323     return tofInfo.getQElec();
00324   }
00325 
00326   int TofCalibData::getMisLable(){
00327     tofCalibInfoBase tofInfo = getTofInfo();
00328     return tofInfo.getMisLable();
00329   }
00330 
00331   int TofCalibData::getBrEast(int index){
00332     tofCalibInfoBase tofInfo = getTofInfo();
00333     return tofInfo.getBrEast(index);
00334   }
00335 
00336   int TofCalibData::getBrWest(int index){
00337     tofCalibInfoBase tofInfo = getTofInfo();
00338     return tofInfo.getBrWest(index);
00339   }
00340 
00341   int TofCalibData::getEndcap(int index){
00342     tofCalibInfoBase tofInfo = getTofInfo();
00343     return tofInfo.getEndcap(index);
00344   }
00345 
00346 }
00347 
00348 

Generated on Tue Nov 29 22:57:48 2016 for BOSS_7.0.2 by  doxygen 1.4.7