Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
13 #include "GaudiKernel/ServiceHandle.h"
14 #include "Gaudi/Property.h" // no forward decl: typedef
15 
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);
34 
36  virtual StatusCode initialize() override;
38  virtual StatusCode finalize() override;
39 
43  virtual StatusCode preLoadAddresses(StoreID::type storeID, IAddressProvider::tadList& tads) override;
44 
48  virtual StatusCode loadAddresses(StoreID::type storeID, IAddressProvider::tadList& tads) override;
49 
54  const EventContext& ctx) override;
55 
56 private: // data
61  std::unordered_set<std::string> m_dhFormKeys;
62 
63 private: // properties
64  Gaudi::Property<std::string> m_dataHeaderKey{this, "DataHeaderKey", "EventSelector",
65  "StoreGate key of event entry object"};
66 
67  Gaudi::Property<std::string> m_attrListKey{this, "AttributeListKey", {},
68  "Attribute list key of a secondary input file. If non-zero, creates a new IOpaqueAddress for that file and records it."};
69 
70 private: // internal helper functions
72  StoreGateSvc* eventStore() const;
73 };
74 
75 #endif
AthenaPoolAddressProviderSvc::loadAddresses
virtual StatusCode loadAddresses(StoreID::type storeID, IAddressProvider::tadList &tads) override
Get all addresses for this event from provider.
Definition: AthenaPoolAddressProviderSvc.cxx:93
SG::TransientAddress
Definition: TransientAddress.h:32
AthenaPoolAddressProviderSvc::m_guid
Guid m_guid
Definition: AthenaPoolAddressProviderSvc.h:59
AthenaPoolAddressProviderSvc::m_clidSvc
ServiceHandle< IClassIDSvc > m_clidSvc
Definition: AthenaPoolAddressProviderSvc.h:58
AthenaPoolAddressProviderSvc::m_metaDataStore
ServiceHandle< StoreGateSvc > m_metaDataStore
Definition: AthenaPoolAddressProviderSvc.h:57
AthenaPoolAddressProviderSvc::updateAddress
virtual StatusCode updateAddress(StoreID::type storeID, SG::TransientAddress *tad, const EventContext &ctx) override
Update a transient address.
Definition: AthenaPoolAddressProviderSvc.cxx:153
AthenaPoolAddressProviderSvc::m_dataHeaderKey
Gaudi::Property< std::string > m_dataHeaderKey
Definition: AthenaPoolAddressProviderSvc.h:64
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:125
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthenaPoolAddressProviderSvc::m_attrListKey
Gaudi::Property< std::string > m_attrListKey
Definition: AthenaPoolAddressProviderSvc.h:67
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:61
AthenaPoolAddressProviderSvc::~AthenaPoolAddressProviderSvc
virtual ~AthenaPoolAddressProviderSvc()
Destructor.
Definition: AthenaPoolAddressProviderSvc.cxx:37
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
AthenaPoolAddressProviderSvc::finalize
virtual StatusCode finalize() override
Required of all Gaudi Services.
Definition: AthenaPoolAddressProviderSvc.cxx:52
AthenaPoolAddressProviderSvc
This class is the EventSelector and AddressProvider for event data.
Definition: AthenaPoolAddressProviderSvc.h:28
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition: Guid.h:20
StoreID::type
type
Definition: StoreID.h:24
AthenaPoolAddressProviderSvc::AthenaPoolAddressProviderSvc
AthenaPoolAddressProviderSvc(const std::string &name, ISvcLocator *pSvcLocator)
Standard Service Constructor.
Definition: AthenaPoolAddressProviderSvc.cxx:30
AthenaPoolAddressProviderSvc::preLoadAddresses
virtual StatusCode preLoadAddresses(StoreID::type storeID, IAddressProvider::tadList &tads) override
Get all addresses from provider.
Definition: AthenaPoolAddressProviderSvc.cxx:65
IAddressProvider::tadList
std::list< SG::TransientAddress * > tadList
Definition: IAddressProvider.h:32
AthService.h
IAddressProvider.h
Guid.h
This file contains the class definition for the Guid class (migrated from POOL).
AthenaPoolAddressProviderSvc::initialize
virtual StatusCode initialize() override
Required of all Gaudi Services.
Definition: AthenaPoolAddressProviderSvc.cxx:44
AthenaPoolAddressProviderSvc::eventStore
StoreGateSvc * eventStore() const
Return pointer to active event SG.
Definition: AthenaPoolAddressProviderSvc.cxx:40
ServiceHandle< StoreGateSvc >