ATLAS Offline Software
Loading...
Searching...
No Matches
EgammaDef.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_EGAMMA_EGAMMA_DEF_H
9#define COLUMNAR_EGAMMA_EGAMMA_DEF_H
10
15
16namespace columnar
17{
18 struct ElectronDef : RegularContainerId<xAOD::Electron,xAOD::ElectronContainer>
19 {
20 static constexpr std::string_view idName = "electron";
21 };
22
23 struct PhotonDef : RegularContainerId<xAOD::Photon,xAOD::PhotonContainer>
24 {
25 static constexpr std::string_view idName = "photon";
26 };
27
28 struct EgammaDef : RegularContainerId<xAOD::Egamma,xAOD::EgammaContainer>
29 {
30 static constexpr std::string_view idName = "egamma";
31 };
33
37 template<typename CT,typename CM=ColumnarModeDefault> using ElectronAccessor = AccessorTemplate<ElectronDef,CT,ColumnAccessMode::input,CM>;
38 template<typename CT,typename CM=ColumnarModeDefault> using ElectronDecorator = AccessorTemplate<ElectronDef,CT,ColumnAccessMode::output,CM>;
39
43 template<typename CT,typename CM=ColumnarModeDefault> using PhotonAccessor = AccessorTemplate<PhotonDef,CT,ColumnAccessMode::input,CM>;
44 template<typename CT,typename CM=ColumnarModeDefault> using PhotonDecorator = AccessorTemplate<PhotonDef,CT,ColumnAccessMode::output,CM>;
45
49 template<typename CT,typename CM=ColumnarModeDefault> using EgammaAccessor = AccessorTemplate<EgammaDef,CT,ColumnAccessMode::input,CM>;
50 template<typename CT,typename CM=ColumnarModeDefault> using EgammaDecorator = AccessorTemplate<EgammaDef,CT,ColumnAccessMode::output,CM>;
51
55 template<typename CT,typename CM=ColumnarModeDefault> using MutableEgammaAccessor = AccessorTemplate<MutableEgammaDef,CT,ColumnAccessMode::input,CM>;
56 template<typename CT,typename CM=ColumnarModeDefault> using MutableEgammaDecorator = AccessorTemplate<MutableEgammaDef,CT,ColumnAccessMode::output,CM>;
57}
58
59#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.)
ObjectRange< EgammaDef > EgammaRange
Definition EgammaDef.h:46
ObjectRange< MutableEgammaDef > MutableEgammaRange
Definition EgammaDef.h:52
AccessorTemplate< MutableEgammaDef, CT, ColumnAccessMode::output, CM > MutableEgammaDecorator
Definition EgammaDef.h:56
OptObjectId< ElectronDef > OptElectronId
Definition EgammaDef.h:36
AccessorTemplate< PhotonDef, CT, ColumnAccessMode::input, CM > PhotonAccessor
Definition EgammaDef.h:43
ObjectId< MutableEgammaDef > MutableEgammaId
Definition EgammaDef.h:53
OptObjectId< PhotonDef > OptPhotonId
Definition EgammaDef.h:42
ObjectId< ElectronDef > ElectronId
Definition EgammaDef.h:35
AccessorTemplate< EgammaDef, CT, ColumnAccessMode::input, CM > EgammaAccessor
Definition EgammaDef.h:49
AccessorTemplate< EgammaDef, CT, ColumnAccessMode::output, CM > EgammaDecorator
Definition EgammaDef.h:50
ObjectRange< PhotonDef > PhotonRange
Definition EgammaDef.h:40
OptObjectId< EgammaDef > OptEgammaId
Definition EgammaDef.h:48
ObjectId< EgammaDef > EgammaId
Definition EgammaDef.h:47
AccessorTemplate< ElectronDef, CT, ColumnAccessMode::output, CM > ElectronDecorator
Definition EgammaDef.h:38
AccessorTemplate< MutableEgammaDef, CT, ColumnAccessMode::input, CM > MutableEgammaAccessor
Definition EgammaDef.h:55
ObjectId< PhotonDef > PhotonId
Definition EgammaDef.h:41
MutableContainerId< EgammaDef > MutableEgammaDef
Definition EgammaDef.h:32
ObjectRange< ElectronDef > ElectronRange
Definition EgammaDef.h:34
AccessorTemplate< ElectronDef, CT, ColumnAccessMode::input, CM > ElectronAccessor
Definition EgammaDef.h:37
OptObjectId< MutableEgammaDef > OptMutableEgammaId
Definition EgammaDef.h:54
AccessorTemplate< PhotonDef, CT, ColumnAccessMode::output, CM > PhotonDecorator
Definition EgammaDef.h:44
static constexpr std::string_view idName
Definition EgammaDef.h:30
static constexpr std::string_view idName
Definition EgammaDef.h:20
a template to define a mutable version of a given container id
static constexpr std::string_view idName
Definition EgammaDef.h:25
Container id definitions for the columnar infrastructure.