8 #ifndef LARCOREALG_GEOMETRY_GEONODEPATH_H 9 #define LARCOREALG_GEOMETRY_GEONODEPATH_H 58 TGeoNode
const*
current()
const;
70 void append(TGeoNode
const* node);
77 template <
typename Matrix = TGeoHMatrix>
81 operator std::string()
const;
93 template <
typename Matrix >
96 return transformationFromPath<Matrix>(
fNodes.begin(),
fNodes.end());
101 #endif // LARCOREALG_GEOMETRY_GEONODEPATH_H Depth_t depth() const
Returns the depth of the path (elements including up to the current).
GeoNodePath(TGeoNode const *topNode)
Sets all the the specified nodes into the current path.
TGeoNode const * current() const
Returns the current node. Undefined if the path is empty.
bool empty() const
Returns whether there is a current node.
std::vector< Entry > fNodes
Local path of pointers to ROOT geometry nodes.
Entry parent_entry() const
Returns the parent entry of the current entry, or null if there is no parent.
void pop()
Removes the current node from the path, moving the current one up.
Entry current_entry() const
Returns the current node. Undefined if the path is empty.
Matrix currentTransformation() const
Returns the total transformation to the current node, as a Matrix.
std::size_t Depth_t
Type used to represent the depth of the path.
void append(TGeoNode const *node)
Adds a node to the current path.
Representation of a node and its ancestry.