StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtTauolaEngine.hh
1 #ifdef EVTGEN_TAUOLA
2 //--------------------------------------------------------------------------
3 //
4 // Environment:
5 // This software is part of the EvtGen package. If you use all or part
6 // of it, please give an appropriate acknowledgement.
7 //
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 2011 University of Warwick, UK
10 //
11 // Module: EvtTauolaEngine
12 //
13 // Description: Interface to the TAUOLA external generator
14 //
15 // Modification history:
16 //
17 // John Back May 2011 Module created
18 //
19 //------------------------------------------------------------------------
20 
21 #ifndef EVTTAUOLAENGINE_HH
22 #define EVTTAUOLAENGINE_HH
23 
24 #include "EvtGenModels/EvtAbsExternalGen.hh"
25 #include "EvtGenBase/EvtParticle.hh"
26 #include "EvtGenBase/EvtId.hh"
27 #include "EvtGenBase/EvtDecayBase.hh"
28 #include "EvtGenBase/EvtVector4R.hh"
29 
30 #include "HepMC/GenEvent.h"
31 #include "HepMC/GenParticle.h"
32 
33 #include <vector>
34 #include <map>
35 
36 class EvtTauolaEngine : public EvtAbsExternalGen {
37 
38 public:
39 
40  EvtTauolaEngine(bool useEvtGenRandom = true);
41  virtual ~EvtTauolaEngine();
42 
43  virtual bool doDecay(EvtParticle* theMother);
44 
45  virtual void initialise();
46 
47 protected:
48 
49 private:
50 
51  bool _initialised;
52  int _tauPDG, _nTauolaModes;
53 
54  HepMC::GenParticle* createGenParticle(EvtParticle* theParticle);
55 
56  void setUpPossibleTauModes();
57 
58  int getModeInt(EvtDecayBase* decayModel);
59 
60  void decayTauEvent(EvtParticle* tauParticle);
61 
62 };
63 
64 #endif
65 
66 #endif
The GenParticle class contains information about generated particles.
Definition: GenParticle.h:60