Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
8 #ifndef COLUMNAR_CORE_OPT_OBJECT_ID_H
9 #define COLUMNAR_CORE_OPT_OBJECT_ID_H
24 template<ContainerId CI,
typename CM = ColumnarModeDefault>
class OptObjectId;
45 : m_object (&val_object.getXAODObject())
49 : m_object (val_object)
57 return m_object !=
nullptr;}
60 return m_object !=
nullptr;}
63 if (m_object ==
nullptr)
64 throw std::bad_optional_access();
68 if (m_object ==
nullptr)
69 throw std::bad_optional_access();
76 return m_object == that.m_object;}
87 template<ContainerId CI>
93 template<ContainerId CI>
117 :
m_data (val_object.getData()), m_index (val_object.getIndex())
122 throw std::logic_error (
"can't call xAOD function in columnar mode");
130 throw std::logic_error (
"can't call xAOD function in columnar mode");}
140 throw std::bad_optional_access();
145 throw std::bad_optional_access();
149 return m_index == that.m_index;}
158 :
m_data (val_data), m_index (val_index)
161 explicit OptObjectId (
void **val_data,
unsigned val_index) noexcept
162 :
m_data (val_data), m_index (val_index)
165 explicit OptObjectId (
void **val_data, std::size_t val_index) noexcept
166 :
m_data (val_data), m_index (val_index)
185 template<ContainerId CI>
191 template<ContainerId CI>
ObjectId< CI, ColumnarModeXAOD > value() const
OptObjectId(xAODObject *)
xAODObject * getXAODObject() const
void ** getData() const noexcept
typename ContainerIdTraits< CI >::xAODObjectIdType xAODObject
a class representing a single optional object (electron, muons, etc.)
AccessorTemplate & operator=(AccessorTemplate &&that)
bool const RAWDATA *ch2 const
std::map< std::string, HypoJetVector >::const_iterator CI
OptObjectId(const OptObjectId< CI, ColumnarModeArray > &that) noexcept=default
bool operator==(const ObjectId< CI, ColumnarModeXAOD > &lhs, const ObjectId< CI, ColumnarModeXAOD > &rhs)
OptObjectId(ObjectId< CI, ColumnarModeXAOD > val_object) noexcept
bool operator!=(const ObjectId< CI, ColumnarModeXAOD > &lhs, const ObjectId< CI, ColumnarModeXAOD > &rhs)
SiLocalPosition operator*(const SiLocalPosition &position, const double factor)
OptObjectId(void **val_data, std::size_t val_index) noexcept
typename ContainerIdTraits< CI >::xAODObjectIdType xAODObject
xAODObject * getXAODObject() const noexcept
a class representing a single object (electron, muons, etc.)
constexpr ColumnarOffsetType invalidObjectIndex
the value for an invalid element index
bool has_value() const noexcept
ObjectId< CI, ColumnarModeArray > value() const
OptObjectId(void **val_data, int val_index) noexcept
OptObjectId() noexcept=default
OptObjectId(ObjectId< CI, ColumnarModeArray > val_object) noexcept
bool has_value() const noexcept
OptObjectId(void **val_data, unsigned val_index) noexcept
OptObjectId(const OptObjectId< CI, ColumnarModeXAOD > &that) noexcept=default
std::size_t getIndex() const noexcept
setBGCode setTAP setLVL2ErrorBits bool
OptObjectId() noexcept=default
OptObjectId(xAODObject *val_object) noexcept