1#include "GaudiKernel/GenericAddress.h"
2#include "GaudiKernel/IConversionSvc.h"
3#include "GaudiKernel/IConverter.h"
4#include "GaudiKernel/IDataProviderSvc.h"
5#include "GaudiKernel/IDetDataSvc.h"
6#include "GaudiKernel/ISvcLocator.h"
7#include "GaudiKernel/MsgStream.h"
9#include "CalibData/CalibBase.h"
10#include "CalibData/CalibBase1.h"
11#include "CalibDataSvc/IInstrumentName.h"
60 StatusCode sc = ConversionSvc::initialize();
62 MsgStream log(
msgSvc(),
"CalibTreeCnvSvc" );
64 if ( !sc.isSuccess() )
return sc;
71 sc = serviceLocator()->getService(
"CalibDataSvc", IDataProviderSvc::interfaceID(),
72 (IInterface*&)m_detDataSvc );
73 if ( !sc.isSuccess() )
75 log << MSG::ERROR <<
"Could not locate CalibDataSvc" << endmsg;
84 sc = setDataProvider( m_detDataSvc );
85 if ( !sc.isSuccess() )
87 log << MSG::ERROR <<
"Could not set data provider" << endmsg;
94 sc = serviceLocator()->service(
"DetectorPersistencySvc", m_detPersSvc,
true );
95 if ( !sc.isSuccess() )
97 log << MSG::ERROR <<
"Cannot locate IConversionSvc interface of DetectorPersistencySvc"
103 log << MSG::DEBUG <<
"Retrieved IConversionSvc interface of DetectorPersistencySvc"
108 IAddressCreator* iAddrCreator;
111 sc = m_detPersSvc->queryInterface( IAddressCreator::interfaceID(), (
void**)&iAddrCreator );
112 if ( !sc.isSuccess() )
114 log << MSG::ERROR <<
"Cannot query IAddressCreator interface of DetectorPersistencySvc"
120 log << MSG::DEBUG <<
"Retrieved IAddressCreator interface of DetectorPersistencySvc"
123 log << MSG::DEBUG <<
"Set it as the address creator of the CalibTreeCnvSvc" << endmsg;
124 sc = setAddressCreator( iAddrCreator );
125 if ( !sc.isSuccess() )
127 log << MSG::ERROR <<
"Cannot set the address creator" << endmsg;
139 return ConversionSvc::finalize();
143 const std::string* par,
const unsigned long* ip,
144 IOpaqueAddress*& refpAddress ) {
146 MsgStream log(
msgSvc(), name() );
149 log << MSG::ERROR <<
"bad storage type" << (int)svc_type << endmsg;
150 return StatusCode::FAILURE;
152 std::string dataIdent;
153 std::string fullpath;
159 else { log << MSG::WARNING <<
"Wrong CLID" << endmsg; }
213 return StatusCode::SUCCESS;
220 MsgStream log(
msgSvc(),
"CalibTreeCnvSvc" );
223 log << MSG::DEBUG <<
"CalibTreeCnvSvc::updateObj starting ...." << endmsg;
225 return StatusCode::SUCCESS;
229 const ICnvFactory* fac ) {
263 return ConversionSvc::createConverter( typ, wanted, fac );
DECLARE_COMPONENT(BesBdkRc)
const CLID CLID_Calib_EmcCal
const CLID CLID_Calib_DedxCal
const CLID CLID_Calib_MdcCal
const CLID CLID_Calib_TofCal
unsigned const char CALIBTREE_StorageType
virtual StatusCode finalize()
IConverter * createConverter(long typ, const CLID &clid, const ICnvFactory *fac)
virtual StatusCode initialize()
CalibTreeCnvSvc(const std::string &name, ISvcLocator *svc)
virtual StatusCode updateObj(IOpaqueAddress *pAddress, DataObject *pObject)
virtual StatusCode createAddress(long svc_type, const CLID &clid, const std::string *par, const unsigned long *ip, IOpaqueAddress *&refpAddress)
static const CLID & classID()
static const CLID & classID()
static const CLID & classID()
static const CLID & classID()
static const CLID & classID()
static const CLID & classID()
static const CLID & classID()
static const CLID & classID()
static const CLID & classID()
static const CLID & classID()
static const CLID & classID()
static const CLID & classID()
static const CLID & classID()
static const CLID & classID()
static const CLID & classID()
static const CLID & classID()