Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ContainerId.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 #ifndef COLUMNAR_CORE_CONTAINER_ID_H
9 #define COLUMNAR_CORE_CONTAINER_ID_H
10 
12 
13 class EventContext;
14 
15 namespace columnar
16 {
69 
70  enum class ContainerId
71  {
72  jet,
73  mutableJet,
74  muon,
75  electron,
76  photon,
77  egamma,
78  cluster,
79  track,
80  track0 = track,
81  track1,
82  track2,
83  vertex,
84  particle,
86  particle1,
87  met,
88  met0 = met,
89  met1,
90  mutableMet,
92  eventInfo,
94  };
95 
96  template<ContainerId> struct ContainerIdTraits final
97  {
98  static constexpr bool isDefined = false;
99  };
100 
101  // including this here, since everyone needs EventContextId/EventContextRange
103  {
104  static constexpr bool isDefined = true;
105  static constexpr bool isMutable = false;
106  static constexpr bool perEventRange = false;
107  static constexpr bool perEventId = false;
108 
110  using xAODObjectIdType = const EventContext;
111 
113  using xAODObjectRangeType = const EventContext;
114  };
115 }
116 
117 #endif
columnar::ContainerId::eventContext
@ eventContext
columnar::ContainerIdTraits
Definition: ContainerId.h:97
columnar::ContainerId::particle0
@ particle0
columnar::ContainerId::particle
@ particle
columnar::ContainerId::egamma
@ egamma
columnar::ContainerId::electron
@ electron
columnar::ContainerIdTraits< ContainerId::eventContext >::xAODObjectRangeType
const EventContext xAODObjectRangeType
the xAOD type to use with ObjectRange
Definition: ContainerId.h:113
columnar::ContainerId::mutableMet
@ mutableMet
columnar::ContainerId::track1
@ track1
columnar::ContainerId::vertex
@ vertex
columnar::ContainerId::photon
@ photon
columnar::ContainerId::particle1
@ particle1
columnar::ContainerId::track
@ track
columnar::ContainerId::cluster
@ cluster
columnar::ContainerId::metAssociation
@ metAssociation
ColumnarDef.h
columnar::ContainerId::mutableJet
@ mutableJet
columnar::ContainerId::track2
@ track2
columnar::final
CM final
Definition: ColumnAccessor.h:106
columnar::ContainerId::jet
@ jet
columnar::ContainerId::met1
@ met1
columnar::ContainerId::met
@ met
columnar::ContainerId::met0
@ met0
columnar::ContainerId::eventInfo
@ eventInfo
columnar::ContainerId::track0
@ track0
columnar::ContainerIdTraits< ContainerId::eventContext >::xAODObjectIdType
const EventContext xAODObjectIdType
the xAOD type to use with ObjectId
Definition: ContainerId.h:110
columnar
Definition: ClusterDef.h:16
columnar::ContainerId
ContainerId
the id for the different "virtual" containers
Definition: ContainerId.h:71
columnar::ContainerIdTraits::isDefined
static constexpr bool isDefined
Definition: ContainerId.h:98
columnar::ContainerId::muon
@ muon