C++ Interface to Tauola
src/eventRecordInterfaces/TauolaHepMC3Event.h
1#ifndef _TauolaHepMC3Event_h_included_
2#define _TauolaHepMC3Event_h_included_
3
4/**
5 * @class TauolaHepMC3Event
6 *
7 * @brief Interface to GenEvent objects
8 *
9 * This class implements the virtual methods of
10 * TauolaEvent. In this way it provides an
11 * interface between the generic TauolaEvent class
12 * and a GenEvent object.
13 *
14 * This code is licensed under GNU General Public Licence.
15 * For more informations, see: http://www.gnu.org/licenses/
16 */
17
18#include <iostream>
19#include "HepMC3/GenEvent.h"
20#include "HepMC3/GenVertex.h"
21#include "HepMC3/GenParticle.h"
22#include "TauolaEvent.h"
23#include "TauolaParticle.h"
24#include "TauolaHepMC3Particle.h"
25namespace Tauolapp
26{
27using namespace HepMC3;
29
30 public:
31
32 /** Constructor which keeps a pointer to the GenEvent*/
33 TauolaHepMC3Event(GenEvent * event);
34
36
37 /** Returns the GenEvent */
38 GenEvent * getEvent();
39
40 /** Implementation of TauolaEvent virtual method.
41 This returns a list of particles in the event with
42 pdg id = "pdgID". */
43 std::vector<TauolaParticle*> findParticles(int pdgID);
44
45 /** Implementation of TauolaEven virtual method.
46 This returns a list of particles in the event with
47 pdg id = "pdgID" and stable status code. */
48 std::vector<TauolaParticle*> findStableParticles(int pdgID);
49
50 /** Overriding of TauolaEvent decayEndgame method.
51 Converts the momentum and length units */
53
54 private:
55
56 /** The event */
57 GenEvent * m_event;
58 /** List of particles to be decayed */
59 std::vector<TauolaParticle*> m_tau_list;
60 /** Momentum unit name */
61 string m_momentum_unit;
62 /** Length unit name */
63 string m_length_unit;
64
65};
66
67} // namespace Tauolapp
68#endif
std::vector< TauolaParticle * > findParticles(int pdgID)
std::vector< TauolaParticle * > m_tau_list
std::vector< TauolaParticle * > findStableParticles(int pdgID)