Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t > Class Template Referenceabstract

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.
RColumnRegisterGetColRegister ()
const ColumnNames_tGetColumnNames () const
std::shared_ptr< RDFGraphDrawing::GraphNode > GetGraph (std::unordered_map< void *, std::shared_ptr< RDFGraphDrawing::GraphNode > > &visitedMap) final
virtual std::shared_ptr< ROOT::Internal::RDF::GraphDrawing::GraphNodeGetGraph (std::unordered_map< void *, std::shared_ptr< ROOT::Internal::RDF::GraphDrawing::GraphNode > > &visitedMap)=0
RLoopManagerGetLoopManager ()
std::unique_ptr< RDFDetail::RMergeableValueBase > GetMergeableValue () const final
 Retrieve a wrapper to the result of the action that knows how to merge with others of the same type.
unsigned int GetNSlots () const
template<typename ColType>
auto GetValueChecked (unsigned int slot, std::size_t readerIdx, Long64_t entry) -> ColType &
const std::vector< std::string > & GetVariations () const
virtual bool HasRun () const
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
virtual void SetHasRun ()
void TriggerChildrenCount () final

Protected Attributes

const ColumnNames_t fColumnNames
RLoopManagerfLoopManager
 A raw pointer to the RLoopManager at the root of this functional graph.

Private Types

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

Private Member Functions

ROOT::RDF::SampleCallback_t GetSampleCallback () final

Private Attributes

RColumnRegister fColRegister
bool fHasRun = false
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.
const unsigned int fNSlots
 Number of thread slots used by this node.
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.
std::vector< std::string > fVariations
 List of systematic variations that affect the result of this action ("nominal" excluded).

#include <ROOT/RDF/RAction.hxx>

Inheritance diagram for ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >:
ROOT::Internal::RDF::RActionBase

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 115 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 191 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 140 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 132 of file RAction.hxx.

◆ GetColRegister()

RColumnRegister & ROOT::Internal::RDF::RActionBase::GetColRegister ( )
inlineinherited

Definition at line 63 of file RActionBase.hxx.

◆ GetColumnNames()

const ColumnNames_t & ROOT::Internal::RDF::RActionBase::GetColumnNames ( ) const
inlineinherited

Definition at line 62 of file RActionBase.hxx.

◆ GetGraph() [1/2]

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)
inlinefinal

Definition at line 147 of file RAction.hxx.

◆ GetGraph() [2/2]

virtual std::shared_ptr< ROOT::Internal::RDF::GraphDrawing::GraphNode > ROOT::Internal::RDF::RActionBase::GetGraph ( std::unordered_map< void *, std::shared_ptr< ROOT::Internal::RDF::GraphDrawing::GraphNode > > & visitedMap)
pure virtualinherited

◆ GetLoopManager()

RLoopManager * ROOT::Internal::RDF::RActionBase::GetLoopManager ( )
inlineinherited

Definition at line 64 of file RActionBase.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.

◆ GetNSlots()

unsigned int ROOT::Internal::RDF::RActionBase::GetNSlots ( ) const
inlineinherited

Definition at line 65 of file RActionBase.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 198 of file RAction.hxx.

◆ GetValueChecked()

template<typename Helper, typename PrevNode, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
template<typename ColType>
auto ROOT::Internal::RDF::RAction< Helper, PrevNode, ColumnTypes_t >::GetValueChecked ( unsigned int slot,
std::size_t readerIdx,
Long64_t entry ) -> ColType &
inline

Definition at line 102 of file RAction.hxx.

◆ GetVariations()

const std::vector< std::string > & ROOT::Internal::RDF::RActionBase::GetVariations ( ) const
inlineinherited

Definition at line 91 of file RActionBase.hxx.

◆ HasRun()

virtual bool ROOT::Internal::RDF::RActionBase::HasRun ( ) const
inlinevirtualinherited

Reimplemented in RJittedAction, and ROOT::Internal::RDF::RJittedAction.

Definition at line 77 of file RActionBase.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 169 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 167 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 122 of file RAction.hxx.

◆ SetHasRun()

virtual void ROOT::Internal::RDF::RActionBase::SetHasRun ( )
inlinevirtualinherited

Reimplemented in RJittedAction, and ROOT::Internal::RDF::RJittedAction.

Definition at line 78 of file RActionBase.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 129 of file RAction.hxx.

Member Data Documentation

◆ fColRegister

RColumnRegister ROOT::Internal::RDF::RActionBase::fColRegister
privateinherited

Definition at line 53 of file RActionBase.hxx.

◆ fColumnNames

const ColumnNames_t ROOT::Internal::RDF::RActionBase::fColumnNames
protectedinherited

Definition at line 45 of file RActionBase.hxx.

◆ fHasRun

bool ROOT::Internal::RDF::RActionBase::fHasRun = false
privateinherited

Definition at line 49 of file RActionBase.hxx.

◆ 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.

◆ fLoopManager

RLoopManager* ROOT::Internal::RDF::RActionBase::fLoopManager
protectedinherited

A raw pointer to the RLoopManager at the root of this functional graph.

Never null: children nodes have shared ownership of parent nodes in the graph.

Definition at line 44 of file RActionBase.hxx.

◆ fNSlots

const unsigned int ROOT::Internal::RDF::RActionBase::fNSlots
privateinherited

Number of thread slots used by this node.

Definition at line 48 of file RActionBase.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.

◆ fVariations

std::vector<std::string> ROOT::Internal::RDF::RActionBase::fVariations
privateinherited

List of systematic variations that affect the result of this action ("nominal" excluded).

Definition at line 51 of file RActionBase.hxx.


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