Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::Internal::RHistImplGen< NDIM, NDIM, DATA, PROCESSEDAXISCONFIG... > Struct Template Reference

template<int NDIM, class DATA, class... PROCESSEDAXISCONFIG>
struct ROOT::Experimental::Internal::RHistImplGen< NDIM, NDIM, DATA, PROCESSEDAXISCONFIG... >

Generate RHist::fImpl from constructor arguments; recursion end.

Create the histogram, now that all axis types and initializer objects are determined.

Definition at line 264 of file RHist.hxx.

Public Types

using HistImplBase_t = ROOT::Experimental::Detail::RHistImplBase<DATA>
 

Public Member Functions

std::unique_ptr< Detail::RHistImplBase< DATA > > MakeNextAxis (std::string_view title, const std::array< RAxisConfig, NDIM > &axes, PROCESSEDAXISCONFIG... processedAxisArgs)
 Select the template argument for the next axis type, and "recurse" into RHistImplGen for the next axis.
 
std::unique_ptr< HistImplBase_t > operator() (std::string_view title, const std::array< RAxisConfig, DATA::GetNDim()> &, PROCESSEDAXISCONFIG... axisArgs)
 
std::unique_ptr< Detail::RHistImplBase< DATA > > operator() (std::string_view title, const std::array< RAxisConfig, NDIM > &axes, PROCESSEDAXISCONFIG... processedAxisArgs)
 Make a RHistImpl-derived object reflecting the RAxisConfig array.
 

#include <ROOT/RHist.hxx>

Member Typedef Documentation

◆ HistImplBase_t

template<int NDIM, class DATA, class... PROCESSEDAXISCONFIG>
using ROOT::Experimental::Internal::RHistImplGen< NDIM, NDIM, DATA, PROCESSEDAXISCONFIG... >::HistImplBase_t = ROOT::Experimental::Detail::RHistImplBase<DATA>

Definition at line 265 of file RHist.hxx.

Member Function Documentation

◆ MakeNextAxis()

std::unique_ptr< Detail::RHistImplBase< DATA > > ROOT::Experimental::Internal::RHistImplGen< NDIM, IDIM, DATA, PROCESSEDAXISCONFIG >::MakeNextAxis ( std::string_view title,
const std::array< RAxisConfig, NDIM > & axes,
PROCESSEDAXISCONFIG... processedAxisArgs )
inline

Select the template argument for the next axis type, and "recurse" into RHistImplGen for the next axis.

Definition at line 225 of file RHist.hxx.

◆ operator()() [1/2]

template<int NDIM, class DATA, class... PROCESSEDAXISCONFIG>
std::unique_ptr< HistImplBase_t > ROOT::Experimental::Internal::RHistImplGen< NDIM, NDIM, DATA, PROCESSEDAXISCONFIG... >::operator() ( std::string_view title,
const std::array< RAxisConfig, DATA::GetNDim()> & ,
PROCESSEDAXISCONFIG... axisArgs )
inline

Definition at line 267 of file RHist.hxx.

◆ operator()() [2/2]

std::unique_ptr< Detail::RHistImplBase< DATA > > ROOT::Experimental::Internal::RHistImplGen< NDIM, IDIM, DATA, PROCESSEDAXISCONFIG >::operator() ( std::string_view title,
const std::array< RAxisConfig, NDIM > & axes,
PROCESSEDAXISCONFIG... processedAxisArgs )
inline

Make a RHistImpl-derived object reflecting the RAxisConfig array.

Delegate to the appropriate MakeNextAxis instantiation, depending on the axis type selected in the RAxisConfig.

Parameters
title- title of the derived object.
axes- RAxisConfig objects describing the axis of the resulting RHistImpl.
processedAxisArgs- the RAxisBase-derived axis objects describing the axes of the resulting RHistImpl. There are IDIM of those; in the end (IDIM == GetNDim()), all axes have been converted to processedAxisArgs and the RHistImpl constructor can be invoked, passing the processedAxisArgs.

Definition at line 246 of file RHist.hxx.


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