StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Member Functions | List of all members
HepMC::GenVertex::vertex_iterator Class Reference

vertex iterator More...

#include <GenVertex.h>

Inheritance diagram for HepMC::GenVertex::vertex_iterator:

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_iteratoroperator= (const vertex_iterator &)
 make a copy
 
GenVertexoperator* (void) const
 return a pointer to a vertex
 
vertex_iteratoroperator++ (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
 
GenVertexvertex_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

GenVertexfollow_edge_ ()
 non-null if recursive iter. created
 
void copy_recursive_iterator_ (const vertex_iterator *recursive_v_iter)
 copy recursive iterator
 

Detailed Description

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.

Member Function Documentation

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.


The documentation for this class was generated from the following files: