2 #include <HepMC/GenEvent.h>
9 #include <boost/foreach.hpp>
26 , _collisionVertex(0, 0, 0, 0)
32 : _embedding_id(event.get_embedding_id())
33 , _isSimulated(event.is_simulated())
34 , _collisionVertex(event.get_collision_vertex())
43 if (&event ==
this)
return *
this;
50 const HepMC::GenEvent* hepmc =
event.getEvent();
51 _theEvt =
new HepMC::GenEvent(*(hepmc));
102 return addEvent(
new HepMC::GenEvent(evt));
121 return _theEvt->particles_size();
129 return _theEvt->vertices_size();
137 os <<
"identify yourself: PHHepMCGenEvent Object, ";
141 os <<
", No of Particles: " <<
size();
bool swapEvent(HepMC::GenEvent *&evt)
bool addEvent(HepMC::GenEvent *evt)
host an HepMC event
HepMC::GenEvent * _theEvt
The HEP MC record from event generator. Note the units are recorded in GenEvent.
virtual void print(std::ostream &os=std::cout) const
virtual void moveVertex(double x, double y, double z, double t=0)
move the collision vertex position in the Hall coordinate system, use PHENIX units of cm...
virtual HepMC::GenEvent * getEvent()
virtual int size(void) const
void swap(array< T, N > &x, array< T, N > &y)
virtual ~PHHepMCGenEvent()
virtual void Reset()
Clear Event.
bool _isSimulated
whether this event has been processed in Geant4 simulation
virtual int vertexSize(void) const
int _embedding_id
Embedding ID for this generated event positive ID is the embedded event of interest, e.g. jetty event from pythia negative IDs are backgrounds, .e.g out of time pile up collisions Usually, ID = 0 means the primary Au+Au collision background.
HepMC::FourVector _collisionVertex
collision vertex position in the Hall coordinate system, use PHENIX units of cm, ns ...
PHHepMCGenEvent & operator=(const PHHepMCGenEvent &event)
virtual void identify(std::ostream &os=std::cout) const