ATLAS Offline Software
Loading...
Searching...
No Matches
StoreGate/StoreGate/ReadHandleKey.h
Go to the documentation of this file.
1// This file's extension implies that it's C, but it's really -*- C++ -*-.
2
3/*
4 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5*/
12
13
14#ifndef STOREGATE_READHANDLEKEY_H
15#define STOREGATE_READHANDLEKEY_H
16
17
21#include <concepts>
22
23
24namespace SG {
25
26
37template <class T>
39 : public VarHandleKey
40{
41public:
51 explicit
52 ReadHandleKey (const std::string& key = "",
53 const std::string& storeName = StoreID::storeName(StoreID::EVENT_STORE));
54
55
69 template <std::derived_from<IProperty> OWNER>
70 ReadHandleKey( OWNER* owner,
71 const std::string& name,
72 const std::string& key = {},
73 const std::string& doc = "");
74
75
84 ReadHandleKey& operator= (const std::string& sgkey);
85
86
87protected:
98 const std::string& key,
99 const std::string& storeName);
100
101
113 template <std::derived_from<IProperty> OWNER>
115 OWNER* owner,
116 const std::string& name,
117 const std::string& key,
118 const std::string& doc);
119};
120
121
130template <class T>
132 : public ReadHandleKey<T>
133{
134public:
144 InitializedReadHandleKey (const std::string& key = "",
145 const std::string& storeName = StoreID::storeName(StoreID::EVENT_STORE));
146};
147
148
149} // namespace SG
150
151
153
154
155#endif // not STOREGATE_READHANDLEKEY_H
macros to associate a CLID to a type
Exceptions that can be thrown from StoreGate.
uint32_t CLID
The Class ID type.
A property holding a SG store/key/clid from which a VarHandle is made.
InitializedReadHandleKey(const std::string &key="", const std::string &storeName=StoreID::storeName(StoreID::EVENT_STORE))
Constructor.
ReadHandleKey(OWNER *owner, const std::string &name, const std::string &key={}, const std::string &doc="")
Auto-declaring Property constructor.
ReadHandleKey & operator=(const std::string &sgkey)
Change the key of the object to which we're referring.
ReadHandleKey(CLID clid, const std::string &key, const std::string &storeName)
Constructor with explicit CLID.
ReadHandleKey(CLID clid, OWNER *owner, const std::string &name, const std::string &key, const std::string &doc)
Auto-declaring constructor with explicit CLID.
ReadHandleKey(const std::string &key="", const std::string &storeName=StoreID::storeName(StoreID::EVENT_STORE))
Constructor.
VarHandleKey(CLID clid, const std::string &sgkey, Gaudi::DataHandle::Mode a, const std::string &storeName=StoreID::storeName(StoreID::EVENT_STORE), bool isCond=false)
Constructor.
@ EVENT_STORE
Definition StoreID.h:26
static const std::string & storeName(const StoreID::type &s)
Definition StoreID.cxx:77
Forward declaration.