StRoot
1
|
vertex iterator More...
#include <GenVertex.h>
Public Member Functions | |
vertex_iterator (GenVertex &vtx_root, IteratorRange range) | |
used to set limits on the iteration | |
vertex_iterator (GenVertex &vtx_root, IteratorRange range, std::set< const HepMC::GenVertex * > &visited_vertices) | |
next constructor is intended for internal use only | |
vertex_iterator (const vertex_iterator &v_iter) | |
copy | |
vertex_iterator & | operator= (const vertex_iterator &) |
make a copy | |
GenVertex * | operator* (void) const |
return a pointer to a vertex | |
vertex_iterator & | operator++ (void) |
Pre-fix increment. | |
vertex_iterator | operator++ (int) |
Post-fix increment. | |
bool | operator== (const vertex_iterator &) const |
equality | |
bool | operator!= (const vertex_iterator &) const |
inequality | |
GenVertex * | vertex_root () const |
vertex that this iterator begins from | |
IteratorRange | range () const |
iterator range | |
void | copy_with_own_set (const vertex_iterator &v_iter, std::set< const HepMC::GenVertex * > &visited_vertices) |
intended for internal use only. More... | |
Protected Member Functions | |
GenVertex * | follow_edge_ () |
non-null if recursive iter. created | |
void | copy_recursive_iterator_ (const vertex_iterator *recursive_v_iter) |
copy recursive iterator | |
vertex iterator
Iterates over all vertices connected via a graph to this vertex. this is made friend to that it can access protected edge iterator the range can be IteratorRange= ( parents, children, family, ancestors, descendants, relatives ) example for range=descendants the iterator will return all vertices which are children (connected by an outgoing particle edge), grandchildren, great-grandchildren, etc. of this vertex In all cases the iterator always returns this vertex (returned last). The algorithm is accomplished by converting the graph to a tree (by "chopping" the edges connecting to an already visited vertex) and returning the vertices in POST ORDER traversal.
Definition at line 263 of file GenVertex.h.
void HepMC::GenVertex::vertex_iterator::copy_with_own_set | ( | const vertex_iterator & | v_iter, |
std::set< const HepMC::GenVertex * > & | visited_vertices | ||
) |
intended for internal use only.
intended for internal use only. (use with care!) this is the same as the operator= method, but it allows the user to specify which set container m_visited_vertices points to. in all cases, this vertex will NOT own its set.
Definition at line 758 of file GenVertex.cc.