Representation of a node and its ancestry. More...
#include <GeoNodePath.h>
Public Types | |
| using | Node_t = TGeoNode const |
| Type of node object. More... | |
| using | Nodes_t = std::vector< Node_t const * > |
| Type of list of nodes. More... | |
| using | Depth_t = std::size_t |
| Type used to represent the depth of the path. More... | |
Public Member Functions | |
| GeoNodePath ()=default | |
| Default constructor: an empty path. More... | |
| GeoNodePath (std::initializer_list< TGeoNode const * > nodes) | |
| Sets all the the specified nodes into the current path. More... | |
| template<typename Iter > | |
| GeoNodePath (Iter begin, Iter end) | |
Sets the nodes from begin to end as the path content. More... | |
| bool | empty () const |
| Returns whether there is a current node. More... | |
| Depth_t | depth () const |
| Returns the depth of the path (elements including up to the current). More... | |
| Node_t const & | current () const |
| Returns the current node. Undefined if the path is empty. More... | |
| void | append (Node_t const &node) |
| Adds a node to the current path. More... | |
| void | pop () |
| Removes the current node from the path, moving the current one up. More... | |
| template<typename Matrix = TGeoHMatrix> | |
| Matrix | currentTransformation () const |
Returns the total transformation to the current node, as a Matrix. More... | |
| operator std::string () const | |
| Prints the full path (as node names) into a string. More... | |
Private Attributes | |
| Nodes_t | fNodes |
| Local path of pointers to ROOT geometry nodes. More... | |
Representation of a node and its ancestry.
A GeoNodePath contains a sequence of nodes, from the root() node down to a current() one.
It behaves like a stack in that it inserts and removes elements at the "top", which is also what defines the current node.
Definition at line 38 of file GeoNodePath.h.
| using geo::GeoNodePath::Depth_t = std::size_t |
Type used to represent the depth of the path.
Definition at line 50 of file GeoNodePath.h.
| using geo::GeoNodePath::Node_t = TGeoNode const |
Type of node object.
Definition at line 44 of file GeoNodePath.h.
| using geo::GeoNodePath::Nodes_t = std::vector<Node_t const*> |
Type of list of nodes.
Definition at line 47 of file GeoNodePath.h.
|
default |
Default constructor: an empty path.
|
inline |
Sets all the the specified nodes into the current path.
Definition at line 59 of file GeoNodePath.h.
|
inline |
Sets the nodes from begin to end as the path content.
Definition at line 65 of file GeoNodePath.h.
|
inline |
Adds a node to the current path.
Definition at line 85 of file GeoNodePath.h.
|
inline |
Returns the current node. Undefined if the path is empty.
Definition at line 78 of file GeoNodePath.h.
| Matrix geo::GeoNodePath::currentTransformation | ( | ) | const |
Returns the total transformation to the current node, as a Matrix.
Definition at line 114 of file GeoNodePath.h.
|
inline |
Returns the depth of the path (elements including up to the current).
Definition at line 75 of file GeoNodePath.h.
|
inline |
Returns whether there is a current node.
Definition at line 72 of file GeoNodePath.h.
| geo::GeoNodePath::operator std::string | ( | ) | const |
Prints the full path (as node names) into a string.
Definition at line 16 of file GeoNodePath.cxx.
|
inline |
Removes the current node from the path, moving the current one up.
Definition at line 88 of file GeoNodePath.h.
|
private |
Local path of pointers to ROOT geometry nodes.
Definition at line 102 of file GeoNodePath.h.
1.8.11