ATLAS Offline Software
T_AthenaPoolCnvBase.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ATHENAPOOLCNVSVC_T_ATHENAPOOLCNVBASE_H
6 #define ATHENAPOOLCNVSVC_T_ATHENAPOOLCNVBASE_H
7 
14 
15 #include <string>
16 
17 class DataObject;
18 class StatusCode;
19 
23 template <class T>
25 public:
27  T_AthenaPoolCnvBase(ISvcLocator* svcloc,
28  const char* name = nullptr);
29 
30 protected:
31 
34 
37  virtual StatusCode DataObjectToPers(DataObject* pObj, IOpaqueAddress*& pAddr);
38 
41  virtual StatusCode DataObjectToPool(IOpaqueAddress* pAddr, DataObject* pObj);
42 
47  virtual StatusCode PoolToDataObject(DataObject*& pObj, const Token* token,
48  const std::string& key);
49 
51  virtual Placement setPlacement(const std::string& key, const std::string& output);
52 
53 public:
55  static const CLID& classID();
56 };
57 
58 
60 
61 #endif
Placement
This class holds all the necessary information to guide the writing of an object in a physical place.
Definition: Placement.h:19
AthenaPoolConverter.h
This file contains the class definition for the AthenaPoolConverter class.
T_AthenaPoolCnvBase::DataObjectToPers
virtual StatusCode DataObjectToPers(DataObject *pObj, IOpaqueAddress *&pAddr)
Convert an object into Persistent.
T_AthenaPoolCnvBase
This templated class provides the converter to translate an object to/from its persistent POOL repres...
Definition: T_AthenaPoolCnvBase.h:24
T_AthenaPoolCnvBase.icc
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition: Token.h:21
AthenaPoolConverter
This class provides the abstract converter to translate an object to/from its persistent POOL represe...
Definition: AthenaPoolConverter.h:39
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
T_AthenaPoolCnvBase::T_AthenaPoolCnvBase
T_AthenaPoolCnvBase(ISvcLocator *svcloc, const char *name=nullptr)
Constructor.
T_AthenaPoolCnvBase::setPlacement
virtual Placement setPlacement(const std::string &key, const std::string &output)
Set POOL placement.
merge.output
output
Definition: merge.py:17
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
T_AthenaPoolCnvBase::PoolToDataObject
virtual StatusCode PoolToDataObject(DataObject *&pObj, const Token *token, const std::string &key)
Read an object from POOL.
T_AthenaPoolCnvBase::DataObjectToPool
virtual StatusCode DataObjectToPool(IOpaqueAddress *pAddr, DataObject *pObj)
Write an object into POOL.
T_AthenaPoolCnvBase::initialize
virtual StatusCode initialize()
Gaudi Service Interface method implementations:
T_AthenaPoolCnvBase::classID
static const CLID & classID()
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37