00001 #include "GaudiKernel/MsgStream.h" 00002 #include "TreeMdcDataConstCnv.h" 00003 #include "CalibData/Mdc/MdcDataConst.h" 00004 #include "CalibDataSvc/IInstrumentName.h" 00005 #include "CalibMySQLCnv/TreeAddress.h" 00006 #include "TFile.h" 00007 #include "TTree.h" 00008 #include "TDirectory.h" 00009 #include "TObject.h" 00010 #include "TBuffer.h" 00011 00012 #include "GaudiKernel/CnvFactory.h" 00013 #include "GaudiKernel/IOpaqueAddress.h" 00014 #include "GaudiKernel/DataObject.h" 00015 #include "GaudiKernel/IAddressCreator.h" 00016 #include "GaudiKernel/IDataProviderSvc.h" 00017 #include "GaudiKernel/IConversionSvc.h" 00018 #include "GaudiKernel/GenericAddress.h" 00019 00020 #include "CalibDataSvc/ICalibTreeSvc.h" //maybe 00021 #include "CalibDataSvc/ICalibMetaCnvSvc.h" 00022 00023 // Temporary. Hope to find a better way to do this 00024 #include "CalibData/CalibModel.h" 00025 using namespace CalibData; 00026 00027 00028 TreeMdcDataConstCnv::TreeMdcDataConstCnv( ISvcLocator* svc) : 00029 TreeCalBaseCnv(svc, CLID_Calib_MdcDataConst) { 00030 } 00031 00032 00033 const CLID& TreeMdcDataConstCnv::objType() const { 00034 return CLID_Calib_MdcDataConst; 00035 } 00036 00037 const CLID& TreeMdcDataConstCnv::classID() { 00038 return CLID_Calib_MdcDataConst; 00039 } 00040 00041 StatusCode TreeMdcDataConstCnv::i_createObj(IOpaqueAddress* addr, DataObject*& refpObject) { 00042 00043 MsgStream log(msgSvc(), "TreeMdcDataConstCnv"); 00044 log<<MSG::DEBUG<<"SetProperty"<<endreq; 00045 00046 CalibData::MdcDataConst *tmpObject = new CalibData::MdcDataConst; 00047 TreeAddress* add = dynamic_cast<TreeAddress*>(addr); 00048 00049 DatabaseRecord *records=add->pp(); 00050 std::cout<<" SftVer is "<<(*records)["SftVer"]; 00051 std::cout<<" MdcDataConst CalVerSft is "<<(*records)["CalParVer"]; 00052 std::cout<<" File name is "<<(*records)["FileName"]<<std::endl; 00053 00054 tmpObject->readPar((*records)["WireEff"]); 00055 refpObject=tmpObject; 00056 00057 return StatusCode::SUCCESS; 00058 } 00059