ATLAS Offline Software
IProxyRegistry.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
11 #ifndef ATHENAKERNEL_IPROXYREGISTRY_H
12 # define ATHENAKERNEL_IPROXYREGISTRY_H
13 
14 //<<<<<< INCLUDES >>>>>>
15 #include "GaudiKernel/StatusCode.h"
16 #include "GaudiKernel/ClassID.h"
17 #include "AthenaKernel/StoreID.h"
18 #include "CxxUtils/sgkey_t.h"
19 #include <string>
20 
21 //<<<<<< CLASS FORWARD DECLARATIONS >>>>>>
22 namespace SG {
23  class DataProxy;
24  class TransientAddress;
25 }
26 
28 public:
30  virtual StatusCode addToStore(const CLID& id, SG::DataProxy* proxy) = 0;
31 
32  virtual StatusCode addAlias(const std::string& key, SG::DataProxy* proxy) = 0;
33 
34  virtual StoreID::type storeID() const = 0; //FIXME this should not be here
35 
37  virtual SG::DataProxy* proxy(const SG::TransientAddress* tAD) const = 0;
38 
40  virtual SG::DataProxy* proxy(const CLID& id, const std::string& key) const=0;
41 
44  virtual SG::DataProxy* proxy_exact(const CLID& id,
45  const std::string& key) const = 0;
46 
50 
51  virtual ~IProxyRegistry() {}
52 };
53 #endif // ATHENAKERNEL_IPROXYREGISTRY_H
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 
common.sgkey
def sgkey(tool)
Definition: common.py:1027
IProxyRegistry::proxy_exact
virtual SG::DataProxy * proxy_exact(const CLID &id, const std::string &key) const =0
get proxy with given id.
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
IProxyRegistry
a proxy registry (a read/write dictionary)
Definition: IProxyRegistry.h:27
IProxyRegistry::storeID
virtual StoreID::type storeID() const =0
SG::TransientAddress
Definition: TransientAddress.h:32
IProxyRegistry::proxy
virtual SG::DataProxy * proxy(const SG::TransientAddress *tAD) const =0
locate a proxy for a given TransientAddress
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DataProxy
DataProxy provides the registry services for StoreGate.
Definition: DataProxy.h:32
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
IProxyRegistry::proxy_exact
virtual SG::DataProxy * proxy_exact(SG::sgkey_t sgkey) const =0
get proxy with given key.
StoreID.h
SG::sgkey_t
uint32_t sgkey_t
Type used for hashed StoreGate key+CLID pairs.
Definition: CxxUtils/CxxUtils/sgkey_t.h:32
sgkey_t.h
Define the type used for hashed StoreGate key+CLID pairs.
IProxyRegistry::~IProxyRegistry
virtual ~IProxyRegistry()
Definition: IProxyRegistry.h:51
StoreID::type
type
Definition: StoreID.h:24
IProxyRegistry::proxy
virtual SG::DataProxy * proxy(const CLID &id, const std::string &key) const =0
get proxy with given id. Returns 0 to flag failure
SG::DataProxy
Definition: DataProxy.h:45
IProxyRegistry::addToStore
virtual StatusCode addToStore(const CLID &id, SG::DataProxy *proxy)=0
add proxy to store.
IProxyRegistry::addAlias
virtual StatusCode addAlias(const std::string &key, SG::DataProxy *proxy)=0
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37