Logo ROOT   6.14/05
Reference Guide
List of all members | Public Member Functions | Private Types | Private Attributes | List of all members
ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE > Class Template Referencefinal

template<typename F, typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
class ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >

Definition at line 472 of file RDFNodes.hxx.

Public Member Functions

 RCustomColumn (std::string_view name, F &&expression, const ColumnNames_t &bl, RLoopManager *lm, bool isDSColumn=false)
 
 RCustomColumn (const RCustomColumn &)=delete
 
void ClearValueReaders (unsigned int slot) final
 
const std::type_info & GetTypeId () const
 
voidGetValuePtr (unsigned int slot) final
 
void InitSlot (TTreeReader *r, unsigned int slot) final
 
RCustomColumnoperator= (const RCustomColumn &)=delete
 
void Update (unsigned int slot, Long64_t entry) final
 
template<std::size_t... S, typename... BranchTypes>
void UpdateHelper (unsigned int slot, Long64_t entry, std::index_sequence< S... >, TypeList< BranchTypes... >, TCCHelperTypes::TNothing *)
 
template<std::size_t... S, typename... BranchTypes>
void UpdateHelper (unsigned int slot, Long64_t entry, std::index_sequence< S... >, TypeList< BranchTypes... >, TCCHelperTypes::TSlot *)
 
template<std::size_t... S, typename... BranchTypes>
void UpdateHelper (unsigned int slot, Long64_t entry, std::index_sequence< S... >, TypeList< BranchTypes... >, TCCHelperTypes::TSlotAndEntry *)
 
- Public Member Functions inherited from ROOT::Detail::RDF::RCustomColumnBase
 RCustomColumnBase (RLoopManager *df, std::string_view name, const unsigned int nSlots, const bool isDSColumn)
 
virtual ~RCustomColumnBase ()
 
RLoopManagerGetLoopManagerUnchecked () const
 
std::string GetName () const
 
void InitNode ()
 
bool IsDataSourceColumn () const
 
RCustomColumnBaseoperator= (const RCustomColumnBase &)=delete
 

Private Types

using BranchTypesTmp_t = typename RDFInternal::RemoveFirstParameterIf< std::is_same< TSlot, UHT_t >::value, FunParamTypes_t >::type
 
using ColumnTypes_t = typename RDFInternal::RemoveFirstTwoParametersIf< std::is_same< TSlotAndEntry, UHT_t >::value, BranchTypesTmp_t >::type
 
using FunParamTypes_t = typename CallableTraits< F >::arg_types
 
using ret_type = typename CallableTraits< F >::ret_type
 
using TNothing = TCCHelperTypes::TNothing
 
using TSlot = TCCHelperTypes::TSlot
 
using TSlotAndEntry = TCCHelperTypes::TSlotAndEntry
 
using TypeInd_t = std::make_index_sequence< ColumnTypes_t::list_size >
 
using UHT_t = UPDATE_HELPER_TYPE
 
using ValuesPerSlot_t = typename std::conditional< std::is_same< ret_type, bool >::value, std::deque< ret_type >, std::vector< ret_type > >::type
 

Private Attributes

const ColumnNames_t fBranches
 
F fExpression
 
ValuesPerSlot_t fLastResults
 
std::vector< RDFInternal::RDFValueTuple_t< ColumnTypes_t > > fValues
 

Additional Inherited Members

- Protected Attributes inherited from ROOT::Detail::RDF::RCustomColumnBase
const bool fIsDataSourceColumn
 does the custom column refer to a data-source column? (or a user-define column?) More...
 
std::vector< Long64_tfLastCheckedEntry
 
RLoopManagerfLoopManager
 A raw pointer to the RLoopManager at the root of this functional graph. More...
 
const std::string fName
 
unsigned int fNChildren {0}
 number of nodes of the functional graph hanging from this object More...
 
const unsigned int fNSlots
 number of thread slots used by this node, inherited from parent node. More...
 
unsigned int fNStopsReceived {0}
 number of times that a children node signaled to stop processing entries. More...
 

#include <ROOT/RDFNodes.hxx>

Inheritance diagram for ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >:
[legend]

Member Typedef Documentation

◆ BranchTypesTmp_t

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::BranchTypesTmp_t = typename RDFInternal::RemoveFirstParameterIf<std::is_same<TSlot, UHT_t>::value, FunParamTypes_t>::type
private

Definition at line 481 of file RDFNodes.hxx.

◆ ColumnTypes_t

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::ColumnTypes_t = typename RDFInternal::RemoveFirstTwoParametersIf<std::is_same<TSlotAndEntry, UHT_t>::value, BranchTypesTmp_t>::type
private

Definition at line 483 of file RDFNodes.hxx.

◆ FunParamTypes_t

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::FunParamTypes_t = typename CallableTraits<F>::arg_types
private

Definition at line 479 of file RDFNodes.hxx.

