11#ifndef ROOT_RACTIONBASE
12#define ROOT_RACTIONBASE
28class RMergeableValueBase;
34namespace GraphDrawing {
57 const std::vector<std::string> &prevVariations);
80 virtual std::shared_ptr<ROOT::Internal::RDF::GraphDrawing::GraphNode>
81 GetGraph(std::unordered_map<
void *, std::shared_ptr<ROOT::Internal::RDF::GraphDrawing::GraphNode>> &visitedMap) = 0;
93 virtual std::unique_ptr<RActionBase>
MakeVariedAction(std::vector<void *> &&results) = 0;
94 virtual std::unique_ptr<RActionBase>
CloneAction(
void *newResult) = 0;
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
The head node of a RDF computation graph.
const ColumnNames_t fColumnNames
std::vector< std::string > fVariations
List of systematic variations that affect the result of this action ("nominal" excluded).
virtual void Initialize()=0
const unsigned int fNSlots
Number of thread slots used by this node.
RActionBase & operator=(const RActionBase &)=delete
virtual std::unique_ptr< RMergeableValueBase > GetMergeableValue() const =0
Retrieve a wrapper to the result of the action that knows how to merge with others of the same type.
virtual void TriggerChildrenCount()=0
unsigned int GetNSlots() const
const std::vector< std::string > & GetVariations() const
virtual std::unique_ptr< RActionBase > CloneAction(void *newResult)=0
virtual void Run(unsigned int slot, Long64_t entry)=0
const ColumnNames_t & GetColumnNames() const
virtual void FinalizeSlot(unsigned int)=0
virtual ROOT::RDF::SampleCallback_t GetSampleCallback()=0
RActionBase(const RActionBase &)=delete
virtual bool HasRun() const
virtual void * PartialUpdate(unsigned int slot)=0
This method is invoked to update a partial result during the event loop, right before passing the res...
RLoopManager * GetLoopManager()
RColumnRegister fColRegister
RLoopManager * fLoopManager
A raw pointer to the RLoopManager at the root of this functional graph.
RColumnRegister & GetColRegister()
virtual std::unique_ptr< RActionBase > MakeVariedAction(std::vector< void * > &&results)=0
virtual void Finalize()=0
virtual void InitSlot(TTreeReader *r, unsigned int slot)=0
virtual std::shared_ptr< ROOT::Internal::RDF::GraphDrawing::GraphNode > GetGraph(std::unordered_map< void *, std::shared_ptr< ROOT::Internal::RDF::GraphDrawing::GraphNode > > &visitedMap)=0
A binder for user-defined columns, variations and aliases.
A simple, robust and fast interface to read values from ROOT columnar datasets such as TTree,...
std::vector< std::string > ColumnNames_t
std::function< void(unsigned int, const ROOT::RDF::RSampleInfo &)> SampleCallback_t
The type of a data-block callback, registered with an RDataFrame computation graph via e....
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...