Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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 53 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)
 
 ~RAction ()
 
template<typename... ColTypes, std::size_t... S>
void CallExec (unsigned int slot, Long64_t entry, TypeList< ColTypes... >, std::index_sequence< S... >)
 
std::unique_ptr< RActionBaseCloneAction (void *newResult) final
 Returns a new action with a cloned helper.
 
void Finalize () final
 Clean-up and finalize the action result (e.g.
 
void FinalizeSlot (unsigned int slot) final
 Clean-up operations to be performed at the end of a task.
 
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.
 
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.
 
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 ()
 
RColumnRegisterGetColRegister ()
 
const ColumnNames_tGetColumnNames () const
 
RLoopManagerGetLoopManager ()
 
unsigned int GetNSlots () const
 
const std::vector< std::string > & GetVariations () const
 
virtual bool HasRun () const
 
RActionBaseoperator= (const RActionBase &)=delete
 
virtual void SetHasRun ()
 

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.
 
PrevNode & fPrevNode
 
const std::shared_ptr< PrevNode > fPrevNodePtr
 
std::vector< std::array< RColumnReaderBase *, ColumnTypes_t::list_size > > fValues
 Column readers per slot and per input column.
 

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.
 

#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 54 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 66 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

◆ ~RAction()

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::~RAction ( )
inline

Definition at line 80 of file RAction.hxx.

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 102 of file RAction.hxx.

◆ CloneAction()

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
std::unique_ptr< RActionBase > ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::CloneAction ( void *  newResult)
inlinefinalvirtual

Returns a new action with a cloned helper.

Parameters
[in]newResultThe result to be filled by the new action (needed to clone the helper).
Returns
A unique pointer to the new action.

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

Definition at line 176 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 118 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 86 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 183 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 91 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 93 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 108 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 115 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 56 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 63 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 58 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 57 of file RAction.hxx.

◆ fValues

template<typename Helper , typename PrevNode , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
std::vector<std::array<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 60 of file RAction.hxx.

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