00001 //$Header: /bes/bes/BossCvs/Calibration/CalibSvc/CalibTreeCnv/src/test/checkDedx.cxx,v 1.5 2010/05/17 06:54:24 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/Dedx/DedxCalibData.h" 00010 #include "CalibData/CalibModel.h" 00011 #include "GaudiKernel/DataSvc.h" 00012 #include "CalibDataSvc/ICalibTreeSvc.h" 00013 using namespace std; 00015 class checkDedx : public Algorithm { 00016 00017 public: 00018 checkDedx(const std::string& name, ISvcLocator* pSvcLocator); 00019 00020 StatusCode initialize(); 00021 00022 StatusCode execute(); 00023 00024 StatusCode finalize(); 00025 00026 private: 00027 IDataProviderSvc* m_pCalibDataSvc; 00028 ICalibTreeSvc* m_pTreeSvc; 00029 // Maybe something to say which kind of data to look up? 00030 00031 }; 00032 */ 00033 #include "checkDedx.h" 00034 #include "CalibData/Dedx/DedxCalibData.h" 00035 #include "CalibData/Dedx/DedxSimData.h" 00036 #include "CalibData/Dedx/DedxCalibData.h" 00037 #include "CalibData/Emc/EmcCalibData.h" 00038 #include "CalibData/EsTime/EsTimeCalibData.h" 00039 #include "CalibData/Tof/TofCalibData.h" 00040 #include "CalibData/Muc/MucCalibData.h" 00041 #include "CalibData/Tof/TofElecData.h" 00042 #include "CalibData/Tof/TofSimData.h" 00043 #include "CalibData/Mdc/MdcAlignData.h" 00045 //static const AlgFactory<checkDedx> Factory; 00046 //const IAlgFactory& UseCalibFactory = Factory; 00047 //const IAlgFactory& checkDedxFactory = Factory; 00048 00049 checkDedx::checkDedx( 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 checkDedx::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("CalibTreeCnvSvc", m_pTreeSvc, true); 00082 if ( !sc.isSuccess() ) { 00083 log << MSG::ERROR 00084 << "Could not get ICalibTreeSvc interface of CalibTreeCnvSvc" 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 checkDedx::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/MdcCal"; 00104 // std::string fullPath = "/Calib/DedxCal"; 00105 // std::string fullPath = "/Calib/DedxSim"; 00106 // std::string fullPath = "/Calib/EmcCal"; 00107 std::string fullPath = "/Calib/EsTimeCal"; 00108 // std::string fullPath = "/Calib/EstTofCal"; 00109 // std::string fullPath = "/Calib/MucCal"; 00110 // std::string fullPath = "/Calib/TofCal"; 00111 // std::string fullPath = "/Calib/TofQElec"; 00112 // std::string fullPath = "/Calib/TofSim"; 00113 // std::string fullPath = "/Calib/MdcAlign"; 00114 log << MSG::INFO<<"execute() fullPath = "<<fullPath<< endreq; 00115 00116 // SmartDataPtr<CalibData::MdcCalibData> test(m_pCalibDataSvc, fullPath); 00117 // if(!btof) ; 00118 /* for(int i=0;i<16;i++){ 00119 std::cout<<"test->getdxEP(i)"<<test->getdxEP(i)<<std::endl; 00120 } 00121 for(int i=0;i<6796;i++){ 00122 std::cout<<"test->gettension"<<test->gettension(i)<<std::endl; 00123 }*/ 00124 // if(!test) ; 00125 // SmartDataPtr<CalibData::DedxCalibData> test(m_pCalibDataSvc, fullPath); 00126 // SmartDataPtr<CalibData::DedxSimData> test(m_pCalibDataSvc, fullPath); 00127 // SmartDataPtr<CalibData::EmcCalibData> test(m_pCalibDataSvc, fullPath); 00128 // SmartDataPtr<CalibData::TofElecData> test(m_pCalibDataSvc, fullPath); 00129 // SmartDataPtr<CalibData::TofSimData> test(m_pCalibDataSvc, fullPath); 00130 // SmartDataPtr<CalibData::MdcAlignData> test(m_pCalibDataSvc, fullPath); 00131 SmartDataPtr<CalibData::EsTimeCalibData> test(m_pCalibDataSvc, fullPath); 00132 00133 if(!test) ; 00134 // test->getBTof(0); 00135 // int qtparno = test->getgain(); 00136 // int xtno = test->getxtNo(); 00137 // int t0no = test->gett0No(); 00138 // int qtparno =test->gethistNo(); 00139 // int qtparno =test->getDigiCalibConstNo(); 00140 // int qtparno =test->getToffsete(); 00141 // int qtparno =test->getRunBegin(); 00142 // int qtparno =test->getUniformEff(); 00143 // int qtparno =test->getdyWireEast(0); 00144 // std::cout<<"qtparno="<<qtparno<<std::endl; 00145 //"xtno="<<xtno<<"t0no="<<t0no<<std::endl; 00146 // std::cout<<"xtno="<<xtno<<std::endl; 00147 00148 return StatusCode::SUCCESS; 00149 } 00150 /* 00151 DataSvc::retrieveObject(fullPath,CalibData::CalibTest1); 00152 */ 00153 StatusCode checkDedx::finalize( ) { 00154 00155 MsgStream log(msgSvc(), name()); 00156 log << MSG::INFO 00157 << " checkDedx FINALIZE!! " 00158 << endreq; 00159 00160 return StatusCode::SUCCESS; 00161 } 00162 00163