]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/Tauola/TauolaEvent.h
Fixes for object target dependencies
[u/mrichter/AliRoot.git] / TEvtGen / Tauola / TauolaEvent.h
CommitLineData
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
26namespace Tauolapp
27{
28
29class 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