Namespace Acts::Experimental::GridAxisGenerators

namespace GridAxisGenerators

Axis generators are used to allow defining different grid types for indexed geometry objects.

Typedefs

using EqBound = Eq<detail::AxisBoundaryType::Bound>
using EqBoundEqBound = EqEq<detail::AxisBoundaryType::Bound, detail::AxisBoundaryType::Bound>
using EqBoundEqClosed = EqEq<detail::AxisBoundaryType::Bound, detail::AxisBoundaryType::Closed>
using EqBoundEqOpen = EqEq<detail::AxisBoundaryType::Bound, detail::AxisBoundaryType::Open>
using EqBoundVarBound = EqVar<detail::AxisBoundaryType::Bound, detail::AxisBoundaryType::Bound>
using EqBoundVarClosed = EqVar<detail::AxisBoundaryType::Bound, detail::AxisBoundaryType::Closed>
using EqBoundVarOpen = EqVar<detail::AxisBoundaryType::Bound, detail::AxisBoundaryType::Open>
using EqClosed = Eq<detail::AxisBoundaryType::Closed>
using EqClosedEqBound = EqEq<detail::AxisBoundaryType::Closed, detail::AxisBoundaryType::Bound>
using EqClosedEqClosed = EqEq<detail::AxisBoundaryType::Closed, detail::AxisBoundaryType::Closed>
using EqClosedEqOpen = EqEq<detail::AxisBoundaryType::Closed, detail::AxisBoundaryType::Open>
using EqClosedVarBound = EqVar<detail::AxisBoundaryType::Closed, detail::AxisBoundaryType::Bound>
using EqClosedVarClosed = EqVar<detail::AxisBoundaryType::Closed, detail::AxisBoundaryType::Closed>
using EqClosedVarOpen = EqVar<detail::AxisBoundaryType::Closed, detail::AxisBoundaryType::Open>
using EqOpen = Eq<detail::AxisBoundaryType::Open>
using EqOpenEqBound = EqEq<detail::AxisBoundaryType::Open, detail::AxisBoundaryType::Bound>
using EqOpenEqClosed = EqEq<detail::AxisBoundaryType::Open, detail::AxisBoundaryType::Closed>
using EqOpenEqOpen = EqEq<detail::AxisBoundaryType::Open, detail::AxisBoundaryType::Open>
using EqOpenVarBound = EqVar<detail::AxisBoundaryType::Open, detail::AxisBoundaryType::Bound>
using EqOpenVarClosed = EqVar<detail::AxisBoundaryType::Open, detail::AxisBoundaryType::Closed>
using EqOpenVarOpen = EqVar<detail::AxisBoundaryType::Open, detail::AxisBoundaryType::Open>
using VarBound = Var<detail::AxisBoundaryType::Bound>
using VarBoundEqBound = VarEq<detail::AxisBoundaryType::Bound, detail::AxisBoundaryType::Bound>
using VarBoundEqClosed = VarEq<detail::AxisBoundaryType::Bound, detail::AxisBoundaryType::Closed>
using VarBoundEqOpen = VarEq<detail::AxisBoundaryType::Bound, detail::AxisBoundaryType::Open>
using VarBoundVarBound = VarVar<detail::AxisBoundaryType::Bound, detail::AxisBoundaryType::Bound>
using VarBoundVarClosed = VarVar<detail::AxisBoundaryType::Bound, detail::AxisBoundaryType::Closed>
using VarBoundVarOpen = VarVar<detail::AxisBoundaryType::Bound, detail::AxisBoundaryType::Open>
using VarClosed = Var<detail::AxisBoundaryType::Closed>
using VarClosedEqBound = VarEq<detail::AxisBoundaryType::Closed, detail::AxisBoundaryType::Bound>
using VarClosedEqClosed = VarEq<detail::AxisBoundaryType::Closed, detail::AxisBoundaryType::Closed>
using VarClosedEqOpen = VarEq<detail::AxisBoundaryType::Closed, detail::AxisBoundaryType::Open>
using VarClosedVarBound = VarVar<detail::AxisBoundaryType::Closed, detail::AxisBoundaryType::Bound>
using VarClosedVarClosed = VarVar<detail::AxisBoundaryType::Closed, detail::AxisBoundaryType::Closed>
using VarClosedVarOpen = VarVar<detail::AxisBoundaryType::Closed, detail::AxisBoundaryType::Open>
using VarOpen = Var<detail::AxisBoundaryType::Open>
using VarOpenEqBound = VarEq<detail::AxisBoundaryType::Open, detail::AxisBoundaryType::Bound>
using VarOpenEqClosed = VarEq<detail::AxisBoundaryType::Open, detail::AxisBoundaryType::Closed>
using VarOpenEqOpen = VarEq<detail::AxisBoundaryType::Open, detail::AxisBoundaryType::Open>
using VarOpenVarBound = VarVar<detail::AxisBoundaryType::Open, detail::AxisBoundaryType::Bound>
using VarOpenVarClosed = VarVar<detail::AxisBoundaryType::Open, detail::AxisBoundaryType::Closed>
using VarOpenVarOpen = VarVar<detail::AxisBoundaryType::Open, detail::AxisBoundaryType::Open>
template<detail::AxisBoundaryType aType>
struct Eq
#include <Acts/Detector/GridAxisGenerators.hpp>

