11#ifndef GENERATOROBJECTSATHENAPOOL_HEPMCDATAPOOL_H
12#define GENERATOROBJECTSATHENAPOOL_HEPMCDATAPOOL_H
17# pragma clang diagnostic push
18# pragma clang diagnostic ignored "-Wkeyword-macro"
20# define private public
21# define protected public
30# pragma clang diagnostic pop
48 HepMC::GenParticle* part =
reinterpret_cast<HepMC::GenParticle*
>(p);
49 part->m_production_vertex = 0;
50 part->m_end_vertex = 0;
58 HepMC::GenVertex* vtx =
reinterpret_cast<HepMC::GenVertex*
>(p);
60 vtx->m_particles_in.clear();
61 vtx->m_particles_out.clear();
69 HepMC::GenEvent* evt =
reinterpret_cast<HepMC::GenEvent*
>(p);
70 evt->m_particle_barcodes.clear();
71 evt->m_vertex_barcodes.clear();
72 delete evt->m_pdf_info; evt->m_pdf_info = 0;
109 static void clear (HepMC::GenEvent*
evt) {
evt->clear(); }
114 return evt.nextElementPtr();
117 struct ClearGenVertex
119 static void clear (HepMC::GenVertex*
vtx) { *
vtx = HepMC::GenVertex(); }
128 struct ClearGenParticle
130 static void clear (HepMC::GenParticle*
part) { *
part = HepMC::GenParticle(); }
152 return evt.nextElementPtr();
157 return vtx.nextElementPtr();
162 return part.nextElementPtr();
char * pointer
Type for pointers to elements.
static void destroy_fcn(pointer p)
Call T's destructor on the object at p.
HepMC::GenVertex * GenVertexPtr
GenParticle * GenParticlePtr
::DataPool< HepMC::GenEvent > GenEvtPool_t
HepMC::GenParticlePtr getGenParticle()
GenPartPool_t part
an arena of HepMC::GenParticle for efficient object instantiation
::DataPool< HepMC::GenVertex > GenVtxPool_t
HepMC::GenEvent * getGenEvent()
HepMC::GenVertexPtr getGenVertex()
::DataPool< HepMC::GenParticle > GenPartPool_t
GenVtxPool_t vtx
an arena of HepMC::GenVertex for efficient object instantiation
GenEvtPool_t evt
an arena of HepMC::GenEvent for efficient object instantiation