23#include "GaudiKernel/DataObject.h"
25#include "GaudiKernel/ServiceHandle.h"
26#include "GaudiKernel/System.h"
38 std::string name_from_clid (
const CLID clid)
41 o <<
"AthenaRootxAODCnv_" << clid;
55 ISvcLocator* pSvcLocator ) :
97 if ( ::Converter::initialize().isFailure() ) {
99 return StatusCode::FAILURE;
106 IDictLoaderSvc_t dictSvc(
"AthDictLoaderSvc",
109 if ( !dictSvc.retrieve().isSuccess() ) {
110 ATH_MSG_ERROR(
"could not retrieve [" << dictSvc.typeAndName() <<
"] !");
111 return StatusCode::FAILURE;
114 RootType ty = dictSvc->load_type(this->objType());
116 << this->objType() <<
"]: name=["
117 << ty.
Name() <<
"]");
120 ATH_MSG_DEBUG(
"converter correctly initialized - clid=[" << objType() <<
"]");
121 return StatusCode::SUCCESS;
145 ATH_MSG_DEBUG(
"::createObj(" << pAddr <<
", " << pObj <<
")");
149 return StatusCode::FAILURE;
152 <<
"/" << rba->par()[1] <<
"]...");
158 <<
"/" << rba->par()[1] <<
"]... [done]");
165 return StatusCode::SUCCESS;
176 ATH_MSG_INFO(
"::createRep(" << pObj <<
", " << pAddr <<
")");
179 return StatusCode::FAILURE;
181 msg(MSG::INFO) <<
" -> clid: [" << pObj->clID() <<
"]" <<
endmsg
182 <<
" -> name: [" << pObj->name() <<
"]" <<
endmsg;
211 (
unsigned long)(value_ptr),
212 (
unsigned long)(m_nbrEvts-1));
215 return StatusCode::SUCCESS;
221 std::cout <<
"Calling xAODCnv::storageType" << std::endl;
#define ATH_MSG_VERBOSE(x)
uint32_t CLID
The Class ID type.
Include TBranchElement.h, suppressing clang warnings.
MsgStream & msg() const
The standard message stream.
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
A simple class to do the retrieve from TEvent.
virtual ~xAODCnv()
Destructor:
static long storageType()
xAODCnv(const CLID &clid, ISvcLocator *pSvcLocator)
Constructor with parameters:
virtual StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj)
Create a transient object from a persistent representation.
virtual StatusCode initialize()
Gaudi Service Implementation.
virtual StatusCode createRep(DataObject *pObj, IOpaqueAddress *&pAddr)
Create a persistent representation for a transient object.
RootType m_type
the type we can convert
std::string Name(unsigned int mod=Reflex::SCOPED) const
Some weak symbol referencing magic... These are declared in AthenaKernel/getMessageSvc....
static const DbType ROOT_StorageType