ATLAS Offline Software
AthenaPoolCnvSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ATHENAPOOLCNVSVC_ATHENAPOOLCNVSVC_H
6 #define ATHENAPOOLCNVSVC_ATHENAPOOLCNVSVC_H
7 
14 
15 #include "GaudiKernel/IClassIDSvc.h"
16 #include "GaudiKernel/IIncidentListener.h"
17 #include "GaudiKernel/IIoComponent.h"
18 #include "GaudiKernel/ServiceHandle.h"
19 #include "GaudiKernel/ToolHandle.h"
20 
21 #include "StorageSvc/DbType.h"
25 #include "PoolSvc/IPoolSvc.h"
26 
27 #include <vector>
28 #include <map>
29 #include <mutex>
30 #include <limits>
31 
32 // Forward declarations
34 class Guid;
35 
36 template <class TYPE> class SvcFactory;
37 
42  public virtual IAthenaPoolCnvSvc,
43  public virtual IIncidentListener,
44  public virtual IIoComponent {
45  // Allow the factory class access to the constructor
46  friend class SvcFactory<AthenaPoolCnvSvc>;
47 
48 public:
49 
57  StatusCode queryInterface(const InterfaceID& riid, void** ppvInterface);
58 
62  StatusCode createObj(IOpaqueAddress* pAddress, DataObject*& refpObject);
63 
67  StatusCode createRep(DataObject* pObject, IOpaqueAddress*& refpAddress);
68 
72  StatusCode fillRepRefs(IOpaqueAddress* pAddress, DataObject* pObject);
73 
77  StatusCode connectOutput(const std::string& outputConnectionSpec,
78  const std::string& openMode);
79 
83  StatusCode connectOutput(const std::string& outputConnectionSpec);
84 
87  StatusCode commitOutput(const std::string& outputConnectionSpec, bool doCommit);
88 
90  StatusCode disconnectOutput(const std::string& outputConnectionSpec);
91 
94 
99  Token* registerForWrite(Placement* placement, const void* obj, const RootType& classDesc);
100 
103  void setObjPtr(void*& obj, const Token* token);
104 
106  bool useDetailChronoStat() const;
107 
114  StatusCode createAddress(long svcType,
115  const CLID& clid,
116  const std::string* par,
117  const unsigned long* ip,
118  IOpaqueAddress*& refpAddress);
119 
125  StatusCode createAddress(long svcType,
126  const CLID& clid,
127  const std::string& refAddress,
128  IOpaqueAddress*& refpAddress);
129 
133  StatusCode convertAddress(const IOpaqueAddress* pAddress, std::string& refAddress);
134 
137  StatusCode decodeOutputSpec(std::string& connectionSpec, int& outputTech) const;
138 
141 
143  StatusCode cleanUp(const std::string& connection);
144 
147  StatusCode setInputAttributes(const std::string& fileName);
148 
150  virtual StatusCode makeServer(int num);
151 
153  virtual StatusCode makeClient(int num);
154 
156  virtual StatusCode readData();
157 
159  virtual StatusCode commitCatalog();
160 
163  StatusCode abortSharedWrClients(int client_n);
164 
166  void handle(const Incident& incident);
167 
169  AthenaPoolCnvSvc(const std::string& name, ISvcLocator* pSvcLocator);
171  virtual ~AthenaPoolCnvSvc() = default;
172 
173 private: // member functions
175  void extractPoolAttributes(const StringArrayProperty& property,
176  std::vector<std::vector<std::string> >* contAttr,
177  std::vector<std::vector<std::string> >* dbAttr,
178  std::vector<std::vector<std::string> >* domAttr = 0) const;
179 
181  StatusCode processPoolAttributes(std::vector<std::vector<std::string> >& attr,
182  const std::string& fileName,
183  unsigned long contextId,
184  bool doGet = true,
185  bool doSet = true,
186  bool doClear = true) const;
187 
188 private: // data
191  std::string m_lastInputFileName;
192  ServiceHandle<IPoolSvc> m_poolSvc{this,"PoolSvc","PoolSvc"};
193  ServiceHandle<IClassIDSvc> m_clidSvc{this,"ClassIDSvc","ClassIDSvc"};
194  ServiceHandle<IAthenaSerializeSvc> m_serializeSvc{this,"AthenaRootSerializeSvc","AthenaRootSerializeSvc"};
195  ToolHandle<IAthenaIPCTool> m_inputStreamingTool{this,"InputStreamingTool",{}};
196  ToolHandle<IAthenaIPCTool> m_outputStreamingTool{this,"OutputStreamingTool",{}};
199 
202 
203 private: // properties
206  BooleanProperty m_useDetailChronoStat{this,"UseDetailChronoStat",false};
207 
209  StringProperty m_storageTechProp{this,"StorageTechnology", "ROOTTREEINDEX"};
212  StringProperty m_containerPrefixProp{this,"PoolContainerPrefix","Default"};
214  StringProperty m_containerNameHintProp{this,"TopLevelContainerName",""};
216  StringProperty m_branchNameHintProp{this,"SubLevelBranchName", "<type>/<key>"};
217 
219  StringArrayProperty m_poolAttr{this,"PoolAttributes",{},"Pool Attributes","OrderedSet<std::string>"};
220  std::vector<std::vector<std::string> > m_domainAttr;
221  std::vector<std::vector<std::string> > m_databaseAttr;
222  std::vector<std::vector<std::string> > m_containerAttr;
223  std::vector<unsigned int> m_contextAttr;
224  std::map<std::string, int> m_fileCommitCounter;
225  std::map<std::string, int> m_fileFlushSetting;
227  StringArrayProperty m_inputPoolAttr{this,"InputPoolAttributes",{}};
228  std::vector<std::vector<std::string> > m_inputAttr;
231  StringArrayProperty m_inputPoolAttrPerEvent{this,"PrintInputAttrPerEvt",{}};
232  std::vector<std::vector<std::string> > m_inputAttrPerEvent;
233 
235  StringArrayProperty m_maxFileSizes{this,"MaxFileSizes",{}};
237  std::map<std::string, long long> m_databaseMaxFileSize;
238 
241  BooleanProperty m_persSvcPerOutput{this,"PersSvcPerOutput",true};
242  unsigned outputContextId(const std::string& outputConnection);
243 
246  StringProperty m_persSvcPerInputType{this,"PersSvcPerInputType",""};
248 
251  StringProperty m_metadataContainerProp{this,"OutputMetadataContainer","MetaData"};
252  StringArrayProperty m_metadataContainersAug{this, "OutputMetadataContainers", {}, "Metadata containers used for augmentations"};
253 
255  IntegerProperty m_makeStreamingToolClient{this,"MakeStreamingToolClient",0};
257  IntegerProperty m_streamingTechnology{this,"StreamingTechnology",-1};
259  BooleanProperty m_parallelCompression{this,"ParallelCompression",true};
261  StringProperty m_streamPortString{this,"StreamPortString","?pmerge=localhost:0"};
263  IntegerProperty m_numberEventsPerWrite{this,"NumberEventsPerWrite",-1};
264 
266  IntegerProperty m_DHFormCacheSize { this, "maxDHFormCacheSize", 100 };
268  BooleanProperty m_DHFilterAliases { this, "doFilterDHAliases", true };
269 
270 };
271 
272 #endif
AthenaPoolCnvSvc::m_poolSvc
ServiceHandle< IPoolSvc > m_poolSvc
Definition: AthenaPoolCnvSvc.h:192
AthenaPoolCnvSvc::m_contextAttr
std::vector< unsigned int > m_contextAttr
Definition: AthenaPoolCnvSvc.h:223
AthenaPoolCnvSvc::disconnectOutput
StatusCode disconnectOutput(const std::string &outputConnectionSpec)
Disconnect to the output connection.
Definition: AthenaPoolCnvSvc.cxx:675
AthenaPoolCnvSvc::registerCleanUp
StatusCode registerCleanUp(IAthenaPoolCleanUp *cnv)
Implement registerCleanUp to register a IAthenaPoolCleanUp to be called during cleanUp.
Definition: AthenaPoolCnvSvc.cxx:1011
Placement
This class holds all the necessary information to guide the writing of an object in a physical place.
Definition: Placement.h:19
IPoolSvc
This class provides the interface to the LCG POOL persistency software.
Definition: IPoolSvc.h:36
AthenaPoolCnvSvc::m_metadataContainerProp
StringProperty m_metadataContainerProp
For SharedWriter: To use MetadataSvc to merge data placed in a certain container.
Definition: AthenaPoolCnvSvc.h:251
IAthenaPoolCnvSvc.h
This file contains the class definition for the IAthenaPoolCnvSvc interface class.
max
#define max(a, b)
Definition: cfImp.cxx:41
AthenaPoolCnvSvc::outputContextId
unsigned outputContextId(const std::string &outputConnection)
Definition: AthenaPoolCnvSvc.cxx:700
PMonUtils::BasicStopWatchResultMap_t
tbb::concurrent_hash_map< std::string, double > BasicStopWatchResultMap_t
Definition: BasicStopWatch.h:15
AthenaPoolCnvSvc::commitCatalog
virtual StatusCode commitCatalog()
Commit Catalog.
Definition: AthenaPoolCnvSvc.cxx:1175
AthenaPoolCnvSvc::registerForWrite
Token * registerForWrite(Placement *placement, const void *obj, const RootType &classDesc)
Definition: AthenaPoolCnvSvc.cxx:710
AthenaPoolCnvSvc::m_clidSvc
ServiceHandle< IClassIDSvc > m_clidSvc
Definition: AthenaPoolCnvSvc.h:193
AthenaPoolCnvSvc::m_inputStreamingTool
ToolHandle< IAthenaIPCTool > m_inputStreamingTool
Definition: AthenaPoolCnvSvc.h:195
AthenaPoolCnvSvc::m_streamingTechnology
IntegerProperty m_streamingTechnology
Use Streaming for selected technologies only.
Definition: AthenaPoolCnvSvc.h:257
AthenaPoolCnvSvc::m_useDetailChronoStat
BooleanProperty m_useDetailChronoStat
UseDetailChronoStat, enable detailed output for time and size statistics for AthenaPOOL: default = fa...
Definition: AthenaPoolCnvSvc.h:206
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
AthenaPoolCnvSvc::commitOutput
StatusCode commitOutput(const std::string &outputConnectionSpec, bool doCommit)
Implementation of IConversionSvc: Commit pending output.
Definition: AthenaPoolCnvSvc.cxx:392
SvcFactory
Definition: AthCnvSvc.h:28
AthenaPoolCnvSvc::m_domainMaxFileSize
long long m_domainMaxFileSize
Definition: AthenaPoolCnvSvc.h:236
AthenaPoolCnvSvc::m_inputAttrPerEvent
std::vector< std::vector< std::string > > m_inputAttrPerEvent
Definition: AthenaPoolCnvSvc.h:232
IAthenaPoolCleanUp
This class provides the interface for the AthenaPoolCleanUp which is used to clean up AthenaPoolConve...
Definition: IAthenaPoolCleanUp.h:19
AthCnvSvc.h
AthenaPoolCnvSvc::io_finalize
StatusCode io_finalize()
Definition: AthenaPoolCnvSvc.cxx:176
AthenaPoolCnvSvc::m_databaseAttr
std::vector< std::vector< std::string > > m_databaseAttr
Definition: AthenaPoolCnvSvc.h:221
AthenaPoolCnvSvc::m_chronoMap
PMonUtils::BasicStopWatchResultMap_t m_chronoMap
Map that holds chrono information.
Definition: AthenaPoolCnvSvc.h:201
AthenaPoolCnvSvc::queryInterface
StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface)
Required of all Gaudi services: see Gaudi documentation for details.
Definition: AthenaPoolCnvSvc.cxx:181
AthenaPoolCnvSvc::io_reinit
StatusCode io_reinit()
Definition: AthenaPoolCnvSvc.cxx:126
AthenaPoolCnvSvc::decodeOutputSpec
StatusCode decodeOutputSpec(std::string &connectionSpec, int &outputTech) const
Extract/deduce the DB technology from the connection string/file specification.
Definition: AthenaPoolCnvSvc.cxx:989
AthenaPoolCnvSvc::m_dbType
pool::DbType m_dbType
decoded storage tech requested in "StorageTechnology" property
Definition: AthenaPoolCnvSvc.h:190
AthenaPoolCnvSvc::m_mutex
std::mutex m_mutex
Definition: AthenaPoolCnvSvc.h:247
DbType.h
AthenaPoolCnvSvc::AthenaPoolCnvSvc
AthenaPoolCnvSvc(const std::string &name, ISvcLocator *pSvcLocator)
Standard Service Constructor.
Definition: AthenaPoolCnvSvc.cxx:1215
AthenaPoolCnvSvc::convertAddress
StatusCode convertAddress(const IOpaqueAddress *pAddress, std::string &refAddress)
Convert address to string form.
Definition: AthenaPoolCnvSvc.cxx:976
AthenaPoolCnvSvc::processPoolAttributes
StatusCode processPoolAttributes(std::vector< std::vector< std::string > > &attr, const std::string &fileName, unsigned long contextId, bool doGet=true, bool doSet=true, bool doClear=true) const
Set/get technology dependent POOL attributes.
Definition: AthenaPoolCnvSvc.cxx:1278
AthenaPoolCnvSvc::finalize
StatusCode finalize()
Required of all Gaudi Services.
Definition: AthenaPoolCnvSvc.cxx:132
IAthenaSerializeSvc
Definition: IAthenaSerializeSvc.h:13
AthenaPoolCnvSvc::m_fileFlushSetting
std::map< std::string, int > m_fileFlushSetting
Definition: AthenaPoolCnvSvc.h:225
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition: Token.h:21
AthenaPoolCnvSvc::m_persSvcPerInputType
StringProperty m_persSvcPerInputType
PersSvcPerInputType, string property, tree name to use multiple persistency services,...
Definition: AthenaPoolCnvSvc.h:246
AthenaPoolCnvSvc::m_storageTechProp
StringProperty m_storageTechProp
Default Storage Tech for containers (ROOTTREE, ROOTTREEINDEX, ROOTRNTUPLE)
Definition: AthenaPoolCnvSvc.h:209
AthenaPoolCnvSvc::extractPoolAttributes
void extractPoolAttributes(const StringArrayProperty &property, std::vector< std::vector< std::string > > *contAttr, std::vector< std::vector< std::string > > *dbAttr, std::vector< std::vector< std::string > > *domAttr=0) const
Extract POOL ItechnologySpecificAttributes for Domain, Database and Container from property.
Definition: AthenaPoolCnvSvc.cxx:1222
AthenaPoolCnvSvc::fillRepRefs
StatusCode fillRepRefs(IOpaqueAddress *pAddress, DataObject *pObject)
Implementation of IConversionSvc: Resolve the references of the converted object.
Definition: AthenaPoolCnvSvc.cxx:259
AthenaPoolCnvSvc::createAddress
StatusCode createAddress(long svcType, const CLID &clid, const std::string *par, const unsigned long *ip, IOpaqueAddress *&refpAddress)
Create a Generic address using explicit arguments to identify a single object.
Definition: AthenaPoolCnvSvc.cxx:906
FortranAlgorithmOptions.fileName
fileName
Definition: FortranAlgorithmOptions.py:13
AthenaPoolCnvSvc::makeServer
virtual StatusCode makeServer(int num)
Make this a server.
Definition: AthenaPoolCnvSvc.cxx:1058
AthenaPoolCnvSvc::~AthenaPoolCnvSvc
virtual ~AthenaPoolCnvSvc()=default
Destructor.
BasicStopWatch.h
pool::DbType
Definition: DbType.h:31
AthenaPoolCnvSvc::m_metadataContainersAug
StringArrayProperty m_metadataContainersAug
Definition: AthenaPoolCnvSvc.h:252
AthenaPoolCnvSvc::useDetailChronoStat
bool useDetailChronoStat() const
Definition: AthenaPoolCnvSvc.cxx:902
AthenaPoolCnvSvc::m_maxFileSizes
StringArrayProperty m_maxFileSizes
MaxFileSizes, vector with maximum file sizes for Athena POOL output files.
Definition: AthenaPoolCnvSvc.h:235
AthenaPoolCnvSvc::connectOutput
StatusCode connectOutput(const std::string &outputConnectionSpec, const std::string &openMode)
Implementation of IConversionSvc: Connect to the output connection specification with open mode.
Definition: AthenaPoolCnvSvc.cxx:292
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthenaPoolCnvSvc::m_makeStreamingToolClient
IntegerProperty m_makeStreamingToolClient
Make this instance a Streaming Client during first connect/write automatically.
Definition: AthenaPoolCnvSvc.h:255
AthenaPoolCnvSvc::m_DHFilterAliases
BooleanProperty m_DHFilterAliases
Flag to control SG alias filtering when writing out DataHeader (see DataHeaderCnv_p6)
Definition: AthenaPoolCnvSvc.h:268
AthenaPoolCnvSvc::m_inputAttr
std::vector< std::vector< std::string > > m_inputAttr
Definition: AthenaPoolCnvSvc.h:228
AthenaPoolCnvSvc::m_databaseMaxFileSize
std::map< std::string, long long > m_databaseMaxFileSize
Definition: AthenaPoolCnvSvc.h:237
find_tgc_unfilled_channelids.ip
ip
Definition: find_tgc_unfilled_channelids.py:3
AthenaPoolCnvSvc::m_numberEventsPerWrite
IntegerProperty m_numberEventsPerWrite
When using TMemFile call Write on number of Events, respecting CollectionTree auto_flush.
Definition: AthenaPoolCnvSvc.h:263
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
AthenaPoolCnvSvc::m_containerAttr
std::vector< std::vector< std::string > > m_containerAttr
Definition: AthenaPoolCnvSvc.h:222
trigbs_pickEvents.num
num
Definition: trigbs_pickEvents.py:76
AthenaPoolCnvSvc::initialize
StatusCode initialize()
Required of all Gaudi Services.
Definition: AthenaPoolCnvSvc.cxx:39
AthenaPoolCnvSvc::m_streamServerActive
bool m_streamServerActive
Definition: AthenaPoolCnvSvc.h:197
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
AthenaPoolCnvSvc::m_persSvcPerOutput
BooleanProperty m_persSvcPerOutput
PersSvcPerOutput, boolean property to use multiple persistency services, one per output stream.
Definition: AthenaPoolCnvSvc.h:241
AthenaPoolCnvSvc::setInputAttributes
StatusCode setInputAttributes(const std::string &fileName)
Set the input file attributes, if any are requested from jobOpts.
Definition: AthenaPoolCnvSvc.cxx:1037
AthenaPoolCnvSvc::m_inputPoolAttr
StringArrayProperty m_inputPoolAttr
Input PoolAttributes, vector with names and values of technology specific attributes for POOL.
Definition: AthenaPoolCnvSvc.h:227
IPoolSvc.h
This file contains the class definition for the IPoolSvc interface class.
AthenaPoolCnvSvc::readData
virtual StatusCode readData()
Read the next data object.
Definition: AthenaPoolCnvSvc.cxx:1105
AthenaPoolCnvSvc::cleanUp
StatusCode cleanUp(const std::string &connection)
Implement cleanUp to call all registered IAthenaPoolCleanUp cleanUp() function.
Definition: AthenaPoolCnvSvc.cxx:1016
AthenaPoolCnvSvc::m_streamPortString
StringProperty m_streamPortString
Extension to use ROOT TMemFile for event data, "?pmerge=<host>:<port>".
Definition: AthenaPoolCnvSvc.h:261
AthenaPoolCnvSvc::m_domainAttr
std::vector< std::vector< std::string > > m_domainAttr
Definition: AthenaPoolCnvSvc.h:220
AthenaPoolCnvSvc::setObjPtr
void setObjPtr(void *&obj, const Token *token)
Definition: AthenaPoolCnvSvc.cxx:822
AthenaPoolCnvSvc::m_fileCommitCounter
std::map< std::string, int > m_fileCommitCounter
Definition: AthenaPoolCnvSvc.h:224
AthenaPoolCnvSvc::createRep
StatusCode createRep(DataObject *pObject, IOpaqueAddress *&refpAddress)
Implementation of IConversionSvc: Convert the transient object to the requested representation.
Definition: AthenaPoolCnvSvc.cxx:226
AthenaPoolCnvSvc::m_metadataClient
int m_metadataClient
Definition: AthenaPoolCnvSvc.h:198
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition: Guid.h:20
AthenaPoolCnvSvc::m_branchNameHintProp
StringProperty m_branchNameHintProp
SubLevelBranchName, naming hint policy for POOL branching: ("" = no branching)
Definition: AthenaPoolCnvSvc.h:216
AthenaPoolCnvSvc::abortSharedWrClients
StatusCode abortSharedWrClients(int client_n)
Send abort to SharedWriter clients if the server quits on error.
Definition: AthenaPoolCnvSvc.cxx:1184
AthenaPoolCnvSvc::m_outputStreamingTool
ToolHandle< IAthenaIPCTool > m_outputStreamingTool
Definition: AthenaPoolCnvSvc.h:196
AthenaPoolCnvSvc::m_containerNameHintProp
StringProperty m_containerNameHintProp
TopLevelContainerName, naming hint policy for top level POOL container: default = "<type>".
Definition: AthenaPoolCnvSvc.h:214
AthenaPoolCnvSvc::m_poolAttr
StringArrayProperty m_poolAttr
Output PoolAttributes, vector with names and values of technology specific attributes for POOL.
Definition: AthenaPoolCnvSvc.h:219
AthenaPoolCnvSvc::m_inputPoolAttrPerEvent
StringArrayProperty m_inputPoolAttrPerEvent
Print input PoolAttributes per event, vector with names of technology specific attributes for POOL to...
Definition: AthenaPoolCnvSvc.h:231
AthenaPoolCnvSvc::m_DHFormCacheSize
IntegerProperty m_DHFormCacheSize
Property for DataHeaderCnv input DHForm cache size.
Definition: AthenaPoolCnvSvc.h:266
AthenaPoolCnvSvc::getPoolSvc
IPoolSvc * getPoolSvc()
Definition: AthenaPoolCnvSvc.cxx:706
AthenaPoolCnvSvc::handle
void handle(const Incident &incident)
Implementation of IIncidentListener: Handle for EndEvent incidence.
Definition: AthenaPoolCnvSvc.cxx:1204
AthenaPoolCnvSvc::m_containerPrefixProp
StringProperty m_containerPrefixProp
POOL Container name prefix - will be part of or whole TTree/RNTuple name 'Default' takes the prefix f...
Definition: AthenaPoolCnvSvc.h:212
python.PyAthena.obj
obj
Definition: PyAthena.py:135
AthenaPoolCnvSvc::createObj
StatusCode createObj(IOpaqueAddress *pAddress, DataObject *&refpObject)
Implementation of IConversionSvc: Create the transient representation of an object from persistent st...
Definition: AthenaPoolCnvSvc.cxx:192
AthenaPoolCnvSvc::m_parallelCompression
BooleanProperty m_parallelCompression
Use Athena Object sharing for metadata only, event data is collected and send via ROOT TMemFile.
Definition: AthenaPoolCnvSvc.h:259
AthenaPoolCnvSvc::m_lastInputFileName
std::string m_lastInputFileName
Definition: AthenaPoolCnvSvc.h:191
AthenaPoolCnvSvc::m_serializeSvc
ServiceHandle< IAthenaSerializeSvc > m_serializeSvc
Definition: AthenaPoolCnvSvc.h:194
AthCnvSvc
Definition: AthCnvSvc.h:67
IAthenaIPCTool.h
AthenaPoolCnvSvc::makeClient
virtual StatusCode makeClient(int num)
Make this a client.
Definition: AthenaPoolCnvSvc.cxx:1084
ServiceHandle< IPoolSvc >
TScopeAdapter
Definition: RootType.h:119
AthenaPoolCnvSvc
Definition: Database/AthenaPOOL/AthenaPoolCnvSvc/AthenaPoolCnvSvc/debug.h:26
IAthenaPoolCnvSvc
This class provides the interface between Athena and PoolSvc.
Definition: IAthenaPoolCnvSvc.h:36