ATLAS Offline Software
Loading...
Searching...
No Matches
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
14namespace columnar
15{
16 struct ParticleDef : RegularContainerId<xAOD::IParticle,xAOD::IParticleContainer>
17 {
18 static constexpr std::string_view idName = "particle";
19 };
21
23 {
24 static constexpr std::string_view idName = "particle1";
25 };
26
28 {
29 static constexpr std::string_view idName = "particle2";
30 };
31
35 template<typename CT,typename CM=ColumnarModeDefault> using ParticleAccessor = AccessorTemplate<ParticleDef,CT,ColumnAccessMode::input,CM>;
36 template<typename CT,typename CM=ColumnarModeDefault> using ParticleDecorator = AccessorTemplate<ParticleDef,CT,ColumnAccessMode::output,CM>;
37
41 template<typename CT,typename CM=ColumnarModeDefault> using Particle0Accessor = AccessorTemplate<Particle0Def,CT,ColumnAccessMode::input,CM>;
42 template<typename CT,typename CM=ColumnarModeDefault> using Particle0Decorator = AccessorTemplate<Particle0Def,CT,ColumnAccessMode::output,CM>;
43
47 template<typename CT,typename CM=ColumnarModeDefault> using Particle1Accessor = AccessorTemplate<Particle1Def,CT,ColumnAccessMode::input,CM>;
48 template<typename CT,typename CM=ColumnarModeDefault> using Particle1Decorator = AccessorTemplate<Particle1Def,CT,ColumnAccessMode::output,CM>;
49
53 template<typename CT,typename CM=ColumnarModeDefault> using Particle2Accessor = AccessorTemplate<Particle2Def,CT,ColumnAccessMode::input,CM>;
54 template<typename CT,typename CM=ColumnarModeDefault> using Particle2Decorator = AccessorTemplate<Particle2Def,CT,ColumnAccessMode::output,CM>;
55}
56
57#endif
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.)
AccessorTemplate< Particle0Def, CT, ColumnAccessMode::output, CM > Particle0Decorator
Definition ParticleDef.h:42
OptObjectId< Particle2Def > OptParticle2Id
Definition ParticleDef.h:52
AccessorTemplate< Particle1Def, CT, ColumnAccessMode::input, CM > Particle1Accessor
Definition ParticleDef.h:47
AccessorTemplate< Particle1Def, CT, ColumnAccessMode::output, CM > Particle1Decorator
Definition ParticleDef.h:48
ObjectId< Particle0Def > Particle0Id
Definition ParticleDef.h:39
ParticleDef Particle0Def
Definition ParticleDef.h:20
ObjectId< Particle1Def > Particle1Id
Definition ParticleDef.h:45
AccessorTemplate< Particle2Def, CT, ColumnAccessMode::input, CM > Particle2Accessor
Definition ParticleDef.h:53
ObjectId< ParticleDef > ParticleId
Definition ParticleDef.h:33
AccessorTemplate< ParticleDef, CT, ColumnAccessMode::input, CM > ParticleAccessor
Definition ParticleDef.h:35
ObjectRange< Particle0Def > Particle0Range
Definition ParticleDef.h:38
OptObjectId< Particle0Def > OptParticle0Id
Definition ParticleDef.h:40
AccessorTemplate< Particle2Def, CT, ColumnAccessMode::output, CM > Particle2Decorator
Definition ParticleDef.h:54
ObjectRange< Particle2Def > Particle2Range
Definition ParticleDef.h:50
AccessorTemplate< ParticleDef, CT, ColumnAccessMode::output, CM > ParticleDecorator
Definition ParticleDef.h:36
ObjectRange< ParticleDef > ParticleRange
Definition ParticleDef.h:32
OptObjectId< Particle1Def > OptParticle1Id
Definition ParticleDef.h:46
ObjectRange< Particle1Def > Particle1Range
Definition ParticleDef.h:44
OptObjectId< ParticleDef > OptParticleId
Definition ParticleDef.h:34
ObjectId< Particle2Def > Particle2Id
Definition ParticleDef.h:51
AccessorTemplate< Particle0Def, CT, ColumnAccessMode::input, CM > Particle0Accessor
Definition ParticleDef.h:41
static constexpr std::string_view idName
Definition ParticleDef.h:24
static constexpr std::string_view idName
Definition ParticleDef.h:29
static constexpr std::string_view idName
Definition ParticleDef.h:18
Container id definitions for the columnar infrastructure.