Logo ROOT  
Reference Guide
ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t > Class Template Reference

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
class ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >

A RDataFrame node that produces a result.

Template Parameters
HelperThe action helper type, which implements the concrete action logic (e.g. FillHelper, SnapshotHelper)
PrevNodeThe type of the parent node in the computation graph
ColumnTypes_tA TypeList with the types of the input columns

Definition at line 54 of file RAction.hxx.

Public Member Functions

 RAction (const RAction &)=delete
 
 RAction (Helper &&h, const ColumnNames_t &columns, std::shared_ptr< PrevNode > pd, const RColumnRegister &colRegister)
 
template<typename... ColTypes, std::size_t... S>
void CallExec (unsigned int slot, Long64_t entry, TypeList< ColTypes... >, std::index_sequence< S... >)
 
void Finalize () final
 Clean-up and finalize the action result (e.g. More...
 
void FinalizeSlot (unsigned int slot) final
 Clean-up operations to be performed at the end of a task. More...
 
std::shared_ptr< RDFGraphDrawing::GraphNodeGetGraph (std::unordered_map< void *, std::shared_ptr< RDFGraphDrawing::GraphNode > > &visitedMap) final
 
std::unique_ptr< RDFDetail::RMergeableValueBaseGetMergeableValue () const final
 Retrieve a wrapper to the result of the action that knows how to merge with others of the same type. More...
 
void Initialize () final
 
void InitSlot (TTreeReader *r, unsigned int slot) final
 
std::unique_ptr< RActionBaseMakeVariedAction (std::vector< void * > &&results) final
 
RActionoperator= (const RAction &)=delete
 
void * PartialUpdate (unsigned int slot) final
 This method is invoked to update a partial result during the event loop, right before passing the result to a user-defined callback registered via RResultPtr::RegisterCallback. More...
 
void Run (unsigned int slot, Long64_t entry) final
 
void TriggerChildrenCount () final
 
- Public Member Functions inherited from ROOT::Internal::RDF::RActionBase
 RActionBase (const RActionBase &)=delete
 
 RActionBase (RLoopManager *lm, const ColumnNames_t &colNames, const RColumnRegister &colRegister, const std::vector< std::string > &prevVariations)
 
virtual ~RActionBase ()
 
virtual void Finalize ()=0
 
virtual void FinalizeSlot (unsigned int)=0
 
RColumnRegisterGetColRegister ()
 
const ColumnNames_tGetColumnNames () const
 
virtual std::shared_ptr< ROOT::Internal::RDF::GraphDrawing::GraphNodeGetGraph (std::unordered_map< void *, std::shared_ptr< ROOT::Internal::RDF::GraphDrawing::GraphNode > > &visitedMap)=0
 
RLoopManagerGetLoopManager ()
 
virtual std::unique_ptr< RMergeableValueBaseGetMergeableValue () const =0
 Retrieve a wrapper to the result of the action that knows how to merge with others of the same type. More...
 
unsigned int GetNSlots () const
 
virtual ROOT::RDF::SampleCallback_t GetSampleCallback ()=0
 
const std::vector< std::string > & GetVariations () const
 
virtual bool HasRun () const
 
virtual void Initialize ()=0
 
virtual void InitSlot (TTreeReader *r, unsigned int slot)=0
 
virtual std::unique_ptr< RActionBaseMakeVariedAction (std::vector< void * > &&results)=0
 
RActionBaseoperator= (const RActionBase &)=delete
 
virtual void * PartialUpdate (unsigned int slot)=0
 This method is invoked to update a partial result during the event loop, right before passing the result to a user-defined callback registered via RResultPtr::RegisterCallback. More...
 
virtual void Run (unsigned int slot, Long64_t entry)=0
 
virtual void SetHasRun ()
 
virtual void TriggerChildrenCount ()=0
 

Private Types

using TypeInd_t = std::make_index_sequence< ColumnTypes_t::list_size >
 

Private Member Functions

ROOT::RDF::SampleCallback_t GetSampleCallback () final
 

Private Attributes

Helper fHelper
 
std::array< bool, ColumnTypes_t::list_size > fIsDefine
 The nth flag signals whether the nth input column is a custom column or not. More...
 
PrevNode & fPrevNode
 
const std::shared_ptr< PrevNode > fPrevNodePtr
 
std::vector< std::array< std::unique_ptr< RColumnReaderBase >, ColumnTypes_t::list_size > > fValues
 Column readers per slot and per input column. More...
 

Additional Inherited Members

- Protected Attributes inherited from ROOT::Internal::RDF::RActionBase
RLoopManagerfLoopManager
 A raw pointer to the RLoopManager at the root of this functional graph. More...
 

#include <ROOT/RDF/RAction.hxx>

Inheritance diagram for ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >:
[legend]

Member Typedef Documentation

◆ TypeInd_t

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
using ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::TypeInd_t = std::make_index_sequence<ColumnTypes_t::list_size>
private

Definition at line 55 of file RAction.hxx.

Constructor & Destructor Documentation

◆ RAction() [1/2]

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::RAction ( Helper &&  h,
const ColumnNames_t columns,
std::shared_ptr< PrevNode >  pd,
const RColumnRegister colRegister 
)
inline

Definition at line 67 of file RAction.hxx.

◆ RAction() [2/2]

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::RAction ( const RAction< Helper, PrevNode, ColumnTypes_t > &  )
delete

Member Function Documentation

◆ CallExec()

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
template<typename... ColTypes, std::size_t... S>
void ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::CallExec ( unsigned int  slot,
Long64_t  entry,
TypeList< ColTypes... >  ,
std::index_sequence< S... >   
)
inline

Definition at line 101 of file RAction.hxx.

◆ Finalize()

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::Finalize ( )
inlinefinalvirtual

Clean-up and finalize the action result (e.g.

merging slot-local results). It invokes the helper's Finalize method.

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 126 of file RAction.hxx.

◆ FinalizeSlot()

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::FinalizeSlot ( unsigned int  slot)
inlinefinalvirtual

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

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 117 of file RAction.hxx.

◆ GetGraph()

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
std::shared_ptr< RDFGraphDrawing::GraphNode > ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::GetGraph ( std::unordered_map< void *, std::shared_ptr< RDFGraphDrawing::GraphNode > > &  visitedMap)
inlinefinalvirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 133 of file RAction.hxx.

◆ GetMergeableValue()

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
std::unique_ptr< RDFDetail::RMergeableValueBase > ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::GetMergeableValue ( ) const
inlinefinalvirtual

Retrieve a wrapper to the result of the action that knows how to merge with others of the same type.

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 84 of file RAction.hxx.

◆ GetSampleCallback()

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
ROOT::RDF::SampleCallback_t ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::GetSampleCallback ( )
inlinefinalprivatevirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 172 of file RAction.hxx.

◆ Initialize()

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::Initialize ( )
inlinefinalvirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 89 of file RAction.hxx.

◆ InitSlot()

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::InitSlot ( TTreeReader r,
unsigned int  slot 
)
inlinefinalvirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 91 of file RAction.hxx.

◆ MakeVariedAction()

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
std::unique_ptr< RActionBase > ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::MakeVariedAction ( std::vector< void * > &&  results)
inlinefinalvirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 155 of file RAction.hxx.

◆ operator=()

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
RAction & ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::operator= ( const RAction< Helper, PrevNode, ColumnTypes_t > &  )
delete

◆ PartialUpdate()

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void * ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::PartialUpdate ( unsigned int  slot)
inlinefinalvirtual

This method is invoked to update a partial result during the event loop, right before passing the result to a user-defined callback registered via RResultPtr::RegisterCallback.

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 153 of file RAction.hxx.

◆ Run()

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::Run ( unsigned int  slot,
Long64_t  entry 
)
inlinefinalvirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 107 of file RAction.hxx.

◆ TriggerChildrenCount()

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::TriggerChildrenCount ( )
inlinefinalvirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 114 of file RAction.hxx.

Member Data Documentation

◆ fHelper

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
Helper ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::fHelper
private

Definition at line 57 of file RAction.hxx.

◆ fIsDefine

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
std::array<bool, ColumnTypes_t::list_size> ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::fIsDefine
private

The nth flag signals whether the nth input column is a custom column or not.

Definition at line 64 of file RAction.hxx.

◆ fPrevNode

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
PrevNode& ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::fPrevNode
private

Definition at line 59 of file RAction.hxx.

◆ fPrevNodePtr

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
const std::shared_ptr<PrevNode> ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::fPrevNodePtr
private

Definition at line 58 of file RAction.hxx.

◆ fValues

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
std::vector<std::array<std::unique_ptr<RColumnReaderBase>, ColumnTypes_t::list_size> > ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::fValues
private

Column readers per slot and per input column.

Definition at line 61 of file RAction.hxx.


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