25namespace GraphDrawing {
35template <
typename PrevData>
41 RRange(
unsigned int start,
unsigned int stop,
unsigned int stride, std::shared_ptr<PrevData> pd)
57 if (!
fPrevData.CheckFilters(slot, entry)) {
101 std::shared_ptr<RDFGraphDrawing::GraphNode>
GetGraph()
106 auto prevColumns = prevNode->GetDefinedColumns();
113 if (!thisNode->GetIsNew()) {
116 thisNode->SetPrevNode(prevNode);
119 thisNode->AddDefinedColumns(prevColumns);
void Deregister(RDFInternal::RActionBase *actionPtr)
virtual RLoopManager * GetLoopManagerUnchecked()
unsigned int fNStopsReceived
Number of times that a children node signaled to stop processing entries.
unsigned int fNChildren
Number of nodes of the functional graph hanging from this object.
RLoopManager * fLoopManager
ULong64_t fNProcessedEntries
Long64_t fLastCheckedEntry
bool fHasStopped
True if the end of the range has been reached.
RRange & operator=(const RRange &)=delete
RRange(unsigned int start, unsigned int stop, unsigned int stride, std::shared_ptr< PrevData > pd)
std::shared_ptr< RDFGraphDrawing::GraphNode > GetGraph()
const std::shared_ptr< PrevData > fPrevDataPtr
void Report(ROOT::RDF::RCutFlowReport &rep) const final
RRange(const RRange &)=delete
void StopProcessing() final
void AddFilterName(std::vector< std::string > &filters)
This function must be defined by all nodes, but only the filters will add their name.
bool CheckFilters(unsigned int slot, Long64_t entry) final
Ranges act as filters when it comes to selecting entries that downstream nodes should process.
void IncrChildrenCount() final
void PartialReport(ROOT::RDF::RCutFlowReport &rep) const final
std::shared_ptr< GraphNode > CreateRangeNode(const ROOT::Detail::RDF::RRangeBase *rangePtr)