 |
ATLAS Offline Software
|
Go to the documentation of this file.
13 #ifndef STOREGATE_WRITEDECORHANDLE_H
14 #define STOREGATE_WRITEDECORHANDLE_H
22 #include "GaudiKernel/EventContext.h"
23 #include <type_traits>
97 template <
class T,
class D>
140 const EventContext& ctx);
146 const EventContext& ctx) =
delete;
224 typename = std::enable_if_t<!std::is_void_v<POINTER_TYPE> > >
330 template <
class D,
class T>
354 template <
class D,
class T>
356 const EventContext& ctx);
370 const EventContext& ctx);
379 #endif // not STOREGATE_WRITEDECORHANDLE_WRITEDECORHANDLE_H
typename accessor_t::span span
Span of aux data items.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
typename accessor_t::container_pointer_type container_pointer_type
Pointer into the vector holding an aux data item.
bool isAvailable()
Test to see if this variable exists in the store, for the referenced object.
const SG::AuxVectorData * vectorData(std::true_type)
Return the referenced object as a SG::AuxVectorData.
~WriteDecorHandle()
Destructor.
Base class for elements of a container that can have aux data.
typename AuxDataTraits< T, ALLOC >::span span
A span over elements in the container.
Some common helper functions used by decoration handles.
reference_type operator()(const AuxElement &e)
Fetch the variable for one element, as a reference.
WriteDecorHandle(SG::WriteDecorHandleKey< T > &&key)=delete
a smart pointer to an object of a given type in an IProxyDict (such as StoreGateSvc)....
WriteDecorHandle(const WriteDecorHandleKey< T > &key, const EventContext &ctx)
Constructor from a ReadDecorHandleKey and an explicit event context.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
const SG::AuxVectorData * vectorData(std::false_type)
Return the referenced object as a SG::AuxVectorData.
size_t auxid_t
Identifier for a particular aux data item.
SG::auxid_t auxid() const
Return the aux id for this variable.
Gaudi::DataHandle::Mode mode() const
Return the mode (read/write/update) for this handle.
WriteDecorHandle(WriteDecorHandle &&rhs)
Move constructor.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
const SG::AuxVectorData * vectorData()
Return the referenced object as a SG::AuxVectorData.
Helper class to provide type-safe access to aux data.
::StatusCode StatusCode
StatusCode definition for legacy code.
Handle class for adding a decoration to an object.
POINTER_TYPE getDecorationArray()
Get a pointer to the start of the auxiliary data array, for the referenced object.
Helpers for treating a class enum as a bitmask.
void makeDecor(const AuxVectorData *avd)
Create the decoration if it doesn't actually exist yet.
typename AuxDataTraits< T, ALLOC >::container_pointer_type container_pointer_type
Pointer into the container holding this item.
bool m_renounced
Was this handle renounced?
WriteDecorHandle & operator=(const WriteDecorHandle &rhs)
Assignment operator.
typename AuxDataTraits< T, ALLOC >::reference_type reference_type
Type referencing an item.
WriteDecorHandle(const WriteDecorHandleKey< T > &key)
Constructor from a WriteDecorHandleKey.
span getDecorationSpan()
Get a span over the auxilary data array, for the referenced object.
virtual StatusCode setProxyDict(IProxyDict *store) override
Explicitly set the event store.
const std::string & decorKey() const
Return the name of the decoration alias (CONT.DECOR).
Manage lookup of vectors of auxiliary data.
typename accessor_t::reference_type reference_type
Type referencing an aux data item.
Handle class for reading from StoreGate.
bool isPresent() const
Is the referenced container present in SG?
WriteDecorHandle(SG::WriteDecorHandleKey< T > &&key, const EventContext &ctx)=delete
bool m_decorated
Have we created the decoration?
std::string m_decorKey
Name of the decoration alias: CONT.DECOR.
WriteDecorHandle(const WriteDecorHandle &rhs)
Copy constructor.
accessor_t m_acc
Accessor for the aux data item.
Base class for elements of a container that can have aux data.