ATLAS Offline Software
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 
22 class IClassIDSvc;
23 
27 class AthenaPoolAddressProviderSvc : public extends<AthService, IAddressProvider> {
28 public: // Constructor and Destructor
30  AthenaPoolAddressProviderSvc(const std::string& name, ISvcLocator* pSvcLocator);
33 
35  virtual StatusCode initialize() override;
37  virtual StatusCode finalize() override;
38 
42  virtual StatusCode preLoadAddresses(StoreID::type storeID, IAddressProvider::tadList& tads) override;
43 
47  virtual StatusCode loadAddresses(StoreID::type storeID, IAddressProvider::tadList& tads) override;
48 
53  const EventContext& ctx) override;
54 
55 private: // data
59 
60 private: // properties
61  Gaudi::Property<std::string> m_dataHeaderKey{this, "DataHeaderKey", "EventSelector",
62  "StoreGate key of event entry object"};
63 
64  Gaudi::Property<std::string> m_attrListKey{this, "AttributeListKey", {},
65  "Attribute list key of a secondary input file. If non-zero, creates a new IOpaqueAddress for that file and records it."};
66 
67 private: // internal helper functions
69  StoreGateSvc* eventStore() const;
70 };
71 
72 #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:58
AthenaPoolAddressProviderSvc::m_clidSvc
ServiceHandle< IClassIDSvc > m_clidSvc
Definition: AthenaPoolAddressProviderSvc.h:57
AthenaPoolAddressProviderSvc::m_metaDataStore
ServiceHandle< StoreGateSvc > m_metaDataStore
Definition: AthenaPoolAddressProviderSvc.h:56
AthenaPoolAddressProviderSvc::updateAddress
virtual StatusCode updateAddress(StoreID::type storeID, SG::TransientAddress *tad, const EventContext &ctx) override
Update a transient address.
Definition: AthenaPoolAddressProviderSvc.cxx:148
AthenaPoolAddressProviderSvc::m_dataHeaderKey
Gaudi::Property< std::string > m_dataHeaderKey
Definition: AthenaPoolAddressProviderSvc.h:61
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:64
AthenaPoolAddressProviderSvc::~AthenaPoolAddressProviderSvc
virtual ~AthenaPoolAddressProviderSvc()
Destructor.
Definition: AthenaPoolAddressProviderSvc.cxx:37
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
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:27
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 >