ATLAS Offline Software
Loading...
Searching...
No Matches
TrackDef.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_TRACKING_TRACK_DEF_H
9#define COLUMNAR_TRACKING_TRACK_DEF_H
10
14
15namespace columnar
16{
17 namespace ContainerId
18 {
19 struct track : regularCIBase<xAOD::TrackParticle,xAOD::TrackParticleContainer>
20 {
21 static constexpr std::string_view idName = "track0";
22 };
23 using track0 = track;
24
25 struct track1 : track
26 {
27 static constexpr std::string_view idName = "track1";
28 };
29
30 struct track2 : track
31 {
32 static constexpr std::string_view idName = "track2";
33 };
34
35 struct track3 : track
36 {
37 static constexpr std::string_view idName = "track3";
38 };
39
40 struct vertex : regularCIBase<xAOD::Vertex,xAOD::VertexContainer>
41 {
42 static constexpr std::string_view idName = "vertex";
43 };
44 }
45
48 template<typename CT,typename CM=ColumnarModeDefault> using TrackAccessor = AccessorTemplate<ContainerId::track,CT,ColumnAccessMode::input,CM>;
49 template<typename CT,typename CM=ColumnarModeDefault> using TrackDecorator = AccessorTemplate<ContainerId::track,CT,ColumnAccessMode::output,CM>;
50
52 template<typename CT,typename CM=ColumnarModeDefault> using Track0Accessor = AccessorTemplate<ContainerId::track0,CT,ColumnAccessMode::input,CM>;
53 template<typename CT,typename CM=ColumnarModeDefault> using Track0Decorator = AccessorTemplate<ContainerId::track0,CT,ColumnAccessMode::output,CM>;
54
56 template<typename CT,typename CM=ColumnarModeDefault> using Track1Accessor = AccessorTemplate<ContainerId::track1,CT,ColumnAccessMode::input,CM>;
57 template<typename CT,typename CM=ColumnarModeDefault> using Track1Decorator = AccessorTemplate<ContainerId::track1,CT,ColumnAccessMode::output,CM>;
58
60 template<typename CT,typename CM=ColumnarModeDefault> using Track2Accessor = AccessorTemplate<ContainerId::track2,CT,ColumnAccessMode::input,CM>;
61 template<typename CT,typename CM=ColumnarModeDefault> using Track2Decorator = AccessorTemplate<ContainerId::track2,CT,ColumnAccessMode::output,CM>;
62
64 template<typename CT,typename CM=ColumnarModeDefault> using Track3Accessor = AccessorTemplate<ContainerId::track3,CT,ColumnAccessMode::input,CM>;
65 template<typename CT,typename CM=ColumnarModeDefault> using Track3Decorator = AccessorTemplate<ContainerId::track3,CT,ColumnAccessMode::output,CM>;
66
69 template<typename CT,typename CM=ColumnarModeDefault> using VertexAccessor = AccessorTemplate<ContainerId::vertex,CT,ColumnAccessMode::input,CM>;
70 template<typename CT,typename CM=ColumnarModeDefault> using VertexDecorator = AccessorTemplate<ContainerId::vertex,CT,ColumnAccessMode::output,CM>;
71}
72
73#endif
the raw column accessor template class
a class representing a single object (electron, muons, etc.)
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
AccessorTemplate< ContainerId::track, CT, ColumnAccessMode::input, CM > TrackAccessor
Definition TrackDef.h:48
AccessorTemplate< ContainerId::track2, CT, ColumnAccessMode::output, CM > Track2Decorator
Definition TrackDef.h:61
OptObjectId< ContainerId::vertex > OptVertexId
Definition TrackDef.h:68
AccessorTemplate< ContainerId::track, CT, ColumnAccessMode::output, CM > TrackDecorator
Definition TrackDef.h:49
ObjectId< ContainerId::track > TrackId
Definition TrackDef.h:46
AccessorTemplate< ContainerId::track3, CT, ColumnAccessMode::output, CM > Track3Decorator
Definition TrackDef.h:65
OptObjectId< ContainerId::track1 > OptTrack1Id
Definition TrackDef.h:55
AccessorTemplate< ContainerId::track0, CT, ColumnAccessMode::output, CM > Track0Decorator
Definition TrackDef.h:53
AccessorTemplate< ContainerId::track0, CT, ColumnAccessMode::input, CM > Track0Accessor
Definition TrackDef.h:52
OptObjectId< ContainerId::track2 > OptTrack2Id
Definition TrackDef.h:59
AccessorTemplate< ContainerId::track1, CT, ColumnAccessMode::output, CM > Track1Decorator
Definition TrackDef.h:57
AccessorTemplate< ContainerId::track3, CT, ColumnAccessMode::input, CM > Track3Accessor
Definition TrackDef.h:64
OptObjectId< ContainerId::track0 > OptTrack0Id
Definition TrackDef.h:51
AccessorTemplate< ContainerId::vertex, CT, ColumnAccessMode::input, CM > VertexAccessor
Definition TrackDef.h:69
ObjectId< ContainerId::vertex > VertexId
Definition TrackDef.h:67
AccessorTemplate< ContainerId::track2, CT, ColumnAccessMode::input, CM > Track2Accessor
Definition TrackDef.h:60
AccessorTemplate< ContainerId::track1, CT, ColumnAccessMode::input, CM > Track1Accessor
Definition TrackDef.h:56
OptObjectId< ContainerId::track3 > OptTrack3Id
Definition TrackDef.h:63
OptObjectId< ContainerId::track > OptTrackId
Definition TrackDef.h:47
AccessorTemplate< ContainerId::vertex, CT, ColumnAccessMode::output, CM > VertexDecorator
Definition TrackDef.h:70
a template that provides a base definition of container id for a regular container
static constexpr std::string_view idName
Definition TrackDef.h:27
static constexpr std::string_view idName
Definition TrackDef.h:32
static constexpr std::string_view idName
Definition TrackDef.h:37
static constexpr std::string_view idName
Definition TrackDef.h:21
static constexpr std::string_view idName
Definition TrackDef.h:42