Templated base generator for equidistant axis as a tuple - 1D.

Template Parameters

aType – the type of the axis (Bound, Closed, Open)

Public Types

using grid_type = detail::Grid<T, detail::Axis<detail::AxisType::Equidistant, aType>>

Broadcast the grid type.

using return_type = std::tuple<detail::Axis<detail::AxisType::Equidistant, aType>>

Broadcast the return_type.

Public Functions

inline return_type operator()() const

Call operator that generates the Axis.

Public Members

std::size_t nBins = 0u
std::array<ActsScalar, 2u> range = {}
template<detail::AxisBoundaryType aType, detail::AxisBoundaryType bType>
struct EqEq
#include <Acts/Detector/GridAxisGenerators.hpp>

Templated base generator for two equidistant axes as a tuple - 2D.

Template Parameters
  • aType – the type of the first axis (Bound, Closed, Open)

  • bType – the type of the second axis (Bound, Closed, Open)

Public Types

using grid_type = detail::Grid<T, detail::Axis<detail::AxisType::Equidistant, aType>, detail::Axis<detail::AxisType::Equidistant, bType>>

Broadcast the grid type.

using return_type = std::tuple<detail::Axis<detail::AxisType::Equidistant, aType>, detail::Axis<detail::AxisType::Equidistant, bType>>

Broadcast the return_type.

Public Functions

inline return_type operator()() const

Call operator that generates the Axis.

Public Members

std::size_t nBins0 = 0u
std::size_t nBins1 = 1u
std::array<ActsScalar, 2u> range0 = {}
std::array<ActsScalar, 2u> range1 = {}
template<detail::AxisBoundaryType aType, detail::AxisBoundaryType bType>
struct EqVar
#include <Acts/Detector/GridAxisGenerators.hpp>

Templated base generator for equidistant / variable axes as a tuple - 2D.

Template Parameters
  • aType – the type of the first axis (Bound, Closed, Open)

  • bType – the type of the second axis (Bound, Closed, Open)

Public Types

using grid_type = detail::Grid<T, detail::Axis<detail::AxisType::Equidistant, aType>, detail::Axis<detail::AxisType::Variable, bType>>

Broadcast the grid type.

using return_type = std::tuple<detail::Axis<detail::AxisType::Equidistant, aType>, detail::Axis<detail::AxisType::Variable, bType>>

Broadcast the return_type.

Public Functions

inline return_type operator()() const

Call operator that generates the Axis.

Public Members

std::vector<ActsScalar> edges = {}
std::size_t nBins = 0u
std::array<ActsScalar, 2u> range = {}
template<detail::AxisBoundaryType aType>
struct Var
#include <Acts/Detector/GridAxisGenerators.hpp>

Templated base generator for vairable axis as a tuple - 1D.

Template Parameters

aType – the type of the axis (Bound, Closed, Open)

Public Types

using grid_type = detail::Grid<T, detail::Axis<detail::AxisType::Variable, aType>>

Broadcast the grid type.

using return_type = std::tuple<detail::Axis<detail::AxisType::Variable, aType>>

Broadcast the return_type.

Public Functions

inline return_type operator()() const

Call operator that generates the Axis.

Public Members

std::vector<ActsScalar> edges = {}
template<detail::AxisBoundaryType aType, detail::AxisBoundaryType bType>
struct VarEq
#include <Acts/Detector/GridAxisGenerators.hpp>

Templated base generator for a variable, equidistant axes tuple - 2D.

Template Parameters
  • aType – the type of the first axis (Bound, Closed, Open)

  • bType – the type of the second axis (Bound, Closed, Open)

Public Types

using grid_type = detail::Grid<T, detail::Axis<detail::AxisType::Variable, aType>, detail::Axis<detail::AxisType::Equidistant, bType>>

Broadcast the grid type.

using return_type = std::tuple<detail::Axis<detail::AxisType::Variable, aType>, detail::Axis<detail::AxisType::Equidistant, bType>>

Broadcast the return_type.

Public Functions

inline return_type operator()() const

Call operator that generates the Axis.

Public Members

std::vector<ActsScalar> edges = {}
std::size_t nBins = 0u
std::array<ActsScalar, 2u> range = {}
template<detail::AxisBoundaryType aType, detail::AxisBoundaryType bType>
struct VarVar
#include <Acts/Detector/GridAxisGenerators.hpp>

Templated base generator for a two variable axes tuple - 2D.

Template Parameters
  • aType – the type of the first axis (Bound, Closed, Open)

  • bType – the type of the second axis (Bound, Closed, Open)

Public Types

using grid_type = detail::Grid<T, detail::Axis<detail::AxisType::Variable, aType>, detail::Axis<detail::AxisType::Variable, bType>>

Broadcast the grid type.

using return_type = std::tuple<detail::Axis<detail::AxisType::Variable, aType>, detail::Axis<detail::AxisType::Variable, bType>>

Broadcast the return_type.

Public Functions

inline return_type operator()() const

Call operator that generates the Axis.

Public Members

std::vector<ActsScalar> edges0 = {}
std::vector<ActsScalar> edges1 = {}