#ifndef _TauolaHepMC3Event_h_included_ #define _TauolaHepMC3Event_h_included_ /** * @class TauolaHepMC3Event * * @brief Interface to GenEvent objects * * This class implements the virtual methods of * TauolaEvent. In this way it provides an * interface between the generic TauolaEvent class * and a GenEvent object. * * This code is licensed under GNU General Public Licence. * For more informations, see: http://www.gnu.org/licenses/ */ #include #include "HepMC3/GenEvent.h" #include "HepMC3/GenVertex.h" #include "HepMC3/GenParticle.h" #include "TauolaEvent.h" #include "TauolaParticle.h" #include "TauolaHepMC3Particle.h" namespace Tauolapp { using namespace HepMC3; class TauolaHepMC3Event : public TauolaEvent{ public: /** Constructor which keeps a pointer to the GenEvent*/ TauolaHepMC3Event(GenEvent * event); ~TauolaHepMC3Event(); /** Returns the GenEvent */ GenEvent * getEvent(); /** Implementation of TauolaEvent virtual method. This returns a list of particles in the event with pdg id = "pdgID". */ std::vector findParticles(int pdgID); /** Implementation of TauolaEven virtual method. This returns a list of particles in the event with pdg id = "pdgID" and stable status code. */ std::vector findStableParticles(int pdgID); /** Overriding of TauolaEvent decayEndgame method. Converts the momentum and length units */ void eventEndgame(); private: /** The event */ GenEvent * m_event; /** List of particles to be decayed */ std::vector m_tau_list; /** Momentum unit name */ string m_momentum_unit; /** Length unit name */ string m_length_unit; }; } // namespace Tauolapp #endif