11#ifndef ROOT_RDFNODEBASE
12#define ROOT_RDFNODEBASE
20#include <unordered_map>
29namespace GraphDrawing {
63 virtual std::shared_ptr<ROOT::Internal::RDF::GraphDrawing::GraphNode>
64 GetGraph(std::unordered_map<
void *, std::shared_ptr<ROOT::Internal::RDF::GraphDrawing::GraphNode>> &visitedMap) = 0;
80 "GetVariedFilter was called on a node type that does not implement it. This should never happen.");
The head node of a RDF computation graph.
Base class for non-leaf nodes of the computational graph.
const std::vector< std::string > & GetVariations() const
virtual void AddFilterName(std::vector< std::string > &filters)=0
virtual void StopProcessing()=0
virtual RLoopManager * GetLoopManagerUnchecked()
virtual bool CheckFilters(unsigned int, Long64_t)=0
virtual void IncrChildrenCount()=0
virtual std::shared_ptr< RNodeBase > GetVariedFilter(const std::string &)
Return a clone of this node that acts as a Filter working with values in the variationName "universe"...
unsigned int fNStopsReceived
Number of times that a children node signaled to stop processing entries.
virtual void Report(ROOT::RDF::RCutFlowReport &) const =0
unsigned int fNChildren
Number of nodes of the functional graph hanging from this object.
virtual void PartialReport(ROOT::RDF::RCutFlowReport &) const =0
RNodeBase(const std::vector< std::string > &variations={}, RLoopManager *lm=nullptr)
virtual std::shared_ptr< ROOT::Internal::RDF::GraphDrawing::GraphNode > GetGraph(std::unordered_map< void *, std::shared_ptr< ROOT::Internal::RDF::GraphDrawing::GraphNode > > &visitedMap)=0
virtual void ResetChildrenCount()
RLoopManager * fLoopManager
std::vector< std::string > fVariations
List of systematic variations that affect this node.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...