1 #ifndef HEPMC_GEN_EVENT_ITERATORS_H
2 #define HEPMC_GEN_EVENT_ITERATORS_H
13 #include "HepMC/GenEvent.h"
14 #include "HepMC/GenVertex.h"
34 GenEvent::vertex_iterator end() {
return m_event.
vertices_end(); }
63 GenEvent::vertex_const_iterator end()
const {
return m_event.
vertices_end(); }
71 GenEvent
const & m_event;
91 GenEvent::particle_iterator end() {
return m_event.
particles_end(); }
120 GenEvent::particle_const_iterator end()
const {
return m_event.
particles_end(); }
128 GenEvent
const & m_event;
146 : m_vertex(v),m_range(range) {}
149 GenVertex::particle_iterator end() {
return m_vertex.
particles_end(m_range); }
157 GenVertex & m_vertex;
176 : m_particle(p),m_range(range) {}
199 : m_particle(p),m_range(range) {}
230 : m_particle(p),m_range(range) {}
253 : m_particle(p),m_range(range) {}
274 throw(std::range_error(
"GenParticleProductionRange: GenParticle has no production_vertex"));
281 throw(std::range_error(
"GenParticleProductionRange: GenParticle has no production_vertex"));
289 throw(std::range_error(
"ConstGenParticleProductionRange: GenParticle has no production_vertex"));
296 throw(std::range_error(
"ConstGenParticleProductionRange: GenParticle has no production_vertex"));
303 throw(std::range_error(
"GenParticleEndRange: GenParticle has no end_vertex"));
309 throw(std::range_error(
"GenParticleEndRange: GenParticle has no end_vertex"));
316 throw(std::range_error(
"ConstGenParticleEndRange: GenParticle has no end_vertex"));
322 throw(std::range_error(
"ConstGenParticleEndRange: GenParticle has no end_vertex"));
328 #endif // HEPMC_GEN_EVENT_ITERATORS_H
ConstGenEventParticleRange(GenEvent const &e)
the constructor requires a const GenEvent
ConstGenParticleEndRange(GenParticle const &p, IteratorRange range=relatives)
the constructor requires a GenParticle
GenVertex::particle_iterator begin()
begin iterator throws an error if the particle end_vertex is undefined
particle_iterator particles_begin(IteratorRange range=relatives)
begin particle range
GenVertex::particle_iterator end()
end iterator throws an error if the particle end_vertex is undefined
GenVertex::particle_iterator end()
end iterator throws an error if the particle end_vertex is undefined
GenVertexParticleRange(GenVertex &v, IteratorRange range=relatives)
the constructor requires a GenVertex
ConstGenParticleProductionRange(GenParticle const &p, IteratorRange range=relatives)
the constructor requires a GenParticle
ConstGenEventParticleRange acts like a collection of particles.
particle_const_iterator particles_begin() const
begin particle iteration
GenParticleEndRange(GenParticle const &p, IteratorRange range=relatives)
the constructor requires a GenParticle
GenVertexParticleRange acts like a collection of particles.
non-const particle iterator
GenVertex * production_vertex() const
pointer to the production vertex
GenVertex contains information about decay vertices.
GenEventParticleRange acts like a collection of particles.
The GenEvent class is the core of HepMC.
GenParticleEndRange acts like a collection of particles.
particle_iterator particles_end(IteratorRange)
end particle range
GenParticleProductionRange(GenParticle const &p, IteratorRange range=relatives)
the constructor requires a GenParticle
vertex_const_iterator vertices_end() const
end vertex iteration
GenEventParticleRange(GenEvent &e)
the constructor requires a GenEvent
GenVertex::particle_iterator end()
end iterator throws an error if the particle production_vertex is undefined
particle_const_iterator particles_end() const
end particle iteration
GenVertex::particle_iterator begin()
begin iterator throws an error if the particle production_vertex is undefined
GenVertex::particle_iterator begin()
begin iterator throws an error if the particle production_vertex is undefined
ConstGenEventVertexRange acts like a collection of vertices.
GenParticleProductionRange acts like a collection of particles.
GenVertex::particle_iterator end()
end iterator throws an error if the particle production_vertex is undefined
vertex_const_iterator vertices_begin() const
begin vertex iteration
GenEventVertexRange acts like a collection of vertices.
GenEventVertexRange(GenEvent &e)
the constructor requires a GenEvent
GenVertex * end_vertex() const
pointer to the decay vertex
IteratorRange
type of iteration
non-const vertex iterator
ConstGenEventVertexRange(GenEvent const &e)
the constructor requires a const GenEvent
GenVertex::particle_iterator begin()
begin iterator throws an error if the particle end_vertex is undefined
The GenParticle class contains information about generated particles.