#include <GenVertex.h>
Collaboration diagram for HepMC::GenVertex::vertex_iterator:
Public Member Functions | |
vertex_iterator () | |
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 | |
virtual | ~vertex_iterator () |
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. | |
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 | |
Private Attributes | |
GenVertex * | m_vertex |
IteratorRange | m_range |
std::set< const HepMC::GenVertex * > * | m_visited_vertices |
bool | m_it_owns_set |
edge_iterator | m_edge |
vertex_iterator * | m_recursive_iterator |
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 236 of file GenVertex.h.
HepMC::GenVertex::vertex_iterator::vertex_iterator | ( | ) |
HepMC::GenVertex::vertex_iterator::vertex_iterator | ( | GenVertex & | vtx_root, | |
IteratorRange | range | |||
) |
used to set limits on the iteration
HepMC::GenVertex::vertex_iterator::vertex_iterator | ( | GenVertex & | vtx_root, | |
IteratorRange | range, | |||
std::set< const HepMC::GenVertex * > & | visited_vertices | |||
) |
next constructor is intended for internal use only
HepMC::GenVertex::vertex_iterator::vertex_iterator | ( | const vertex_iterator & | v_iter | ) |
copy
virtual HepMC::GenVertex::vertex_iterator::~vertex_iterator | ( | ) | [virtual] |
vertex_iterator& HepMC::GenVertex::vertex_iterator::operator= | ( | const vertex_iterator & | ) |
make a copy
GenVertex* HepMC::GenVertex::vertex_iterator::operator * | ( | void | ) | const |
return a pointer to a vertex
vertex_iterator& HepMC::GenVertex::vertex_iterator::operator++ | ( | void | ) |
Pre-fix increment.
vertex_iterator HepMC::GenVertex::vertex_iterator::operator++ | ( | int | ) |
Post-fix increment.
bool HepMC::GenVertex::vertex_iterator::operator== | ( | const vertex_iterator & | ) | const [inline] |
bool HepMC::GenVertex::vertex_iterator::operator!= | ( | const vertex_iterator & | ) | const [inline] |
GenVertex * HepMC::GenVertex::vertex_iterator::vertex_root | ( | ) | const [inline] |
vertex that this iterator begins from
Definition at line 460 of file GenVertex.h.
00460 { 00461 return m_vertex; 00462 }
IteratorRange HepMC::GenVertex::vertex_iterator::range | ( | ) | const [inline] |
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.
GenVertex* HepMC::GenVertex::vertex_iterator::follow_edge_ | ( | ) | [protected] |
non-null if recursive iter. created
void HepMC::GenVertex::vertex_iterator::copy_recursive_iterator_ | ( | const vertex_iterator * | recursive_v_iter | ) | [protected] |
copy recursive iterator
Definition at line 277 of file GenVertex.h.
Definition at line 278 of file GenVertex.h.
std::set<const HepMC::GenVertex*>* HepMC::GenVertex::vertex_iterator::m_visited_vertices [private] |
Definition at line 279 of file GenVertex.h.
bool HepMC::GenVertex::vertex_iterator::m_it_owns_set [private] |
Definition at line 280 of file GenVertex.h.
Definition at line 282 of file GenVertex.h.
Definition at line 283 of file GenVertex.h.