|
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef ActsEvent_Decoration_h
5 #define ActsEvent_Decoration_h
44 const void*
data = container->
getData(decorationId);
45 return &(
static_cast<const T*
>(
data)[
idx]);
52 const void*
data = container->
getData(decorationId);
53 return &(
static_cast<T*
>(
data)[
idx]);
62 return &(
static_cast<T*
>(
data)[
idx]);
67 SG::auxid_t decorationId,
const std::any& src_ptr) {
68 *std::any_cast<T*>(decorationSetter<T>(dst, dst_idx, decorationId)) =
69 *std::any_cast<const T*>(src_ptr);
77 dec.hash = Acts::hashString(
n);
79 if (dec.auxid == SG::null_auxid)
80 throw std::runtime_error(
"ActsTrk::Decoration Aux ID for " + dec.name +
81 " could not be found");
82 dec.getter = std::move(
g);
83 dec.copier = std::move(
c);
84 dec.setter = std::move(
s);
95 const std::set<std::string>& staticVariables);
char data[hepevt_bytes_allocation_ATLAS]
virtual const void * getData(SG::auxid_t auxid) const =0
Return the data vector for one aux data item.
static AuxTypeRegistry & instance()
Return the singleton registry instance.
constexpr static bool value
void decorationCopier(SG::IAuxStore *dst, ActsTrk::IndexType dst_idx, SG::auxid_t decorationId, const std::any &src_ptr)
std::function< const std::any(const SG::IConstAuxStore *, ActsTrk::IndexType, SG::auxid_t)> GetterType
std::function< void(SG::IAuxStore *, ActsTrk::IndexType, SG::auxid_t, const std::any &)> CopierType
size_t auxid_t
Identifier for a particular aux data item.
const std::any constDecorationGetter(const SG::IConstAuxStore *container, ActsTrk::IndexType idx, SG::auxid_t decorationId)
std::vector< Decoration > restoreDecorations(const SG::IConstAuxStore *container, const std::set< std::string > &staticVariables)
Basic definitions for auxiliary types.
Interface for non-const operations on an auxiliary store.
const std::any decorationGetter(const SG::IAuxStore *container, ActsTrk::IndexType idx, SG::auxid_t decorationId)
virtual void * getData(auxid_t auxid, size_t size, size_t capacity)=0
Return the data vector for one aux data item.
Interface for non-const operations on an auxiliary store.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Interface for const operations on an auxiliary store.
Interface for const operations on an auxiliary store.
std::any decorationSetter(SG::IAuxStore *container, ActsTrk::IndexType idx, SG::auxid_t decorationId)
SG::auxid_t getAuxID(const std::string &name, const std::string &clsname="", const Flags flags=Flags::None, const SG::auxid_t linkedVariable=SG::null_auxid)
Look up a name -> auxid_t mapping.
std::function< std::any(SG::IAuxStore *, ActsTrk::IndexType, SG::auxid_t)> SetterType