]>
Commit | Line | Data |
---|---|---|
0ca57c2f | 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 | ||
39 | ~TauolaHepMCEvent(); | |
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 |