C++InterfacetoTauola
src/eventRecordInterfaces/TauolaHepMCEvent.h
1 #ifndef _TauolaHepMCEvent_h_included_
2 #define _TauolaHepMCEvent_h_included_
3 
4 /**
5  * @class TauolaHepMCEvent
6  *
7  * @brief Interface to HepMC::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 HepMC::GenEvent object.
13  *
14  * @author Nadia Davidson
15  * @date 17 June 2008
16  *
17  * This code is licensed under GNU General Public Licence.
18  * For more informations, see: http://www.gnu.org/licenses/
19  */
20 
21 #include <iostream>
22 #include "HepMC/GenEvent.h"
23 #include "HepMC/GenVertex.h"
24 #include "HepMC/GenParticle.h"
25 #include "TauolaEvent.h"
26 #include "TauolaParticle.h"
27 #include "TauolaHepMCParticle.h"
28 
29 namespace Tauolapp
30 {
31 
32 class TauolaHepMCEvent : public TauolaEvent{
33 
34  public:
35 
36  /** Constructor which keeps a pointer to the HepMC::GenEvent*/
37  TauolaHepMCEvent(HepMC::GenEvent * event);
38 
40 
41  /** Returns the HepMC::GenEvent */
42  HepMC::GenEvent * getEvent();
43 
44  /** Implementation of TauolaEvent virtual method.
45  This returns a list of particles in the event with
46  pdg id = "pdgID". */
47  std::vector<TauolaParticle*> findParticles(int pdgID);
48 
49  /** Implementation of TauolaEven virtual method.
50  This returns a list of particles in the event with
51  pdg id = "pdgID" and stable status code. */
52  std::vector<TauolaParticle*> findStableParticles(int pdgID);
53 
54  /** Overriding of TauolaEvent decayEndgame method.
55  Converts the momentum and length units */
56  void eventEndgame();
57 
58  private:
59 
60  /** The event */
61  HepMC::GenEvent * m_event;
62  /** List of particles to be decayed */
63  std::vector<TauolaParticle*> m_tau_list;
64  /** Momentum unit name */
65  string m_momentum_unit;
66  /** Length unit name */
67  string m_length_unit;
68 
69 };
70 
71 } // namespace Tauolapp
72 #endif
73 
HepMC::GenEvent * getEvent()
Abstract base class for containing the event information.
Interface to HepMC::GenEvent objects.
std::vector< TauolaParticle * > findParticles(int pdgID)
std::vector< TauolaParticle * > m_tau_list
std::vector< TauolaParticle * > findStableParticles(int pdgID)
TauolaHepMCEvent(HepMC::GenEvent *event)