ATLAS Offline Software
Loading...
Searching...
No Matches
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
19
20#include <string>
21#include <unordered_set>
22
23class IClassIDSvc;
24
28class AthenaPoolAddressProviderSvc : public extends<AthService, IAddressProvider> {
29public: // Constructor and Destructor
31 AthenaPoolAddressProviderSvc(const std::string& name, ISvcLocator* pSvcLocator);
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
54private: // data
59 std::unordered_set<std::string> m_dhFormKeys;
60
61private: // 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
68private: // internal helper functions
70 StoreGateSvc* eventStore() const;
71};
72
73#endif
This file contains the class definition for the Guid class (migrated from POOL).
ServiceHandle< StoreGateSvc > m_metaDataStore
StoreGateSvc * eventStore() const
Return pointer to active event SG.
std::unordered_set< std::string > m_dhFormKeys
Set of DataHeader form keys for which we've already done registerKeys.
ServiceHandle< IClassIDSvc > m_clidSvc
AthenaPoolAddressProviderSvc(const std::string &name, ISvcLocator *pSvcLocator)
Standard Service Constructor.
virtual StatusCode initialize() override
Required of all Gaudi Services.
virtual StatusCode updateAddress(StoreID::type storeID, SG::TransientAddress *tad, const EventContext &ctx) override
Update a transient address.
virtual StatusCode loadAddresses(StoreID::type storeID, IAddressProvider::tadList &tads) override
Get all addresses for this event from provider.
Gaudi::Property< std::string > m_attrListKey
virtual StatusCode preLoadAddresses(StoreID::type storeID, IAddressProvider::tadList &tads) override
Get all addresses from provider.
Gaudi::Property< std::string > m_dataHeaderKey
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition Guid.h:25
std::list< SG::TransientAddress * > tadList
The Athena Transient Store API.