Logo ROOT   6.16/01
Reference Guide
RJittedAction.hxx
Go to the documentation of this file.
1// Author: Enrico Guiraud, Danilo Piparo CERN 09/2018
2
3/*************************************************************************
4 * Copyright (C) 1995-2018, Rene Brun and Fons Rademakers. *
5 * All rights reserved. *
6 * *
7 * For the licensing terms see $ROOTSYS/LICENSE. *
8 * For the list of contributors see $ROOTSYS/README/CREDITS. *
9 *************************************************************************/
10
11#ifndef ROOT_RJITTEDACTION
12#define ROOT_RJITTEDACTION
13
16#include "RtypesCore.h"
17
18#include <memory>
19
20class TTreeReader;
21
22namespace ROOT {
23namespace Internal {
24namespace RDF {
25
26// fwd decl
27namespace GraphDrawing {
28class GraphNode;
29} // ns GraphDrawing
30
31class RJittedAction : public RActionBase {
32private:
33 std::unique_ptr<RActionBase> fConcreteAction;
34
35public:
38
39 void SetAction(std::unique_ptr<RActionBase> a) { fConcreteAction = std::move(a); }
40
41 void Run(unsigned int slot, Long64_t entry) final;
42 void Initialize() final;
43 void InitSlot(TTreeReader *r, unsigned int slot) final;
44 void TriggerChildrenCount() final;
45 void FinalizeSlot(unsigned int) final;
46 void Finalize() final;
47 void *PartialUpdate(unsigned int slot) final;
48 bool HasRun() const final;
49 void SetHasRun() final;
50 void ClearValueReaders(unsigned int slot) final;
51
52 std::shared_ptr<GraphDrawing::GraphNode> GetGraph();
53};
54
55} // ns RDF
56} // ns Internal
57} // ns ROOT
58
59#endif // ROOT_RJITTEDACTION
ROOT::R::TRInterface & r
Definition: Object.C:4
long long Long64_t
Definition: RtypesCore.h:69
The head node of a RDF computation graph.
void Deregister(RDFInternal::RActionBase *actionPtr)
Class used to create the operation graph to be printed in the dot representation.
Definition: GraphNode.hxx:26
RLoopManager * fLoopManager
A raw pointer to the RLoopManager at the root of this functional graph.
Definition: RActionBase.hxx:48
std::shared_ptr< GraphDrawing::GraphNode > GetGraph()
void ClearValueReaders(unsigned int slot) final
void FinalizeSlot(unsigned int) final
void Run(unsigned int slot, Long64_t entry) final
void * PartialUpdate(unsigned int slot) final
This method is invoked to update a partial result during the event loop, right before passing the res...
void InitSlot(TTreeReader *r, unsigned int slot) final
void SetAction(std::unique_ptr< RActionBase > a)
std::unique_ptr< RActionBase > fConcreteAction
A simple, robust and fast interface to read values from ROOT colmnar datasets such as TTree,...
Definition: TTreeReader.h:44
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21
STL namespace.
auto * a
Definition: textangle.C:12