Class used to create the operation graph to be printed in the dot representation.
This represent a single node of the overall graph. Each node maps the real RNode keeping just the name and the columns defined up to that point.
Definition at line 47 of file GraphNode.hxx.
Public Member Functions | |
GraphNode (std::string_view name, unsigned int id, ENodeType t) | |
Creates a node with a name. | |
void | AddDefinedColumns (const std::vector< std::string_view > &columns) |
Adds the column defined up to the node. | |
std::string | GetColor () const |
const std::vector< std::string > & | GetDefinedColumns () const |
Gets the column defined up to the node. | |
unsigned int | GetID () const |
std::string | GetName () const |
GraphNode * | GetPrevNode () const |
std::string | GetShape () const |
bool | IsExplored () const |
bool | IsNew () const |
void | SetExplored () |
Allows to stop the graph traversal when an explored node is encountered. | |
void | SetNotNew () |
Mark this node as "not newly created". | |
void | SetPrevNode (const std::shared_ptr< GraphNode > &node) |
Appends a node on the head of the current node. | |
Private Member Functions | |
void | SetAction (bool hasRun) |
Gives a different shape based on the node type. | |
void | SetDefine () |
Gives a different shape based on the node type. | |
void | SetFilter () |
Gives a different shape based on the node type. | |
void | SetRange () |
Gives a different shape based on the node type. | |
void | SetRoot () |
Gives a different shape based on the node type. | |
Private Attributes | |
std::string | fColor |
std::vector< std::string > | fDefinedColumns |
Columns defined up to this node. | |
unsigned int | fID |
Nodes may share the same name (e.g. | |
bool | fIsExplored = false |
When the graph is reconstructed, the first time this node has been explored this flag is set and it won't be explored anymore. | |
bool | fIsNew = true |
A just created node. | |
std::string | fName |
std::shared_ptr< GraphNode > | fPrevNode |
std::string | fShape |
#include <ROOT/RDF/GraphNode.hxx>
|
inline |
Creates a node with a name.
Definition at line 116 of file GraphNode.hxx.
|
inline |
Adds the column defined up to the node.
Definition at line 134 of file GraphNode.hxx.
|
inline |
Definition at line 148 of file GraphNode.hxx.
|
inline |
Gets the column defined up to the node.
Definition at line 156 of file GraphNode.hxx.
|
inline |
Definition at line 149 of file GraphNode.hxx.
|
inline |
Definition at line 150 of file GraphNode.hxx.
|
inline |
Definition at line 152 of file GraphNode.hxx.
|
inline |
Definition at line 151 of file GraphNode.hxx.
|
inline |
Definition at line 158 of file GraphNode.hxx.
|
inline |
Definition at line 159 of file GraphNode.hxx.
|
inlineprivate |
Gives a different shape based on the node type.
Definition at line 102 of file GraphNode.hxx.
|
inlineprivate |
Gives a different shape based on the node type.
Definition at line 86 of file GraphNode.hxx.
|
inline |
Allows to stop the graph traversal when an explored node is encountered.
Definition at line 163 of file GraphNode.hxx.
|
inlineprivate |
Gives a different shape based on the node type.
Definition at line 78 of file GraphNode.hxx.
|
inline |
Mark this node as "not newly created".
Definition at line 167 of file GraphNode.hxx.
|
inline |
Appends a node on the head of the current node.
Definition at line 130 of file GraphNode.hxx.
|
inlineprivate |
Gives a different shape based on the node type.
Definition at line 94 of file GraphNode.hxx.
|
inlineprivate |
Gives a different shape based on the node type.
Definition at line 70 of file GraphNode.hxx.
|
private |
Definition at line 52 of file GraphNode.hxx.
|
private |
Columns defined up to this node.
By checking the defined columns between two consecutive nodes, it is possible to know if there was some Define in between.
Definition at line 56 of file GraphNode.hxx.
|
private |
Nodes may share the same name (e.g.
Filter). To manage this situation in dot, each node is represented by an unique id.
Definition at line 50 of file GraphNode.hxx.
|
private |
When the graph is reconstructed, the first time this node has been explored this flag is set and it won't be explored anymore.
Definition at line 62 of file GraphNode.hxx.
|
private |
A just created node.
This means that in no other exploration the node was already created (this is needed because branches may share some common node).
Definition at line 66 of file GraphNode.hxx.
|
private |
Definition at line 52 of file GraphNode.hxx.
|
private |
Definition at line 58 of file GraphNode.hxx.
|
private |
Definition at line 52 of file GraphNode.hxx.