5#ifndef ATHENAPOOLCNVSVC_ATHENAPOOLCONVERTER_H
6#define ATHENAPOOLCNVSVC_ATHENAPOOLCONVERTER_H
13#include "GaudiKernel/Converter.h"
14#include "GaudiKernel/ServiceHandle.h"
49 virtual StatusCode
finalize()
override;
56 virtual StatusCode
createObj(IOpaqueAddress* pAddr, DataObject*& pObj)
override;
61 virtual StatusCode
createRep(DataObject* pObj, IOpaqueAddress*& pAddr)
override;
66 virtual StatusCode
fillRepRefs(IOpaqueAddress* pAddr, DataObject* pObj)
override;
78 virtual StatusCode
cleanUp(
const std::string& output)
override;
84 const char* name =
nullptr);
101 const std::string& key) = 0;
uint32_t CLID
The Class ID type.
This file contains the class definition for the IAthenaPoolCleanUp class.
This file contains the class definition for the IPoolSvc interface class.
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
virtual StatusCode initialize() override
Gaudi Service Interface method implementations:
ServiceHandle< StoreGateSvc > m_detStore
std::map< std::string, RootType > ClassMap
static const CLID & classID()
virtual ~AthenaPoolConverter()
Destructor.
ServiceHandle< IAthenaPoolCnvSvc > m_athenaPoolCnvSvc
std::string m_branchNameHint
virtual Placement setPlacementWithType(const std::string &tname, const std::string &key, const std::string &output)
Set POOL placement hint for a given type.
virtual long repSvcType() const override
virtual StatusCode PoolToDataObject(DataObject *&pObj, const Token *token, const std::string &key)=0
Read an object from POOL.
ClassMap::const_iterator ClassMapIt
const Token * m_i_poolToken
virtual const DataObject * getDataObject() const
const ServiceHandle< StoreGateSvc > & detStore() const
Handle to DetectorStore.
bool compareClassGuid(const Guid &guid) const
std::string m_containerNameHint
virtual StatusCode DataObjectToPool(IOpaqueAddress *pAddr, DataObject *pObj)=0
Write an object into POOL.
virtual StatusCode DataObjectToPers(DataObject *pObj, IOpaqueAddress *&pAddr)=0
Convert an object into Persistent.
AthenaPoolConverter(const CLID &id, ISvcLocator *pSvcLocator, const char *name=nullptr)
Standard Service Constructor.
virtual StatusCode fillRepRefs(IOpaqueAddress *pAddr, DataObject *pObj) override
Create a POOL persistent representation for a transient object.
const DataObject * m_dataObject
virtual StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj) override
Create a transient object from a POOL persistent representation.
virtual StatusCode cleanUp(const std::string &output) override
Implement cleanUp for AthenaPoolConverter to do nothing.
virtual StatusCode createRep(DataObject *pObj, IOpaqueAddress *&pAddr) override
Create a POOL persistent representation for a transient object.
static long storageType()
virtual StatusCode finalize() override
std::string m_containerPrefix
virtual Placement setPlacement(const std::string &key, const std::string &output)=0
Set POOL placement hint; pure virtual method implemented by classes templated by type.
Abstract factory to create the converter.
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
IAthenaPoolCleanUp()=default
Standard Constructor.
This class provides the interface between Athena and PoolSvc.
This class holds all the necessary information to guide the writing of an object in a physical place.
This class provides a token that identifies in a unique way objects on the persistent storage.