Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Internal::RDF::RVariation< F > Class Template Referencefinal

template<typename F>
class ROOT::Internal::RDF::RVariation< F >

Definition at line 146 of file RVariation.hxx.

Public Member Functions

 RVariation (const RVariation &)=delete
 
 RVariation (const std::vector< std::string > &colNames, std::string_view variationName, F expression, const std::vector< std::string > &variationTags, std::string_view type, const RColumnRegister &defines, RLoopManager &lm, const ColumnNames_t &inputColNames)
 
 ~RVariation ()
 
void FinalizeSlot (unsigned int slot) final
 Clean-up operations to be performed at the end of a task.
 
const std::type_info & GetTypeId () const
 
voidGetValuePtr (unsigned int slot, const std::string &column, const std::string &variation) final
 Return the (type-erased) address of the value for the given processing slot.
 
void InitSlot (TTreeReader *r, unsigned int slot) final
 
RVariationoperator= (const RVariation &)=delete
 
void Update (unsigned int slot, Long64_t entry) final
 Update the value at the address returned by GetValuePtr with the content corresponding to the given entry.
 
- Public Member Functions inherited from ROOT::Internal::RDF::RVariationBase
 RVariationBase (const RVariationBase &)=delete
 
 RVariationBase (const std::vector< std::string > &colNames, std::string_view variationName, const std::vector< std::string > &variationTags, std::string_view type, const RColumnRegister &colRegister, RLoopManager &lm, const ColumnNames_t &inputColNames)
 
 RVariationBase (RVariationBase &&)=default
 
virtual ~RVariationBase ()
 
const std::vector< std::string > & GetColumnNames () const
 
std::string GetTypeName () const
 
const std::vector< std::string > & GetVariationNames () const
 
RVariationBaseoperator= (const RVariationBase &)=delete
 
RVariationBaseoperator= (RVariationBase &&)=default
 

Private Types

using ColumnTypes_t = typename CallableTraits< F >::arg_types
 
using ret_type = typename CallableTraits< F >::ret_type
 
using TypeInd_t = std::make_index_sequence< ColumnTypes_t::list_size >
 

Private Member Functions

template<typename U = typename ret_type::value_type>
std::enable_if_t< IsRVec< U >::value, void * > GetValuePtr (unsigned int slot, std::size_t colIdx, std::size_t varIdx)
 
template<typename U = typename ret_type::value_type>
std::enable_if_t<!IsRVec< U >::value, void * > GetValuePtr (unsigned int slot, std::size_t, std::size_t varIdx)
 
template<typename... ColTypes, std::size_t... S>
void UpdateHelper (unsigned int slot, Long64_t entry, TypeList< ColTypes... >, std::index_sequence< S... >)
 

Private Attributes

F fExpression
 
std::vector< ret_typefLastResults
 
std::vector< std::array< std::unique_ptr< RColumnReaderBase >, ColumnTypes_t::list_size > > fValues
 Column readers per slot and per input column.
 

Additional Inherited Members

- Protected Attributes inherited from ROOT::Internal::RDF::RVariationBase
std::vector< std::string > fColNames
 The names of the varied columns.
 
RColumnRegister fColumnRegister
 
ColumnNames_t fInputColumns
 
ROOT::RVecB fIsDefine
 The nth flag signals whether the nth input column is a custom column or not.
 
std::vector< Long64_tfLastCheckedEntry
 
RLoopManagerfLoopManager
 
std::string fType
 The type of the custom column as a text string.
 
std::vector< std::string > fVariationNames
 The names of the systematic variation.
 

#include <ROOT/RDF/RVariation.hxx>

Inheritance diagram for ROOT::Internal::RDF::RVariation< F >:
[legend]

Member Typedef Documentation

◆ ColumnTypes_t

template<typename F >
using ROOT::Internal::RDF::RVariation< F >::ColumnTypes_t = typename CallableTraits<F>::arg_types
private

Definition at line 147 of file RVariation.hxx.

◆ ret_type

template<typename F >
using ROOT::Internal::RDF::RVariation< F >::ret_type = typename CallableTraits<F>::ret_type
private

Definition at line 149 of file RVariation.hxx.

◆ TypeInd_t

template<typename F >
using ROOT::Internal::RDF::RVariation< F >::TypeInd_t = std::make_index_sequence<ColumnTypes_t::list_size>
private

Definition at line 148 of file RVariation.hxx.

Constructor & Destructor Documentation

◆ RVariation() [1/2]

