ATLAS Offline Software
|
Transient utility class to represent a node in a graph (m_decisionObject), and a vector of edges (m_filteredSeeds) to other nodes which are parents of this node. More...
#include <NavGraph.h>
Public Member Functions | |
NavGraphNode (const Decision *me) | |
Construct a NavGraphNode shadowing a node in the full xAOD navigation graph. More... | |
~NavGraphNode ()=default | |
Destruct a NavGraphNode, default. More... | |
NavGraphNode (const NavGraphNode &obj)=delete | |
Prevent copies of a NavGraphNode. More... | |
NavGraphNode (NavGraphNode &&obj)=delete | |
Prevent move of a NavGraphNode. More... | |
bool | linksTo (NavGraphNode *to) |
Form an edge in the graph from this node to another one. More... | |
void | dropLinks (NavGraphNode *node) |
Forget about any graph edges to the supplied node. More... | |
void | keep () |
Flag this node as one to keep when the thin() operation is performed. More... | |
void | resetKeep () |
Reset the keep flag to false upon finishing thinning. More... | |
bool | getKeep () const |
const Decision * | node () const |
Return a const pointer to the Decision object node which this NavGraphNode is shadowing. More... | |
const std::vector< NavGraphNode * > & | seeds () const |
Return a vector of const pointers to the Decision object nodes which this NavGraphNode seeds from. More... | |
const std::vector< NavGraphNode * > & | children () const |
Return a vector of const pointers to the Decision object nodes which are the children of this NavGraphNode. More... | |
Static Private Member Functions | |
static bool | addIfNotDuplicate (std::vector< NavGraphNode * > &container, NavGraphNode *toAdd) |
Internal helper function. More... | |
Private Attributes | |
const Decision * | m_decisionObject |
The Decision object node which I shadow. More... | |
std::vector< NavGraphNode * > | m_filteredSeeds |
My seeds (edges in the graph), filtered on per-chain requirements. More... | |
std::vector< NavGraphNode * > | m_filteredChildren |
Two-way linking information, used when thinning the graph. More... | |
bool | m_keepFlag |
Keep this node when slimming the NavGraph. More... | |
Transient utility class to represent a node in a graph (m_decisionObject), and a vector of edges (m_filteredSeeds) to other nodes which are parents of this node.
Definition at line 20 of file NavGraph.h.
Construct a NavGraphNode shadowing a node in the full xAOD navigation graph.
[in] | me | The Decision object node from the full xAOD navigation graph which this object is representing. |
Definition at line 15 of file NavGraph.cxx.
|
default |
Destruct a NavGraphNode, default.
|
delete |
Prevent copies of a NavGraphNode.
|
delete |
Prevent move of a NavGraphNode.
|
staticprivate |
Internal helper function.
Using a vector to preserve pointer ordering, but want the de-duplication behavior of a vector.
Definition at line 20 of file NavGraph.cxx.
const std::vector< NavGraphNode * > & TrigCompositeUtils::NavGraphNode::children | ( | ) | const |
Return a vector of const pointers to the Decision object nodes which are the children of this NavGraphNode.
Note: The m_decisionObject does not provide such forward-exploring capability.
Definition at line 51 of file NavGraph.cxx.
void TrigCompositeUtils::NavGraphNode::dropLinks | ( | NavGraphNode * | node | ) |
Forget about any graph edges to the supplied node.
Forgets both child and seed (a.k.a. parent) linking
[in] | Node | to un-link |
Definition at line 36 of file NavGraph.cxx.
bool TrigCompositeUtils::NavGraphNode::getKeep | ( | ) | const |
Definition at line 66 of file NavGraph.cxx.
void TrigCompositeUtils::NavGraphNode::keep | ( | ) |
Flag this node as one to keep when the thin() operation is performed.
Definition at line 56 of file NavGraph.cxx.
bool TrigCompositeUtils::NavGraphNode::linksTo | ( | NavGraphNode * | to | ) |
Form an edge in the graph from this node to another one.
[in] | to | The "parent" or "seed" Decision object from the perspective of this Node's shadowed Decision object. Mutable to allow two-way linking. |
Definition at line 30 of file NavGraph.cxx.
Return a const pointer to the Decision object node which this NavGraphNode is shadowing.
Definition at line 42 of file NavGraph.cxx.
void TrigCompositeUtils::NavGraphNode::resetKeep | ( | ) |
Reset the keep flag to false upon finishing thinning.
Definition at line 61 of file NavGraph.cxx.
const std::vector< NavGraphNode * > & TrigCompositeUtils::NavGraphNode::seeds | ( | ) | const |
Return a vector of const pointers to the Decision object nodes which this NavGraphNode seeds from.
A.k.a its parents. Note: NavGraph is used to represent a sub-graph of the full navigation graph, hence it is expected that the vector of seeds returned from this function may be smaller than the vector of seeds returned from the shadowed xAOD Decision Object.
Definition at line 47 of file NavGraph.cxx.
The Decision object node which I shadow.
Definition at line 97 of file NavGraph.h.
|
private |
Two-way linking information, used when thinning the graph.
Definition at line 99 of file NavGraph.h.
|
private |
My seeds (edges in the graph), filtered on per-chain requirements.
Definition at line 98 of file NavGraph.h.
|
private |
Keep this node when slimming the NavGraph.
Needs to be set explicitly
Definition at line 100 of file NavGraph.h.