Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ParticleDef.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_PARTICLE_DEF_H
9 #define COLUMNAR_CORE_PARTICLE_DEF_H
10 
13 
14 namespace columnar
15 {
16  template<ContainerId CI> requires (CI == ContainerId::particle0 || CI == ContainerId::particle1)
17  struct ContainerIdTraits<CI> final
18  {
19  static constexpr bool isDefined = true;
20  static constexpr bool isMutable = false;
21  static constexpr bool perEventRange = true;
22  static constexpr bool perEventId = false;
23 
25  using xAODObjectIdType = const xAOD::IParticle;
26 
28  using xAODObjectRangeType = const xAOD::IParticleContainer;
29 
31  using xAODElementLinkType = xAOD::IParticleContainer;
32  };
33 }
34 
35 #endif
columnar::ContainerIdTraits
Definition: ContainerId.h:97
columnar::ContainerId::particle0
@ particle0
xAOD::IParticleContainer
DataVector< IParticle > IParticleContainer
Simple convenience declaration of IParticleContainer.
Definition: xAOD/xAODBase/xAODBase/IParticleContainer.h:32
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
CI
std::map< std::string, HypoJetVector >::const_iterator CI
Definition: xAODJetCollector.h:18
columnar::ContainerId::particle1
@ particle1
IParticleContainer.h
columnar::requires
requires((std::is_integral_v< CT >||std::is_floating_point_v< CT >) &&!std::is_same_v< CT, bool >) struct ColumnTypeTraits< CT
columnar::final
CM final
Definition: ColumnAccessor.h:106
columnar
Definition: ClusterDef.h:16
ContainerId.h
columnar::ContainerIdTraits::isDefined
static constexpr bool isDefined
Definition: ContainerId.h:98