44 using IOVSlot = std::map<ConditionKey, std::any>;
45 using IOVSlots = std::map<ConditionContext, IOVSlot>;
76 template <
typename Base>
102 template <
typename T>
107 const std::string& keyDoc =
"" )
108 :
m_key{ owner, keyName, keyDefault, keyDoc } {
128 auto sc = Base::initialize();
129 if ( !sc )
return sc;
146 template <
typename T>
150 template <
typename T>
This class represents an entry point to all the event specific data.
Implementation of property with value of concrete type.
Class wrapping the communication between condition users and conditions backend.
const T & get(const ConditionContext &ctx) const
Get the condition value for the requested condition slot.
const ConditionKey & key() const
Helper to access the key of the current accessor.
ConditionAccessor(base_class *owner, const std::string &keyName, const ConditionKey &keyDefault, const std::string &keyDoc="")
Constructor a ConditionAccessor instance registering it to the current holder.
Gaudi::Property< ConditionKey > m_key
Internal property object for the condition key.
Example of a ConditionAccessorHolder implementation.
details::ConditionsStore::ConditionContext ConditionContext
Forward backend specific ConditionContext to specializations.
ConditionAccessorHolder< Base > base_class
Helper to expose this class to specializations without having to spell the whole name (see Gaudi::Tes...
void registerConditionAccessor(ConditionAccessor< T > &accessor)
Register a ConditionAccessor instance to internal bookkeeping.
const ConditionContext & getConditionContext(const EventContext &ctx) const
Helper to map the event being processed to the corresponding conditions slot.
std::list< std::function< void()> > m_delayedRegistrations
Helper to postpone the registration to the backend.
details::ConditionsStore::ConditionKey ConditionKey
Forward backend specific ConditionKey to specializations.
StatusCode initialize() override
void declareKey(const ConditionKey &key)
std::map< ConditionContext, IOVSlot > IOVSlots
const ConditionContext & getConditionContext(const EventContext &ctx) const
static ConditionsStore & instance()
const T & getCondition(const ConditionKey &key, const ConditionContext &ctx) const
std::set< ConditionKey > m_requestedKeys
ConditionsStore()=default
const std::any * getConditionAny(const ConditionKey &key, const ConditionContext &ctx) const
std::map< ConditionKey, std::any > IOVSlot
This class is used for returning status codes from appropriate routines.