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

template<typename Helper, typename PrevDataFrame, typename ColumnTypes_t = typename Helper::ColumnTypes_t>
class ROOT::Internal::RDF::RAction< Helper, PrevDataFrame, 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)
PrevDataFrameThe type of the parent node in the computation graph
ColumnTypes_tA TypeList with the types of the input columns

Definition at line 52 of file RAction.hxx.

Public Member Functions

 RAction (const RAction &)=delete
 
 RAction (Helper &&h, const ColumnNames_t &columns, std::shared_ptr< PrevDataFrame > pd, const RBookedDefines &defines)
 
 ~RAction ()
 
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.
 
void FinalizeSlot (unsigned int slot) final
 Clean-up operations to be performed at the end of a task.
 
std::function< void(unsigned int)> GetDataBlockCallback () final
 
std::shared_ptr< RDFGraphDrawing::GraphNodeGetGraph ()
 
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
 
RActionoperator= (const RAction &)=delete
 
voidPartialUpdate (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 RBookedDefines &defines)
 
virtual ~RActionBase ()
 
const ColumnNames_tGetColumnNames () const
 
RBookedDefinesGetDefines ()
 
RLoopManagerGetLoopManager ()
 
unsigned int GetNSlots () 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

voidPartialUpdateImpl (...)
 
template<typename H = Helper>
auto PartialUpdateImpl (unsigned int slot) -> decltype(std::declval< H >().PartialUpdate(slot),(void *)(nullptr))
 

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.
 
PrevDataFrame & fPrevData
 
const std::shared_ptr< PrevDataFrame > fPrevDataPtr
 
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::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, PrevDataFrame, ColumnTypes_t >:
[legend]

Member Typedef Documentation

◆ TypeInd_t

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

Definition at line 53 of file RAction.hxx.

Constructor & Destructor Documentation

◆ RAction() [1/2]

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

Definition at line 65 of file RAction.hxx.

◆ RAction() [2/2]

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

◆ ~RAction()

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

Definition at line 79 of file RAction.hxx.

Member Function Documentation

◆ CallExec()

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

Definition at line 103 of file RAction.hxx.

◆ Finalize()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void ROOT::Internal::RDF::RAction< Helper, PrevDataFrame, 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 130 of file RAction.hxx.

◆ FinalizeSlot()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void ROOT::Internal::RDF::RAction< Helper, PrevDataFrame, 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 119 of file RAction.hxx.

◆ GetDataBlockCallback()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
std::function< void(unsigned int)> ROOT::Internal::RDF::RAction< Helper, PrevDataFrame, ColumnTypes_t >::GetDataBlockCallback ( )
inlinefinalvirtual

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

Definition at line 156 of file RAction.hxx.

◆ GetGraph()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
std::shared_ptr< RDFGraphDrawing::GraphNode > ROOT::Internal::RDF::RAction< Helper, PrevDataFrame, ColumnTypes_t >::GetGraph ( )
inlinevirtual

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

Definition at line 136 of file RAction.hxx.

◆ GetMergeableValue()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
std::unique_ptr< RDFDetail::RMergeableValueBase > ROOT::Internal::RDF::RAction< Helper, PrevDataFrame, 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 85 of file RAction.hxx.

◆ Initialize()

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

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

Definition at line 90 of file RAction.hxx.

◆ InitSlot()

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

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

Definition at line 92 of file RAction.hxx.

◆ operator=()

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

◆ PartialUpdate()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void * ROOT::Internal::RDF::RAction< Helper, PrevDataFrame, 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 154 of file RAction.hxx.

◆ PartialUpdateImpl() [1/2]

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
void * ROOT::Internal::RDF::RAction< Helper, PrevDataFrame, ColumnTypes_t >::PartialUpdateImpl (   ...)
inlineprivate

Definition at line 168 of file RAction.hxx.

◆ PartialUpdateImpl() [2/2]

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
template<typename H = Helper>
auto ROOT::Internal::RDF::RAction< Helper, PrevDataFrame, ColumnTypes_t >::PartialUpdateImpl ( unsigned int  slot) -> decltype(std::declval<H>().PartialUpdate(slot), (void *)(nullptr))
inlineprivate

Definition at line 162 of file RAction.hxx.

◆ Run()

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

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

Definition at line 109 of file RAction.hxx.

◆ TriggerChildrenCount()

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

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

Definition at line 116 of file RAction.hxx.

Member Data Documentation

◆ fHelper

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

Definition at line 55 of file RAction.hxx.

◆ fIsDefine

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

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

Definition at line 62 of file RAction.hxx.

◆ fPrevData

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t = typename Helper::ColumnTypes_t>
PrevDataFrame& ROOT::Internal::RDF::RAction< Helper, PrevDataFrame, ColumnTypes_t >::fPrevData
private

Definition at line 57 of file RAction.hxx.

◆ fPrevDataPtr

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

Definition at line 56 of file RAction.hxx.

◆ fValues

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

Column readers per slot and per input column.

Definition at line 59 of file RAction.hxx.

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