ATLAS Offline Software
CondProxyProvider.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 CONDPROXYPROVIDER_H
6 #define CONDPROXYPROVIDER_H
7 
13 #include "GaudiKernel/ServiceHandle.h"
14 #include "Gaudi/Property.h" /*no forward decl: typedef*/
17 
18 // Forward declarations
19 namespace pool {
20  class ICollectionCursor;
21 }
22 class ISvcLocator;
24 class StoreGateSvc;
25 class IAthenaPoolCnvSvc;
26 
30 class CondProxyProvider : public extends<AthService, IAddressProvider> {
31 public: // Constructor and Destructor
33  CondProxyProvider(const std::string& name, ISvcLocator* pSvcLocator);
35  virtual ~CondProxyProvider();
36 
38  virtual StatusCode initialize() override;
40  virtual StatusCode finalize() override;
41 
45  virtual StatusCode preLoadAddresses(StoreID::type storeID, IAddressProvider::tadList& tads) override;
46 
48  virtual StatusCode loadAddresses(StoreID::type storeID, IAddressProvider::tadList& tads) override;
49 
54  const EventContext& ctx) override;
55 
56 private: // data
58 
59  mutable PoolCollectionConverter* m_poolCollectionConverter ATLAS_THREAD_SAFE;
60  unsigned int m_contextId;
61 
62 private: // properties
64  StringArrayProperty m_inputCollectionsProp
65  { this, "InputCollections", {}, "Files to read", "OrderedSet<std::string>" };
66  mutable std::vector<std::string>::const_iterator m_inputCollectionsIterator ATLAS_THREAD_SAFE;
67 
68 private: // internal helper functions
71 
72 };
73 
74 #endif
CondProxyProvider::preLoadAddresses
virtual StatusCode preLoadAddresses(StoreID::type storeID, IAddressProvider::tadList &tads) override
Get all addresses from provider.
Definition: CondProxyProvider.cxx:81
PoolCollectionConverter
This class provides an interface to POOL collections.
Definition: PoolCollectionConverter.h:27
pool
pool namespace
Definition: libname.h:15
SG::TransientAddress
Definition: TransientAddress.h:32
CondProxyProvider::updateAddress
virtual StatusCode updateAddress(StoreID::type storeID, SG::TransientAddress *tad, const EventContext &ctx) override
Update a transient address.
Definition: CondProxyProvider.cxx:154
CondProxyProvider::ATLAS_THREAD_SAFE
PoolCollectionConverter *m_poolCollectionConverter ATLAS_THREAD_SAFE
Definition: CondProxyProvider.h:59
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:125
CondProxyProvider::m_contextId
unsigned int m_contextId
Definition: CondProxyProvider.h:60
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CondProxyProvider::loadAddresses
virtual StatusCode loadAddresses(StoreID::type storeID, IAddressProvider::tadList &tads) override
Implementation of the loadAddresses function without any functionality.
Definition: CondProxyProvider.cxx:149
CondProxyProvider::m_athenaPoolCnvSvc
ServiceHandle< IAthenaPoolCnvSvc > m_athenaPoolCnvSvc
Definition: CondProxyProvider.h:57
CondProxyProvider::initialize
virtual StatusCode initialize() override
Required of all Gaudi Services.
Definition: CondProxyProvider.cxx:42
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
CondProxyProvider::getCollectionCnv
PoolCollectionConverter * getCollectionCnv()
Return pointer to new PoolCollectionConverter.
Definition: CondProxyProvider.cxx:160
CondProxyProvider::ATLAS_THREAD_SAFE
std::vector< std::string >::const_iterator m_inputCollectionsIterator ATLAS_THREAD_SAFE
Definition: CondProxyProvider.h:66
CondProxyProvider
This class is the AddressProvider for conditions data.
Definition: CondProxyProvider.h:30
CondProxyProvider::finalize
virtual StatusCode finalize() override
Required of all Gaudi Services.
Definition: CondProxyProvider.cxx:69
StoreID::type
type
Definition: StoreID.h:24
CondProxyProvider::~CondProxyProvider
virtual ~CondProxyProvider()
Destructor.
Definition: CondProxyProvider.cxx:39
CondProxyProvider::m_inputCollectionsProp
StringArrayProperty m_inputCollectionsProp
InputCollections, vector with names of the input collections.
Definition: CondProxyProvider.h:65
IAddressProvider::tadList
std::list< SG::TransientAddress * > tadList
Definition: IAddressProvider.h:32
AthService.h
CondProxyProvider::CondProxyProvider
CondProxyProvider(const std::string &name, ISvcLocator *pSvcLocator)
Standard Service Constructor.
Definition: CondProxyProvider.cxx:31
IAddressProvider.h
ServiceHandle< IAthenaPoolCnvSvc >
IAthenaPoolCnvSvc
This class provides the interface between Athena and PoolSvc.
Definition: IAthenaPoolCnvSvc.h:34