The Gaudi Framework  v41r0 (bdbe7744)
Loading...
Searching...
No Matches
Gaudi::Accumulators::HistoInputType< std::tuple< Elements... >, NIndex > Struct Template Reference

#include </builds/gaudi/Gaudi/GaudiKernel/include/Gaudi/Accumulators/StaticHistogram.h>

Inheritance diagram for Gaudi::Accumulators::HistoInputType< std::tuple< Elements... >, NIndex >:
Collaboration diagram for Gaudi::Accumulators::HistoInputType< std::tuple< Elements... >, NIndex >:

Public Types

using InternalType = std::tuple<Elements...>
using ValueType = HistoInputType<SubTuple_t<InternalType, NIndex>, NIndex>

Public Member Functions

template<class... AxisType>
requires ( sizeof...( AxisType ) == NIndex )
unsigned int computeIndex (std::tuple< AxisType... > const &axis) const
auto forInternalCounter () const
template<class... AxisType>
requires ( sizeof...( AxisType ) == NIndex )
bool inAcceptance (std::tuple< AxisType... > const &axis) const

Static Public Member Functions

template<class... AxisType>
requires ( sizeof...( AxisType ) == NIndex )
static unsigned int computeTotNBins (std::tuple< AxisType... > const &axis)

Private Member Functions

template<int N, class Tuple>
unsigned int computeIndexInternal (Tuple const &allAxis) const
template<int N, class Tuple>
bool inAcceptanceInternal (Tuple const &allAxis) const

Static Private Member Functions

template<int N, class Tuple>
static unsigned int computeTotNBinsInternal (Tuple const &allAxis)

Detailed Description

template<unsigned int NIndex, typename... Elements>
struct Gaudi::Accumulators::HistoInputType< std::tuple< Elements... >, NIndex >

Definition at line 357 of file StaticHistogram.h.

Member Typedef Documentation

◆ InternalType

template<unsigned int NIndex, typename... Elements>
using Gaudi::Accumulators::HistoInputType< std::tuple< Elements... >, NIndex >::InternalType = std::tuple<Elements...>

Definition at line 358 of file StaticHistogram.h.

◆ ValueType

template<unsigned int NIndex, typename... Elements>
using Gaudi::Accumulators::HistoInputType< std::tuple< Elements... >, NIndex >::ValueType = HistoInputType<SubTuple_t<InternalType, NIndex>, NIndex>

Definition at line 359 of file StaticHistogram.h.

Member Function Documentation

◆ computeIndex()

template<unsigned int NIndex, typename... Elements>
template<class... AxisType>
requires ( sizeof...( AxisType ) == NIndex )
unsigned int Gaudi::Accumulators::HistoInputType< std::tuple< Elements... >, NIndex >::computeIndex ( std::tuple< AxisType... > const & axis) const
inline

Definition at line 363 of file StaticHistogram.h.

363 {
365 }
small class used as InputType for regular Histograms basically a tuple of the given values,...

◆ computeIndexInternal()

template<unsigned int NIndex, typename... Elements>
template<int N, class Tuple>
unsigned int Gaudi::Accumulators::HistoInputType< std::tuple< Elements... >, NIndex >::computeIndexInternal ( Tuple const & allAxis) const
inlineprivate

Definition at line 380 of file StaticHistogram.h.

380 {
381 // compute global index. Bins are stored in a column first manner
382 auto const& axis = std::get<N>( allAxis );
383 unsigned int localIndex = axis.index( std::get<N>( *this ) );
384 if constexpr ( N + 1 == NIndex )
385 return localIndex;
386 else
387 return localIndex + ( axis.numBins() + 2 ) * computeIndexInternal<N + 1, Tuple>( allAxis );
388 }

◆ computeTotNBins()

template<unsigned int NIndex, typename... Elements>
template<class... AxisType>
requires ( sizeof...( AxisType ) == NIndex )
unsigned int Gaudi::Accumulators::HistoInputType< std::tuple< Elements... >, NIndex >::computeTotNBins ( std::tuple< AxisType... > const & axis)
inlinestatic

Definition at line 368 of file StaticHistogram.h.

368 {
370 }

◆ computeTotNBinsInternal()

template<unsigned int NIndex, typename... Elements>
template<int N, class Tuple>
unsigned int Gaudi::Accumulators::HistoInputType< std::tuple< Elements... >, NIndex >::computeTotNBinsInternal ( Tuple const & allAxis)
inlinestaticprivate

Definition at line 390 of file StaticHistogram.h.

390 {
391 auto const& axis = std::get<N>( allAxis );
392 unsigned int localNBins = axis.numBins() + 2;
393 if constexpr ( N + 1 == NIndex )
394 return localNBins;
395 else
397 }

◆ forInternalCounter()

template<unsigned int NIndex, typename... Elements>
auto Gaudi::Accumulators::HistoInputType< std::tuple< Elements... >, NIndex >::forInternalCounter ( ) const
inline

Definition at line 371 of file StaticHistogram.h.

371{ return 1ul; }

◆ inAcceptance()

template<unsigned int NIndex, typename... Elements>
template<class... AxisType>
requires ( sizeof...( AxisType ) == NIndex )
bool Gaudi::Accumulators::HistoInputType< std::tuple< Elements... >, NIndex >::inAcceptance ( std::tuple< AxisType... > const & axis) const
inline

Definition at line 374 of file StaticHistogram.h.

374 {
376 }

◆ inAcceptanceInternal()

template<unsigned int NIndex, typename... Elements>
template<int N, class Tuple>
bool Gaudi::Accumulators::HistoInputType< std::tuple< Elements... >, NIndex >::inAcceptanceInternal ( Tuple const & allAxis) const
inlineprivate

Definition at line 399 of file StaticHistogram.h.

399 {
400 auto const& axis = std::get<N>( allAxis );
401 bool localAnswer = axis.inAcceptance( std::get<N>( *this ) );
402 if constexpr ( N + 1 == NIndex )
403 return localAnswer;
404 else
406 }

The documentation for this struct was generated from the following file: