/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Calibration/CalibSvc/CalibROOTCnv/CalibROOTCnv-00-01-13/src/test/UseEstTof.cxx

Go to the documentation of this file.
00001 //$Header: /bes/bes/BossCvs/Calibration/CalibSvc/CalibROOTCnv/src/test/UseEstTof.cxx,v 1.2 2009/09/22 07:40:45 huangb Exp $
00002 /*#include <stdio.h>
00003 #include "GaudiKernel/Algorithm.h"
00004 #include "GaudiKernel/AlgFactory.h"
00005 #include "GaudiKernel/IDataProviderSvc.h"
00006 #include "GaudiKernel/Service.h"
00007 #include "GaudiKernel/MsgStream.h"
00008 #include "GaudiKernel/SmartDataPtr.h"
00009 #include "CalibData/Tof/EstTofCalibData.h"
00010 #include "CalibData/Tof/bTofCalibBase.h"
00011 #include "CalibData/CalibModel.h"
00012 #include "GaudiKernel/DataSvc.h"
00013 #include "CalibDataSvc/ICalibRootSvc.h"
00014 
00015 using namespace std;
00017 class UseTof : public Algorithm {
00018 
00019 public:
00020   UseTof(const std::string& name, ISvcLocator* pSvcLocator); 
00021 
00022   StatusCode initialize();
00023 
00024   StatusCode execute();
00025 
00026   StatusCode finalize();
00027 
00028 private:
00029   IDataProviderSvc* m_pCalibDataSvc;
00030   ICalibRootSvc*    m_pRootSvc;
00031   // Maybe something to say which kind of data to look up?
00032 
00033 };
00034 
00036 //static const AlgFactory<UseTof> Factory;
00037 //const IAlgFactory& UseCalibFactory = Factory;
00038 //const IAlgFactory& UseTofFactory = Factory;
00039 */
00040 #include "UseEstTof.h"
00041 #include "TFile.h"
00042 #include "TTree.h"
00043 #include "TDirectory.h"
00044 #include "TObject.h"
00045 #include "CalibData/Tof/TofElecData.h"
00046 #include "CalibData/Tof/BarrelElec.h"
00047 #include "CalibData/Tof/EndcapElec.h"
00048 
00049 UseEstTof::UseEstTof( const std::string&  name, 
00050                     ISvcLocator*        pSvcLocator )
00051   : Algorithm     ( name, pSvcLocator ), m_pCalibDataSvc(0)
00052 {
00053   // Declare properties here.
00054 
00055 }
00056 
00057 
00058 StatusCode UseEstTof::initialize() {
00059   StatusCode sc;
00060   MsgStream log(msgSvc(), name());
00061   log << MSG::INFO << "Initialize()" << endreq;
00062 
00063   // So far don't have any properties, but in case we do some day..
00064 //  setProperties();
00065 
00066    log<<MSG::INFO << "setProperties()" << endreq;
00067   
00068    sc = service("CalibDataSvc", m_pCalibDataSvc, true);
00069 
00070   if ( !sc.isSuccess() ) {
00071     log << MSG::ERROR 
00072         << "Could not get IDataProviderSvc interface of CalibXmlCnvSvc" 
00073         << endreq;
00074     return sc;
00075   } else {
00076     log << MSG::DEBUG 
00077         << "Retrieved IDataProviderSvc interface of CalibXmlCnvSvc" 
00078         << endreq;
00079   }
00080   
00081   sc = service("CalibRootCnvSvc", m_pRootSvc, true);
00082   if ( !sc.isSuccess() ) {
00083     log << MSG::ERROR 
00084         << "Could not get ICalibRootSvc interface of CalibRootCnvSvc" 
00085         << endreq;
00086     return sc;
00087   }
00088   // Get properties from the JobOptionsSvc
00089   
00090  sc = setProperties();
00091 
00092  return StatusCode::SUCCESS;
00093 
00094 }
00095 
00096 
00097 StatusCode UseEstTof::execute( ) {
00098    
00099   MsgStream log(msgSvc(), name());
00100 
00101   // Cheat for now since Windows is having trouble finding definition
00102   // of Calibdata::Test_t
00103   std::string fullPath = "/Calib/TofQElec";
00104    log << MSG::INFO<<"execute() fullPath = "<<fullPath<< endreq;
00105 
00106     SmartDataPtr<CalibData::TofElecData> btof(m_pCalibDataSvc, fullPath);
00107   
00108    for(int i =0;i<96;i++)
00109       {
00110         CalibData::BarrelElec aa = btof->getBTof(i);
00111         CalibData::EndcapElec bb = btof->getETof(i);
00112        std::cout<<"i==========="<<i<<std::endl;
00113        for(int j=0;j<4;j++){
00114        std::cout<<"getNumEast=="<<aa.getNumEast(j)<<"   getNumWest=="<<aa.getNumWest(j)<<std::endl;
00115         std::cout<<"getEast=="<<bb.getNum(j)<<std::endl;
00116         }
00117        for(int j=0;j<10;j++){ 
00118         std::cout<<"j==="<<j<<std::endl;
00119         std::cout<<"  getP1=="<<aa.getP1(j)<<std::endl;
00120         std::cout<<"  getP2=="<<aa.getP2(j)<<std::endl;
00121          std::cout<<"  getSimP1=="<<aa.getSimP1(j)<<std::endl;   
00122          std::cout<<"  getSimP2=="<<aa.getSimP2(j)<<std::endl;       
00123          std::cout<<"  getP=="<<bb.getP(j)<<std::endl;
00124           std::cout<<"  getSimP=="<<bb.getSimP(j)<<std::endl;
00125    }
00126       }
00127 
00128 
00129    
00130  
00131 
00132        //maqm comment because cann't write 
00133    //    m_pRootSvc->writeToRoot("./Tof_test.root", fullPath);
00134   
00135   return StatusCode::SUCCESS;
00136 }
00137 /*
00138 DataSvc::retrieveObject(fullPath,CalibData::CalibTest1);
00139 */
00140 StatusCode UseEstTof::finalize( ) {
00141 
00142   MsgStream log(msgSvc(), name());
00143   log << MSG::INFO 
00144       << "        UseTof FINALIZE!! "
00145       << endreq;
00146   
00147   return StatusCode::SUCCESS;
00148 }
00149 

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