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 namespace ContainerId
17 {
18 struct particle : regularCIBase<xAOD::IParticle,xAOD::IParticleContainer>
19 {
20 static constexpr std::string_view idName = "particle";
21 };
23
25 {
26 static constexpr std::string_view idName = "particle1";
27 };
28
30 {
31 static constexpr std::string_view idName = "particle2";
32 };
33 }
34
38 template<typename CT,typename CM=ColumnarModeDefault> using ParticleAccessor = AccessorTemplate<ContainerId::particle,CT,ColumnAccessMode::input,CM>;
39 template<typename CT,typename CM=ColumnarModeDefault> using ParticleDecorator = AccessorTemplate<ContainerId::particle,CT,ColumnAccessMode::output,CM>;
40
44 template<typename CT,typename CM=ColumnarModeDefault> using Particle0Accessor = AccessorTemplate<ContainerId::particle0,CT,ColumnAccessMode::input,CM>;
45 template<typename CT,typename CM=ColumnarModeDefault> using Particle0Decorator = AccessorTemplate<ContainerId::particle0,CT,ColumnAccessMode::output,CM>;
46
50 template<typename CT,typename CM=ColumnarModeDefault> using Particle1Accessor = AccessorTemplate<ContainerId::particle1,CT,ColumnAccessMode::input,CM>;
51 template<typename CT,typename CM=ColumnarModeDefault> using Particle1Decorator = AccessorTemplate<ContainerId::particle1,CT,ColumnAccessMode::output,CM>;
52
56 template<typename CT,typename CM=ColumnarModeDefault> using Particle2Accessor = AccessorTemplate<ContainerId::particle2,CT,ColumnAccessMode::input,CM>;
57 template<typename CT,typename CM=ColumnarModeDefault> using Particle2Decorator = AccessorTemplate<ContainerId::particle2,CT,ColumnAccessMode::output,CM>;
58}
59
60#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.)
a namespace for holding the ids for the different "virtual" containers
Definition ClusterDef.h:18
ObjectRange< ContainerId::particle > ParticleRange
Definition ParticleDef.h:35
ObjectId< ContainerId::particle1 > Particle1Id
Definition ParticleDef.h:48
AccessorTemplate< ContainerId::particle2, CT, ColumnAccessMode::output, CM > Particle2Decorator
Definition ParticleDef.h:57
AccessorTemplate< ContainerId::particle1, CT, ColumnAccessMode::output, CM > Particle1Decorator
Definition ParticleDef.h:51
OptObjectId< ContainerId::particle > OptParticleId
Definition ParticleDef.h:37
ObjectId< ContainerId::particle2 > Particle2Id
Definition ParticleDef.h:54
OptObjectId< ContainerId::particle0 > OptParticle0Id
Definition ParticleDef.h:43
AccessorTemplate< ContainerId::particle2, CT, ColumnAccessMode::input, CM > Particle2Accessor
Definition ParticleDef.h:56
ObjectId< ContainerId::particle > ParticleId
Definition ParticleDef.h:36
AccessorTemplate< ContainerId::particle, CT, ColumnAccessMode::input, CM > ParticleAccessor
Definition ParticleDef.h:38
OptObjectId< ContainerId::particle1 > OptParticle1Id
Definition ParticleDef.h:49
AccessorTemplate< ContainerId::particle0, CT, ColumnAccessMode::input, CM > Particle0Accessor
Definition ParticleDef.h:44
ObjectRange< ContainerId::particle2 > Particle2Range
Definition ParticleDef.h:53
OptObjectId< ContainerId::particle2 > OptParticle2Id
Definition ParticleDef.h:55
ObjectRange< ContainerId::particle1 > Particle1Range
Definition ParticleDef.h:47
ObjectRange< ContainerId::particle0 > Particle0Range
Definition ParticleDef.h:41
ObjectId< ContainerId::particle0 > Particle0Id
Definition ParticleDef.h:42
AccessorTemplate< ContainerId::particle0, CT, ColumnAccessMode::output, CM > Particle0Decorator
Definition ParticleDef.h:45
AccessorTemplate< ContainerId::particle1, CT, ColumnAccessMode::input, CM > Particle1Accessor
Definition ParticleDef.h:50
AccessorTemplate< ContainerId::particle, CT, ColumnAccessMode::output, CM > ParticleDecorator
Definition ParticleDef.h:39
static constexpr std::string_view idName
Definition ParticleDef.h:26
static constexpr std::string_view idName
Definition ParticleDef.h:31
static constexpr std::string_view idName
Definition ParticleDef.h:20
a template that provides a base definition of container id for a regular container