template<typename F >
ROOT::Internal::RDF::RVariation< F >::RVariation ( const std::vector< std::string > &  colNames,
std::string_view  variationName,
F  expression,
const std::vector< std::string > &  variationTags,
std::string_view  type,
const RColumnRegister defines,
RLoopManager lm,
const ColumnNames_t inputColNames 
)
inline

Definition at line 200 of file RVariation.hxx.

◆ RVariation() [2/2]

template<typename F >
ROOT::Internal::RDF::RVariation< F >::RVariation ( const RVariation< F > &  )
delete

◆ ~RVariation()

template<typename F >
ROOT::Internal::RDF::RVariation< F >::~RVariation ( )
inline

Definition at line 215 of file RVariation.hxx.

Member Function Documentation

◆ FinalizeSlot()

template<typename F >
void ROOT::Internal::RDF::RVariation< F >::FinalizeSlot ( unsigned int  slot)
inlinefinalvirtual

Clean-up operations to be performed at the end of a task.

Implements ROOT::Internal::RDF::RVariationBase.

Definition at line 254 of file RVariation.hxx.

◆ GetTypeId()

template<typename F >
const std::type_info & ROOT::Internal::RDF::RVariation< F >::GetTypeId ( ) const
inlinevirtual

Implements ROOT::Internal::RDF::RVariationBase.

Definition at line 251 of file RVariation.hxx.

◆ GetValuePtr() [1/3]

template<typename F >
void * ROOT::Internal::RDF::RVariation< F >::GetValuePtr ( unsigned int  slot,
const std::string &  column,
const std::string &  variation 
)
inlinefinalvirtual

Return the (type-erased) address of the value for the given processing slot.

Implements ROOT::Internal::RDF::RVariationBase.

Definition at line 228 of file RVariation.hxx.

◆ GetValuePtr() [2/3]

template<typename F >
template<typename U = typename ret_type::value_type>
std::enable_if_t< IsRVec< U >::value, void * > ROOT::Internal::RDF::RVariation< F >::GetValuePtr ( unsigned int  slot,
std::size_t  colIdx,
std::size_t  varIdx 
)
inlineprivate

Definition at line 188 of file RVariation.hxx.

◆ GetValuePtr() [3/3]

template<typename F >
template<typename U = typename ret_type::value_type>
std::enable_if_t<!IsRVec< U >::value, void * > ROOT::Internal::RDF::RVariation< F >::GetValuePtr ( unsigned int  slot,
std::size_t  ,
std::size_t  varIdx 
)
inlineprivate

Definition at line 180 of file RVariation.hxx.

◆ InitSlot()

template<typename F >
void ROOT::Internal::RDF::RVariation< F >::InitSlot ( TTreeReader r,
unsigned int  slot 
)
inlinefinalvirtual

Implements ROOT::Internal::RDF::RVariationBase.

Definition at line 217 of file RVariation.hxx.

◆ operator=()

template<typename F >
RVariation & ROOT::Internal::RDF::RVariation< F >::operator= ( const RVariation< F > &  )
delete

◆ Update()

template<typename F >
void ROOT::Internal::RDF::RVariation< F >::Update ( unsigned int  slot,
Long64_t  entry 
)
inlinefinalvirtual

Update the value at the address returned by GetValuePtr with the content corresponding to the given entry.

Implements ROOT::Internal::RDF::RVariationBase.

Definition at line 242 of file RVariation.hxx.

◆ UpdateHelper()

template<typename F >
template<typename... ColTypes, std::size_t... S>
void ROOT::Internal::RDF::RVariation< F >::UpdateHelper ( unsigned int  slot,
Long64_t  entry,
TypeList< ColTypes... >  ,
std::index_sequence< S... >   
)
inlineprivate

Definition at line 158 of file RVariation.hxx.

Member Data Documentation

◆ fExpression

template<typename F >
F ROOT::Internal::RDF::RVariation< F >::fExpression
private

Definition at line 151 of file RVariation.hxx.

◆ fLastResults

template<typename F >
std::vector<ret_type> ROOT::Internal::RDF::RVariation< F >::fLastResults
private

Definition at line 152 of file RVariation.hxx.

◆ fValues

template<typename F >
std::vector<std::array<std::unique_ptr<RColumnReaderBase>, ColumnTypes_t::list_size> > ROOT::Internal::RDF::RVariation< F >::fValues
private

Column readers per slot and per input column.

Definition at line 155 of file RVariation.hxx.

  • tree/dataframe/inc/ROOT/RDF/RVariation.hxx