Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Classes | Namespaces | Typedefs | Functions | Variables
ObjectRange.h File Reference
#include <ColumnarCore/ContainerId.h>
#include <ColumnarCore/ObjectId.h>
#include <exception>
Include dependency graph for ObjectRange.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  columnar::ObjectRange< CI, CM >
 a class representing a continuous sequence of objects (a.k.a. a container) More...
 
class  columnar::ObjectRangeIteratorXAODContainer< CI >
 
class  columnar::ObjectRange< CI, ColumnarModeXAOD >
 
class  columnar::ObjectRangeIteratorXAODContainer< CI >
 
class  columnar::ObjectRangeIteratorXAODSinglet< CI >
 
class  columnar::ObjectRangeIteratorXAODSinglet< CI >
 
class  columnar::ObjectRangeIteratorArray< CI >
 an iterator over objects in an ObjectRange More...
 
class  columnar::ObjectRange< CI, ColumnarModeArray >
 
class  columnar::ObjectRangeIteratorArray< CI >
 an iterator over objects in an ObjectRange More...
 

Namespaces

 columnar
 

Typedefs

using columnar::xAODContainer = typename ContainerIdTraits< CI >::xAODObjectRangeType
 
using columnar::CM = ColumnarModeXAOD
 
using columnar::EventInfoRange = ObjectRange< ContainerId::eventInfo >
 
using columnar::EventContextRange = ObjectRange< ContainerId::eventContext >
 
using columnar::JetRange = ObjectRange< ContainerId::jet >
 
using columnar::MutableJetRange = ObjectRange< ContainerId::mutableJet >
 
using columnar::EgammaRange = ObjectRange< ContainerId::egamma >
 
using columnar::ElectronRange = ObjectRange< ContainerId::electron >
 
using columnar::PhotonRange = ObjectRange< ContainerId::photon >
 
using columnar::MuonRange = ObjectRange< ContainerId::muon >
 
using columnar::ParticleRange = ObjectRange< ContainerId::particle >
 
using columnar::Particle0Range = ObjectRange< ContainerId::particle0 >
 
using columnar::Particle1Range = ObjectRange< ContainerId::particle1 >
 
using columnar::MetRange = ObjectRange< ContainerId::met >
 
using columnar::Met0Range = ObjectRange< ContainerId::met0 >
 
using columnar::Met1Range = ObjectRange< ContainerId::met1 >
 
using columnar::MutableMetRange = ObjectRange< ContainerId::mutableMet >
 
using columnar::MetAssociationRange = ObjectRange< ContainerId::metAssociation >
 

Functions

template<ContainerId CI>
 columnar::requires (std::is_same_v< typename ContainerIdTraits< CI >::xAODObjectRangeType, typename ContainerIdTraits< CI >::xAODObjectIdType >) class ObjectRange< CI
 
 columnar::ObjectRange (xAODContainer &val_singlet) noexcept
 
xAODContainer & columnar::getXAODObject () const noexcept
 
auto columnar::begin () const noexcept
 
auto columnar::end () const noexcept
 
bool columnar::empty () const noexcept
 
std::size_t columnar::size () const noexcept
 
ObjectId< CI, CM > columnar::operator[] (std::size_t) const noexcept
 
template<typename Acc , typename... Args>
requiresdecltype(auto) std::invocable< Acc, ObjectRange< CI, ColumnarModeXAOD >, Args... > columnar::operator() (Acc &acc, Args &&... args) const
 

Variables

xAODContainer * columnar::m_singlet = nullptr