![]() |
The Gaudi Framework
v27r0
|
#include <src/ExecutionFlowGraph.h>


Public Member Functions | |
| DecisionNode (ExecutionFlowGraph &graph, unsigned int nodeIndex, const std::string &name, bool modeOR, bool allPass, bool isLazy) | |
| Constructor. More... | |
| virtual | ~DecisionNode () |
| Destructor. More... | |
| virtual void | initialize (const std::unordered_map< std::string, unsigned int > &algname_index_map) |
| Initialize. More... | |
| virtual bool | accept (IGraphVisitor &visitor) |
| virtual bool | promoteToControlReadyState (const int &slotNum, AlgsExecutionStates &states, std::vector< int > &node_decisions) const |
| XXX: CF tests. Method to set algos to CONTROLREADY, if possible. More... | |
| virtual void | updateDecision (const int &slotNum, AlgsExecutionStates &states, std::vector< int > &node_decisions, const AlgorithmNode *requestor=nullptr) const |
| XXX: CF tests. More... | |
| virtual int | updateState (AlgsExecutionStates &states, std::vector< int > &node_decisions) const |
| Method to set algos to CONTROLREADY, if possible. More... | |
| void | addParentNode (DecisionNode *node) |
| XXX: CF tests. Method to add a parent node. More... | |
| void | addDaughterNode (ControlFlowNode *node) |
| Add a daughter node. More... | |
| const std::vector< ControlFlowNode * > & | getDaughters () const |
| virtual void | printState (std::stringstream &output, AlgsExecutionStates &states, const std::vector< int > &node_decisions, const unsigned int &recursionLevel) const |
| Print a string representing the control flow state. More... | |
Public Member Functions inherited from concurrency::ControlFlowNode | |
| ControlFlowNode (ExecutionFlowGraph &graph, unsigned int nodeIndex, const std::string &name) | |
| Constructor. More... | |
| virtual | ~ControlFlowNode () |
| Destructor. More... | |
| const unsigned int & | getNodeIndex () const |
| XXX: CF tests. More... | |
| const std::string & | getNodeName () const |
Public Attributes | |
| bool | m_modeOR |
| Whether acting as "and" (false) or "or" node (true) More... | |
| bool | m_allPass |
| Whether always passing regardless of daughter results. More... | |
| bool | m_isLazy |
| Whether to evaluate lazily - i.e. whether to stop once result known. More... | |
Public Attributes inherited from concurrency::ControlFlowNode | |
| ExecutionFlowGraph * | m_graph |
Private Attributes | |
| std::vector< ControlFlowNode * > | m_children |
| All direct daughter nodes in the tree. More... | |
| std::vector< DecisionNode * > | m_parents |
| XXX: CF tests. All direct parent nodes in the tree. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from concurrency::ControlFlowNode | |
| std::string | stateToString (const int &stateId) const |
| Translation between state id and name. More... | |
Protected Attributes inherited from concurrency::ControlFlowNode | |
| unsigned int | m_nodeIndex |
| std::string | m_nodeName |
Definition at line 86 of file ExecutionFlowGraph.h.
|
inline |
Constructor.
Definition at line 89 of file ExecutionFlowGraph.h.
|
virtual |
Destructor.
Definition at line 14 of file ExecutionFlowGraph.cpp.
|
virtual |
Implements concurrency::ControlFlowNode.
Definition at line 176 of file ExecutionFlowGraph.cpp.
| void concurrency::DecisionNode::addDaughterNode | ( | ControlFlowNode * | node | ) |
Add a daughter node.
Definition at line 35 of file ExecutionFlowGraph.cpp.
| void concurrency::DecisionNode::addParentNode | ( | DecisionNode * | node | ) |
XXX: CF tests. Method to add a parent node.
Definition at line 28 of file ExecutionFlowGraph.cpp.
|
inline |
Definition at line 115 of file ExecutionFlowGraph.h.
|
virtual |
Initialize.
Implements concurrency::ControlFlowNode.
Definition at line 21 of file ExecutionFlowGraph.cpp.
|
virtual |
Print a string representing the control flow state.
Implements concurrency::ControlFlowNode.
Definition at line 42 of file ExecutionFlowGraph.cpp.
|
virtual |
XXX: CF tests. Method to set algos to CONTROLREADY, if possible.
Implements concurrency::ControlFlowNode.
Definition at line 154 of file ExecutionFlowGraph.cpp.
|
virtual |
XXX: CF tests.
Implements concurrency::ControlFlowNode.
Definition at line 84 of file ExecutionFlowGraph.cpp.
|
virtual |
Method to set algos to CONTROLREADY, if possible.
Implements concurrency::ControlFlowNode.
Definition at line 55 of file ExecutionFlowGraph.cpp.
| bool concurrency::DecisionNode::m_allPass |
Whether always passing regardless of daughter results.
Definition at line 125 of file ExecutionFlowGraph.h.
|
private |
All direct daughter nodes in the tree.
Definition at line 130 of file ExecutionFlowGraph.h.
| bool concurrency::DecisionNode::m_isLazy |
Whether to evaluate lazily - i.e. whether to stop once result known.
Definition at line 127 of file ExecutionFlowGraph.h.
| bool concurrency::DecisionNode::m_modeOR |
Whether acting as "and" (false) or "or" node (true)
Definition at line 123 of file ExecutionFlowGraph.h.
|
private |
XXX: CF tests. All direct parent nodes in the tree.
Definition at line 132 of file ExecutionFlowGraph.h.