◆ ret_type

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::ret_type = typename CallableTraits<F>::ret_type
private

Definition at line 485 of file RDFNodes.hxx.

◆ TNothing

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::TNothing = TCCHelperTypes::TNothing
private

Definition at line 474 of file RDFNodes.hxx.

◆ TSlot

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::TSlot = TCCHelperTypes::TSlot
private

Definition at line 475 of file RDFNodes.hxx.

◆ TSlotAndEntry

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::TSlotAndEntry = TCCHelperTypes::TSlotAndEntry
private

Definition at line 476 of file RDFNodes.hxx.

◆ TypeInd_t

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::TypeInd_t = std::make_index_sequence<ColumnTypes_t::list_size>
private

Definition at line 484 of file RDFNodes.hxx.

◆ UHT_t

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::UHT_t = UPDATE_HELPER_TYPE
private

Definition at line 477 of file RDFNodes.hxx.

◆ ValuesPerSlot_t

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::ValuesPerSlot_t = typename std::conditional<std::is_same<ret_type, bool>::value, std::deque<ret_type>, std::vector<ret_type> >::type
private

Definition at line 488 of file RDFNodes.hxx.

Constructor & Destructor Documentation

◆ RCustomColumn() [1/2]

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::RCustomColumn ( std::string_view  name,
F &&  expression,
const ColumnNames_t &  bl,
RLoopManager lm,
bool  isDSColumn = false 
)
inline

Definition at line 497 of file RDFNodes.hxx.

◆ RCustomColumn() [2/2]

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::RCustomColumn ( const RCustomColumn< F, UPDATE_HELPER_TYPE > &  )
delete

Member Function Documentation

◆ ClearValueReaders()

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
void ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::ClearValueReaders ( unsigned int  slot)
inlinefinalvirtual

Implements ROOT::Detail::RDF::RCustomColumnBase.

Definition at line 559 of file RDFNodes.hxx.

◆ GetTypeId()

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
const std::type_info& ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::GetTypeId ( ) const
inlinevirtual

Implements ROOT::Detail::RDF::RCustomColumnBase.

Definition at line 524 of file RDFNodes.hxx.

◆ GetValuePtr()

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
void* ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::GetValuePtr ( unsigned int  slot)
inlinefinalvirtual

Implements ROOT::Detail::RDF::RCustomColumnBase.

Definition at line 513 of file RDFNodes.hxx.

◆ InitSlot()

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
void ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::InitSlot ( TTreeReader r,
unsigned int  slot 
)
inlinefinalvirtual

Implements ROOT::Detail::RDF::RCustomColumnBase.

Definition at line 507 of file RDFNodes.hxx.

◆ operator=()

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
RCustomColumn& ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::operator= ( const RCustomColumn< F, UPDATE_HELPER_TYPE > &  )
delete

◆ Update()

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
void ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::Update ( unsigned int  slot,
Long64_t  entry 
)
inlinefinalvirtual

Implements ROOT::Detail::RDF::RCustomColumnBase.

Definition at line 515 of file RDFNodes.hxx.

◆ UpdateHelper() [1/3]

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
template<std::size_t... S, typename... BranchTypes>
void ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::UpdateHelper ( unsigned int  slot,
Long64_t  entry,
std::index_sequence< S... >  ,
TypeList< BranchTypes... >  ,
TCCHelperTypes::TNothing *   
)
inline

Definition at line 530 of file RDFNodes.hxx.

◆ UpdateHelper() [2/3]

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
template<std::size_t... S, typename... BranchTypes>
void ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::UpdateHelper ( unsigned int  slot,
Long64_t  entry,
std::index_sequence< S... >  ,
TypeList< BranchTypes... >  ,
TCCHelperTypes::TSlot *   
)
inline

Definition at line 540 of file RDFNodes.hxx.

◆ UpdateHelper() [3/3]

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
template<std::size_t... S, typename... BranchTypes>
void ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::UpdateHelper ( unsigned int  slot,
Long64_t  entry,
std::index_sequence< S... >  ,
TypeList< BranchTypes... >  ,
TCCHelperTypes::TSlotAndEntry *   
)
inline

Definition at line 550 of file RDFNodes.hxx.

Member Data Documentation

◆ fBranches

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
const ColumnNames_t ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::fBranches
private

Definition at line 491 of file RDFNodes.hxx.

◆ fExpression

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
F ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::fExpression
private

Definition at line 490 of file RDFNodes.hxx.

◆ fLastResults

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
ValuesPerSlot_t ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::fLastResults
private

Definition at line 492 of file RDFNodes.hxx.

◆ fValues

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
std::vector<RDFInternal::RDFValueTuple_t<ColumnTypes_t> > ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >::fValues
private

Definition at line 494 of file RDFNodes.hxx.

Libraries for ROOT::Detail::RDF::RCustomColumn< F, UPDATE_HELPER_TYPE >:
[legend]

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