C++InterfacetoTauola
include/Tauola/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"
25 namespace Tauolapp
26 {
27 using 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 */
52  void eventEndgame();
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 */
62  /** Length unit name */
63  string m_length_unit;
64 
65 };
66 
67 } // namespace Tauolapp
68 #endif
std::vector< TauolaParticle * > m_tau_list