 |
ATLAS Offline Software
|
Go to the documentation of this file.
8 #ifndef COLUMNAR_CORE_LINK_COLUMN_H
9 #define COLUMNAR_CORE_LINK_COLUMN_H
11 #include <AthLinks/ElementLink.h>
24 template<ContainerIdConcept LT,
typename ELT>
32 template<ContainerIdConcept LT>
47 typename LT::xAODObjectIdType *
ptr = *link.
cptr();
57 template<ContainerIdConcept LT,
typename ELT>
74 auto *ptr2 =
dynamic_cast<typename LT::xAODObjectIdType*
>(
ptr);
75 if (!ptr2)
throw std::runtime_error (
"link not of expected type");
91 template<ContainerIdConcept LT>
103 info.linkTargetNames = {columnarTool.containerStoreName(LT::idName)};
116 template<ContainerIdConcept LT,
typename ELT>
typename CM::LinkIndexType ColumnType
char data[hepevt_bytes_allocation_ATLAS]
static ColumnInfo & updateColumnInfo(ColumnarTool< CM > &columnarTool, ColumnInfo &info)
static constexpr bool useConvertWithDataInput
static constexpr bool useConvertInput
a class representing a single optional object (electron, muons, etc.)
bool isValid() const
Test to see if the link can be dereferenced.
static ColumnInfo & updateColumnInfo(ColumnarTool< CM > &, ColumnInfo &info)
static OptObjectId< LT > convertInput(void **data, typename CM::LinkIndexType link)
static OptObjectId< LT > convertInput(const ElementLink< typename LT::xAODElementLinkType > &link)
a struct that contains meta-information about each column that's needed to interface the column with ...
std::size_t LinkIndexType
the type used for columns that represent element links
static constexpr bool isNativeType
ElementLink implementation for ROOT usage.
a type wrapper to force AccessorTemplate to treat the type as native
constexpr ColumnarOffsetType invalidObjectIndex
the value for an invalid element index
static OptObjectId< LT > convertInput(const ElementLink< ELT > &link)
ElementConstPointer cptr() const
Return a pointer to the referenced element.
a trait class to provide information about the column type
static ColumnInfo & updateColumnInfo(ColumnarTool< CM > &, ColumnInfo &info)
a special column type that behaves like an OptObjectId, but applies an internal cast in xAOD mode