ATLAS Offline Software
Loading...
Searching...
No Matches
CondProxyProvider.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef CONDPROXYPROVIDER_H
6#define CONDPROXYPROVIDER_H
7
12
13#include "GaudiKernel/ServiceHandle.h"
14#include "Gaudi/Property.h" /*no forward decl: typedef*/
18#include "PoolSvc/IPoolSvc.h"
19#include <memory>
20
21// Forward declarations
22namespace pool {
24}
25class ISvcLocator;
27class IPoolSvc;
28class StoreGateSvc;
29
33class CondProxyProvider : public extends<AthService, IAddressProvider> {
34public: // Constructor and Destructor
36 CondProxyProvider(const std::string& name, ISvcLocator* pSvcLocator);
38 virtual ~CondProxyProvider();
39
41 virtual StatusCode initialize() override;
42
46 virtual StatusCode preLoadAddresses(StoreID::type storeID, IAddressProvider::tadList& tads) override;
47
49 virtual StatusCode loadAddresses(StoreID::type storeID, IAddressProvider::tadList& tads) override;
50
54 virtual StatusCode updateAddress(StoreID::type storeID, SG::TransientAddress* tad,
55 const EventContext& ctx) override;
56
57private: // data
58 ServiceHandle<IAthenaPoolCnvSvc> m_athenaPoolCnvSvc{this, "ConversionService", "AthenaPoolCnvSvc"};
59 ServiceHandle<IPoolSvc> m_poolSvc{this, "PoolSvc", "PoolSvc"};
60 unsigned int m_contextId;
61
62private: // properties
64 Gaudi::Property<std::vector<std::string>> m_inputCollectionsProp
65 { this, "InputCollections", {}, "Files to read", "OrderedSet<std::string>" };
66 std::vector<std::string>::const_iterator m_inputCollectionsIterator{};
67
68private: // internal helper functions
70 std::unique_ptr<PoolCollectionConverter> getCollectionCnv();
71};
72
73#endif
This file contains the class definition for the IAthenaPoolCnvSvc interface class.
This file contains the class definition for the IPoolSvc interface class.
unsigned int m_contextId
std::unique_ptr< PoolCollectionConverter > getCollectionCnv()
Return pointer to new PoolCollectionConverter.
virtual StatusCode updateAddress(StoreID::type storeID, SG::TransientAddress *tad, const EventContext &ctx) override
Update a transient address.
ServiceHandle< IPoolSvc > m_poolSvc
virtual StatusCode initialize() override
Required of all Gaudi Services.
std::vector< std::string >::const_iterator m_inputCollectionsIterator
virtual StatusCode loadAddresses(StoreID::type storeID, IAddressProvider::tadList &tads) override
Implementation of the loadAddresses function without any functionality.
virtual ~CondProxyProvider()
Destructor.
ServiceHandle< IAthenaPoolCnvSvc > m_athenaPoolCnvSvc
CondProxyProvider(const std::string &name, ISvcLocator *pSvcLocator)
Standard Service Constructor.
virtual StatusCode preLoadAddresses(StoreID::type storeID, IAddressProvider::tadList &tads) override
Get all addresses from provider.
Gaudi::Property< std::vector< std::string > > m_inputCollectionsProp
InputCollections, vector with names of the input collections.
std::list< SG::TransientAddress * > tadList
This class provides the interface to the APR persistency software.
Definition IPoolSvc.h:35
This class provides an interface to POOL collections.
The Athena Transient Store API.
An interface used to navigate the result of a query on a collection.
Framework include files.
Definition libname.h:15