|
ATLAS Offline Software
|
Go to the documentation of this file.
16 #ifndef ATHCONTAINERS_DATAVECTORASELV_H
17 #define ATHCONTAINERS_DATAVECTORASELV_H
25 #include "AthLinks/ElementLink.h"
32 #ifdef XAOD_STANDALONE
33 using AthContainers::IProxyDict;
34 #endif // XAOD_STANDALONE
48 const DV* last_d =
nullptr;
50 for (
const typename DV::base_value_type* elt :
v) {
52 if (cont_b != last_b) {
54 last_d =
dynamic_cast<const DV*
>(cont_b);
58 ret.emplace_back (*last_d, elt->index(),
store);
76 throw SG::ExcDVToELV (
"Element in view container does not derive from AuxElement.");
91 std::vector<ElementLink<DV> >
94 std::vector<ElementLink<DV> > ret;
104 for (
size_t i = 0;
i <
sz;
i++)
105 ret.emplace_back (
v,
i,
store);
118 #endif // not ATHCONTAINERS_DATAVECTORASELV_H
Exception — Can't convert DataVector to vector of ElementLinks.
Associate AuxStore classes with EDM container classes (default implementation).
Exceptions that can be thrown from AthContainers.
static IProxyDict * store()
Fetch the current store.
void dataVectorViewAsELV(const std::true_type &, const DV &v, std::vector< ElementLink< DV > > &ret, IProxyDict *store)
Helper for dataVectorViewAsELV.
@ OWN_ELEMENTS
this data object owns its elements
Manage lookup of vectors of auxiliary data.
ElementLink implementation for ROOT usage.
Associate AuxStore classes with EDM container classes.
Manage lookup of vectors of auxiliary data.
std::vector< ElementLink< DV > > dataVectorAsELV(const DV &v, IProxyDict *store=0)
Helper to make a vector<EL> from a DataVector.