8#ifndef COLUMNAR_CORE_CONTAINER_ID_H
9#define COLUMNAR_CORE_CONTAINER_ID_H
120 template<
typename ObjectType,
typename ContainerType>
171 template<
typename CI>
172 requires (CI::isContainerId && CI::regularObjectId)
197 template<
typename CI>
199 template<
typename CI>
204 template<ContainerIdConcept CI,
typename CM = ColumnarModeDefault>
class ObjectRange;
205 template<ContainerIdConcept CI,
typename CM = ColumnarModeDefault>
class ObjectId;
206 template<ContainerIdConcept CI,
typename CM = ColumnarModeDefault>
class OptObjectId;
207 template<ContainerIdConcept CI,
typename CM = ColumnarModeDefault>
class ObjectLink;
208 template<ContainerIdConcept CI,
typename CT,ColumnAccessMode CAM,
typename CM = ColumnarModeDefault>
class AccessorTemplate;
File providing the different SG_BASE macros.
uint32_t CLID
The Class ID type.
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
Container id definitions for the columnar infrastructure.
CLID clidForType()
the CLID of a container type, or 0 when it cannot be determined
ObjectRange< EventContextDef > EventContextRange
ObjectId< EventContextDef > EventContextId
constexpr std::string_view eventContextCIName
the name for the event context container id
static constexpr CLID ID()
static constexpr bool perEventId
static constexpr bool perEventRange
static constexpr std::string_view idName
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
static constexpr bool isMutable
std::remove_const_t< typename CI::xAODObjectRangeType > xAODObjectRangeType
the xAOD type to use with ObjectRange
a template that provides a base definition of container id for a regular container
ContainerType xAODElementLinkType
the xAOD type to use with ElementLink
static constexpr bool regularObjectId
whether to use the regular ObjectId/ObjectRange
static CLID containerClid()
the CLID of the xAOD container type (from its CLASS_DEF)
static constexpr bool isMutable
whether this is a non-const container
static constexpr bool perEventId
whether this can be retrieved as a single object per event
const ContainerType xAODObjectRangeType
the xAOD type to use with ObjectRange
static constexpr bool isContainerId
identify this as a container id definition
static constexpr bool perEventRange
whether this can be retrieved as a range per event
static constexpr bool regularColumnAccessorArray
whether to use a regular column accessor in array mode
static constexpr bool variantObjectId
whether to use a variant ObjectId
const ObjectType xAODObjectIdType
the xAOD type to use with ObjectId
std::map< std::string, HypoJetVector >::const_iterator CI