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 namespace ContainerId
19 {
20 struct electron : regularCIBase<xAOD::Electron,xAOD::ElectronContainer>
21 {
22 static constexpr std::string_view idName = "electron";
23 };
24
25 struct photon : regularCIBase<xAOD::Photon,xAOD::PhotonContainer>
26 {
27 static constexpr std::string_view idName = "photon";
28 };
29
30 struct egamma : regularCIBase<xAOD::Egamma,xAOD::EgammaContainer>
31 {
32 static constexpr std::string_view idName = "egamma";
33 };
35 }
36
40 template<typename CT,typename CM=ColumnarModeDefault> using ElectronAccessor = AccessorTemplate<ContainerId::electron,CT,ColumnAccessMode::input,CM>;
41 template<typename CT,typename CM=ColumnarModeDefault> using ElectronDecorator = AccessorTemplate<ContainerId::electron,CT,ColumnAccessMode::output,CM>;
42
46 template<typename CT,typename CM=ColumnarModeDefault> using PhotonAccessor = AccessorTemplate<ContainerId::photon,CT,ColumnAccessMode::input,CM>;
47 template<typename CT,typename CM=ColumnarModeDefault> using PhotonDecorator = AccessorTemplate<ContainerId::photon,CT,ColumnAccessMode::output,CM>;
48
52 template<typename CT,typename CM=ColumnarModeDefault> using EgammaAccessor = AccessorTemplate<ContainerId::egamma,CT,ColumnAccessMode::input,CM>;
53 template<typename CT,typename CM=ColumnarModeDefault> using EgammaDecorator = AccessorTemplate<ContainerId::egamma,CT,ColumnAccessMode::output,CM>;
54
60}
61
62#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
mutableCI< egamma > mutableEgamma
Definition EgammaDef.h:34
AccessorTemplate< ContainerId::egamma, CT, ColumnAccessMode::output, CM > EgammaDecorator
Definition EgammaDef.h:53
AccessorTemplate< ContainerId::electron, CT, ColumnAccessMode::input, CM > ElectronAccessor
Definition EgammaDef.h:40
ObjectId< ContainerId::photon > PhotonId
Definition EgammaDef.h:44
AccessorTemplate< ContainerId::photon, CT, ColumnAccessMode::input, CM > PhotonAccessor
Definition EgammaDef.h:46
ObjectRange< ContainerId::egamma > EgammaRange
Definition EgammaDef.h:49
OptObjectId< ContainerId::egamma > OptEgammaId
Definition EgammaDef.h:51
ObjectId< ContainerId::electron > ElectronId
Definition EgammaDef.h:38
AccessorTemplate< ContainerId::mutableEgamma, CT, ColumnAccessMode::output, CM > MutableEgammaDecorator
Definition EgammaDef.h:59
ObjectId< ContainerId::egamma > EgammaId
Definition EgammaDef.h:50
AccessorTemplate< ContainerId::egamma, CT, ColumnAccessMode::input, CM > EgammaAccessor
Definition EgammaDef.h:52
OptObjectId< ContainerId::electron > OptElectronId
Definition EgammaDef.h:39
AccessorTemplate< ContainerId::mutableEgamma, CT, ColumnAccessMode::input, CM > MutableEgammaAccessor
Definition EgammaDef.h:58
OptObjectId< ContainerId::mutableEgamma > OptMutableEgammaId
Definition EgammaDef.h:57
AccessorTemplate< ContainerId::electron, CT, ColumnAccessMode::output, CM > ElectronDecorator
Definition EgammaDef.h:41
ObjectRange< ContainerId::electron > ElectronRange
Definition EgammaDef.h:37
ObjectRange< ContainerId::mutableEgamma > MutableEgammaRange
Definition EgammaDef.h:55
ObjectId< ContainerId::mutableEgamma > MutableEgammaId
Definition EgammaDef.h:56
OptObjectId< ContainerId::photon > OptPhotonId
Definition EgammaDef.h:45
AccessorTemplate< ContainerId::photon, CT, ColumnAccessMode::output, CM > PhotonDecorator
Definition EgammaDef.h:47
ObjectRange< ContainerId::photon > PhotonRange
Definition EgammaDef.h:43
static constexpr std::string_view idName
Definition EgammaDef.h:32
static constexpr std::string_view idName
Definition EgammaDef.h:22
a template to define a mutable version of a given container id
static constexpr std::string_view idName
Definition EgammaDef.h:27
a template that provides a base definition of container id for a regular container