ATLAS Offline Software
EvtTauola.cxx
Go to the documentation of this file.
1 
2 /***********************************************************************
3 * Copyright 1998-2022 CERN for the benefit of the EvtGen authors *
4 * *
5 * This file is part of EvtGen. *
6 * *
7 * EvtGen is free software: you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation, either version 3 of the License, or *
10 * (at your option) any later version. *
11 * *
12 * EvtGen is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License *
18 * along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19 ***********************************************************************/
20 
21 #include "EvtGen_i/EvtGenExternal/EvtTauola.hh"
22 
23 #include "EvtGenBase/EvtDecayBase.hh"
24 #include "EvtGenBase/EvtParticle.hh"
25 #include "EvtGenBase/EvtPatches.hh"
26 
27 #include "EvtGenModels/EvtAbsExternalGen.hh"
28 
29 #include "EvtGen_i/EvtGenExternal/EvtExternalGenFactory.hh"
30 
31 #include <cmath>
32 #include <iostream>
33 #include <string>
34 
35 std::string EvtTauola::getName()
36 {
37  return "TAUOLA";
38 }
39 
40 EvtDecayBase* EvtTauola::clone()
41 {
42  return new EvtTauola();
43 }
44 
45 void EvtTauola::init()
46 {
47 }
48 
49 void EvtTauola::initProbMax()
50 {
51  noProbMax();
52 }
53 
54 void EvtTauola::decay( EvtParticle* p )
55 {
56  // We check to see if the Tauola engine has been created before doing the decay.
57  // This should only create the full Tauola engine once, and all clones will
58  // point to the same engine.
59 
60  if ( !m_tauolaEngine ) {
61  m_tauolaEngine = EvtExternalGenFactory::getInstance()->getGenerator(
62  EvtExternalGenFactory::TauolaGenId );
63  }
64 
65  if ( m_tauolaEngine ) {
66  m_tauolaEngine->doDecay( p );
67  }
68 }
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
python.Utilities.clone
clone
Definition: Utilities.py:134
python.PyKernel.init
def init(v_theApp, v_rootStream=None)
Definition: PyKernel.py:45