8#ifndef COLUMNAR_CORE_CONTAINER_ID_H
9#define COLUMNAR_CORE_CONTAINER_ID_H
105 template<
typename ObjectType,
typename ContainerType>
143 template<
typename CI>
144 requires (CI::isContainerId && CI::regularObjectId)
160 static constexpr std::string_view
idName =
"eventContext";
170 template<
typename CI>
172 template<
typename CI>
177 template<ContainerIdConcept CI,
typename CM = ColumnarModeDefault>
class ObjectRange;
178 template<ContainerIdConcept CI,
typename CM = ColumnarModeDefault>
class ObjectId;
179 template<ContainerIdConcept CI,
typename CM = ColumnarModeDefault>
class OptObjectId;
180 template<ContainerIdConcept CI,
typename CM = ColumnarModeDefault>
class ObjectLink;
181 template<ContainerIdConcept CI,
typename CT,ColumnAccessMode CAM,
typename CM = ColumnarModeDefault>
class AccessorTemplate;
the raw column accessor template class
a class representing a single object (electron, muons, etc.)
a class representing a continuous sequence of objects (a.k.a. a container)
a class representing a single optional object (electron, muons, etc.)
concept for a container id
a namespace for holding the ids for the different "virtual" containers
ObjectRange< ContainerId::eventContext > EventContextRange
ObjectId< ContainerId::eventContext > EventContextId
static constexpr std::string_view idName
static constexpr bool perEventId
static constexpr bool perEventRange
a template to define a mutable version of a given container id
std::remove_const_t< typename CI::xAODObjectIdType > xAODObjectIdType
the xAOD type to use with ObjectId
std::remove_const_t< typename CI::xAODObjectRangeType > xAODObjectRangeType
the xAOD type to use with ObjectRange
static constexpr bool isMutable
a template that provides a base definition of container id for a regular container
static constexpr bool regularColumnAccessorArray
whether to use a regular column accessor in array mode
ContainerType xAODElementLinkType
the xAOD type to use with ElementLink
static constexpr bool regularObjectId
whether to use the regular ObjectId/ObjectRange
const ContainerType xAODObjectRangeType
the xAOD type to use with ObjectRange
static constexpr bool isMutable
whether this is a non-const container
static constexpr bool perEventRange
whether this can be retrieved as a range per event
const ObjectType xAODObjectIdType
the xAOD type to use with ObjectId
static constexpr bool perEventId
whether this can be retrieved as a single object per event
static constexpr bool isContainerId
identify this as a container id definition
std::map< std::string, HypoJetVector >::const_iterator CI