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

Go to the source code of this file.

Namespaces

 xAOD
 ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
 
 xAOD::CaloClusterDetails
 

Typedefs

using xAOD::CaloClusterDetails::CaloSample = CaloSampling::CaloSample
 

Functions

bool xAOD::CaloClusterDetails::hasSampling (const CaloSample s, const std::uint32_t samplingPattern)
 Checks if certain smapling contributes to cluster. More...
 
unsigned xAOD::CaloClusterDetails::sampVarIdx (const CaloSample s, const std::uint32_t samplingPattern)
 
float xAOD::CaloClusterDetails::getSamplVar (const CaloSample sampling, const std::uint32_t samplingPattern, const std::span< const float > vec, const float errorvalue=defaultErrorValue)
 
float xAOD::CaloClusterDetails::energyBE (const unsigned sample, const std::uint32_t samplingPattern, const std::span< const float > e_sampl)
 Get the energy in one layer of the EM Calo. More...
 
float xAOD::CaloClusterDetails::etaBE (const unsigned sample, const std::uint32_t samplingPattern, const std::span< const float > e_sampl, const std::span< const float > eta_sampl)
 Get the eta in one layer of the EM Calo. More...
 

Variables

constexpr float xAOD::CaloClusterDetails::defaultErrorValue = -999
 the default error code to return in case of error More...
 

Detailed Description

Helper functions for CaloCluster accessors

This file contains helper functions for more complex accessors in xAOD::CaloCluster that are shared with the columnar environment. These are all implemented as inline standalone functions that get all the input variables passed in. That completely separates them from the xAOD::CaloCluster class, as well as from the columnar environment.

This is implemented as header-only inline code, which should give it large flexibility in how it can be used without adding additional overhead. If any of these functions is to heavy it can later on be turned into a non-inlined function.

@warn None of these functions are meant to be called by the user directly. These are meant as the backend implementations of the corresponding accessors in xAOD::CaloCluster and the corresponding columnar accessors.

Definition in file CaloClusterDetails.h.