ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Database
AthenaPOOL
EventSelectorAthenaPool
src
AthenaPoolAddressProviderSvc.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ATHENAPOOLADDRESSPROVIEDERSVC_H
6
#define ATHENAPOOLADDRESSPROVIEDERSVC_H
7
12
13
#include "GaudiKernel/ServiceHandle.h"
14
#include "Gaudi/Property.h"
// no forward decl: typedef
15
16
#include "
AthenaKernel/IAddressProvider.h
"
17
#include "
AthenaBaseComps/AthService.h
"
18
#include "
PersistentDataModel/Guid.h
"
19
20
#include <string>
21
#include <unordered_set>
22
23
class
IClassIDSvc;
24
28
class
AthenaPoolAddressProviderSvc
:
public
extends<AthService, IAddressProvider> {
29
public
:
// Constructor and Destructor
31
AthenaPoolAddressProviderSvc
(
const
std::string& name, ISvcLocator* pSvcLocator);
33
virtual
~AthenaPoolAddressProviderSvc
();
34
36
virtual
StatusCode
initialize
()
override
;
37
41
virtual
StatusCode
preLoadAddresses
(
StoreID::type
storeID,
IAddressProvider::tadList
& tads)
override
;
42
46
virtual
StatusCode
loadAddresses
(
StoreID::type
storeID,
IAddressProvider::tadList
& tads)
override
;
47
51
virtual
StatusCode
updateAddress
(
StoreID::type
storeID,
SG::TransientAddress
* tad,
52
const
EventContext& ctx)
override
;
53
54
private
:
// data
55
ServiceHandle<StoreGateSvc>
m_metaDataStore
;
56
ServiceHandle<IClassIDSvc>
m_clidSvc
;
57
Guid
m_guid
;
59
std::unordered_set<std::string>
m_dhFormKeys
;
60
61
private
:
// properties
62
Gaudi::Property<std::string>
m_dataHeaderKey
{
this
,
"DataHeaderKey"
,
"EventSelector"
,
63
"StoreGate key of event entry object"
};
64
65
Gaudi::Property<std::string>
m_attrListKey
{
this
,
"AttributeListKey"
, {},
66
"Attribute list key of a secondary input file. If non-zero, creates a new IOpaqueAddress for that file and records it."
};
67
68
private
:
// internal helper functions
70
StoreGateSvc
*
eventStore
()
const
;
71
};
72
73
#endif
AthService.h
Guid.h
This file contains the class definition for the Guid class (migrated from POOL).
IAddressProvider.h
AthenaPoolAddressProviderSvc::m_metaDataStore
ServiceHandle< StoreGateSvc > m_metaDataStore
Definition
AthenaPoolAddressProviderSvc.h:55
AthenaPoolAddressProviderSvc::eventStore
StoreGateSvc * eventStore() const
Return pointer to active event SG.
Definition
AthenaPoolAddressProviderSvc.cxx:41
AthenaPoolAddressProviderSvc::m_dhFormKeys
std::unordered_set< std::string > m_dhFormKeys
Set of DataHeader form keys for which we've already done registerKeys.
Definition
AthenaPoolAddressProviderSvc.h:59
AthenaPoolAddressProviderSvc::m_clidSvc
ServiceHandle< IClassIDSvc > m_clidSvc
Definition
AthenaPoolAddressProviderSvc.h:56
AthenaPoolAddressProviderSvc::AthenaPoolAddressProviderSvc
AthenaPoolAddressProviderSvc(const std::string &name, ISvcLocator *pSvcLocator)
Standard Service Constructor.
Definition
AthenaPoolAddressProviderSvc.cxx:31
AthenaPoolAddressProviderSvc::initialize
virtual StatusCode initialize() override
Required of all Gaudi Services.
Definition
AthenaPoolAddressProviderSvc.cxx:45
AthenaPoolAddressProviderSvc::updateAddress
virtual StatusCode updateAddress(StoreID::type storeID, SG::TransientAddress *tad, const EventContext &ctx) override
Update a transient address.
Definition
AthenaPoolAddressProviderSvc.cxx:141
AthenaPoolAddressProviderSvc::m_guid
Guid m_guid
Definition
AthenaPoolAddressProviderSvc.h:57
AthenaPoolAddressProviderSvc::loadAddresses
virtual StatusCode loadAddresses(StoreID::type storeID, IAddressProvider::tadList &tads) override
Get all addresses for this event from provider.
Definition
AthenaPoolAddressProviderSvc.cxx:81
AthenaPoolAddressProviderSvc::m_attrListKey
Gaudi::Property< std::string > m_attrListKey
Definition
AthenaPoolAddressProviderSvc.h:65
AthenaPoolAddressProviderSvc::~AthenaPoolAddressProviderSvc
virtual ~AthenaPoolAddressProviderSvc()
Destructor.
Definition
AthenaPoolAddressProviderSvc.cxx:38
AthenaPoolAddressProviderSvc::preLoadAddresses
virtual StatusCode preLoadAddresses(StoreID::type storeID, IAddressProvider::tadList &tads) override
Get all addresses from provider.
Definition
AthenaPoolAddressProviderSvc.cxx:53
AthenaPoolAddressProviderSvc::m_dataHeaderKey
Gaudi::Property< std::string > m_dataHeaderKey
Definition
AthenaPoolAddressProviderSvc.h:62
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition
Guid.h:25
IAddressProvider::tadList
std::list< SG::TransientAddress * > tadList
Definition
IAddressProvider.h:32
SG::TransientAddress
Definition
TransientAddress.h:34
ServiceHandle
Definition
ClusterMakerTool.h:36
StoreGateSvc
The Athena Transient Store API.
Definition
StoreGateSvc.h:120
StoreID::type
type
Definition
StoreID.h:24
Generated on
for ATLAS Offline Software by
1.17.0