]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenExternal/EvtTauola.cpp
Fix axis label
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenExternal / EvtTauola.cpp
1 //--------------------------------------------------------------------------
2 //
3 // Environment:
4 //      This software is part of the EvtGen package developed jointly
5 //      for the BaBar and CLEO collaborations.  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 // Description: Use the Tauola external generator for tau decays
12 //
13 // Modification history:
14 //
15 //    John Back    May 2011   Module created
16 //
17 //------------------------------------------------------------------------
18
19 #include "EvtGenBase/EvtPatches.hh"
20
21 #include "EvtGenBase/EvtParticle.hh"
22
23 #include "EvtGenExternal/EvtTauola.hh"
24
25 #include "EvtGenExternal/EvtExternalGenFactory.hh"
26 #include "EvtGenModels/EvtAbsExternalGen.hh"
27 #include "EvtGenBase/EvtDecayBase.hh"
28
29 #include <string>
30 #include <iostream>
31 #include <cmath>
32
33 EvtTauola::EvtTauola() {
34
35   // Set the Tauola engine to a null pointer at first.
36   // When we do the decay, we retrieve the pointer to the Tauola engine
37   // and use that for all decays. All clones will use the same Tauola engine.
38   _tauolaEngine = 0;
39
40 }
41
42 EvtTauola::~EvtTauola() {}
43
44 std::string EvtTauola::getName(){
45
46   return "TAUOLA";
47
48 }
49
50 EvtDecayBase* EvtTauola::clone(){
51
52   return new EvtTauola();
53
54 }
55
56
57 void EvtTauola::init(){
58
59
60 }
61
62 void EvtTauola::initProbMax(){
63
64   noProbMax();
65
66 }
67
68 void EvtTauola::decay( EvtParticle *p ){
69
70   // We check to see if the Tauola engine has been created before doing the decay.
71   // This should only create the full Tauola engine once, and all clones will 
72   // point to the same engine.
73
74   if (_tauolaEngine == 0) {
75     _tauolaEngine = EvtExternalGenFactory::getInstance()->getGenerator(EvtExternalGenFactory::TauolaGenId);
76   }
77     
78   if (_tauolaEngine != 0) {
79     _tauolaEngine->doDecay(p);
80   }
81
82 }