]>
Commit | Line | Data |
---|---|---|
0ca57c2f | 1 | #ifndef _TauolaEvent_h_included_ |
2 | #define _TauolaEvent_h_included_ | |
3 | ||
4 | #include <stdio.h> | |
5 | #include <stdlib.h> | |
6 | #include <iostream> | |
7 | #include "TauolaParticlePair.h" | |
8 | ||
9 | /** | |
10 | * @class TauolaEvent | |
11 | * | |
12 | * @brief Abstract base class for containing the event information. | |
13 | * | |
14 | * TauolaEvent contains virtual methods, which need to be implemented | |
15 | * by the appropriate interface class to the event record. Currently only | |
16 | * TauolaHepMCEvent does this. An object of TauolaEvent type should be | |
17 | * created by the user and can be decayed via the decayTaus() method. | |
18 | * | |
19 | * This class is responsible for finding taus, (or tau and | |
20 | * it's neutrino) and creating TauolaParticlePairs out of them. | |
21 | * | |
22 | * @author Nadia Davidson | |
23 | * @date 16 June 2008 | |
24 | */ | |
25 | ||
26 | namespace Tauolapp | |
27 | { | |
28 | ||
29 | class TauolaEvent{ | |
30 | ||
31 | public: | |
32 | virtual ~TauolaEvent(){}; | |
33 | ||
34 | /** create TauolaParticlePairs */ | |
35 | std::vector<TauolaParticle*> findPairs(); | |
36 | ||
37 | /** Decay taus in this event.*/ | |
38 | void decayTaus(); | |
39 | ||
40 | /** Undecay taus in this event but removing their daughters and | |
41 | returning the status cods to 1.*/ | |
42 | void undecayTaus(); | |
43 | ||
44 | /** Final touches to event record after all decays are finished. | |
45 | Some event records (e.g. HepMC) need it. */ | |
46 | virtual void eventEndgame() {} | |
47 | ||
48 | /** return a list of all particle with pdg_id = absolute value of pdg_id. | |
49 | This method must be implemented by a derived class. eg. | |
50 | TauolaHepMCEvent */ | |
51 | virtual std::vector<TauolaParticle*> findParticles(int pdg_id)=0; | |
52 | ||
53 | /** return a list of all particle with pdg_id = absolute value of pdg_id | |
54 | and stable status code. This method must be implemented by a derived class. | |
55 | eg. TauolaHepMCEvent */ | |
56 | virtual std::vector<TauolaParticle*> findStableParticles(int pdg_id)=0; | |
57 | ||
58 | ||
59 | private: | |
60 | ||
61 | }; | |
62 | ||
63 | } // namespace Tauolapp | |
64 | #endif | |
65 |