2 #ifndef RIVET_RivetHepMC_HH
3 #define RIVET_RivetHepMC_HH
5 #include "HepMC/GenEvent.h"
6 #include "HepMC/GenParticle.h"
7 #include "HepMC/GenVertex.h"
14 using HepMC::GenEvent;
15 using HepMC::GenParticle;
16 using HepMC::GenVertex;
19 inline vector<GenParticle*> particles(
const GenEvent& ge) {
20 vector<GenParticle*> rtn;
21 for (GenEvent::particle_const_iterator pi = ge.particles_begin(); pi != ge.particles_end(); ++pi) {
26 inline vector<GenParticle*> particles(
const GenEvent* ge) {
28 return particles(*ge);
39 inline vector<GenVertex*> vertices(
const GenEvent& ge) {
40 vector<GenVertex*> rtn;
41 for (GenEvent::vertex_const_iterator vi = ge.vertices_begin(); vi != ge.vertices_end(); ++vi) {
46 inline vector<GenVertex*> vertices(
const GenEvent* ge) {
59 inline const std::pair<GenVertex::particles_in_const_iterator, GenVertex::particles_in_const_iterator> particles_in(
const GenVertex* gv) {
60 return make_pair(gv->particles_in_const_begin(), gv->particles_in_const_end());
64 inline const std::pair<GenVertex::particles_out_const_iterator, GenVertex::particles_out_const_iterator> particles_out(
const GenVertex* gv) {
65 return make_pair(gv->particles_out_const_begin(), gv->particles_out_const_end());
69 inline vector<GenParticle*> particles(GenVertex* gv, HepMC::IteratorRange range=HepMC::relatives) {
70 vector<GenParticle*> rtn;
71 for (GenVertex::particle_iterator pi = gv->particles_begin(range); pi != gv->particles_end(range); ++pi) {
Definition: MC_JetAnalysis.hh:9