StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtPythia.hh
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) 1998 Caltech, UCSB
10 // 2011 University of Warwick, UK
11 //
12 // Module: EvtGen/EvtPythia.hh
13 //
14 // Description:
15 // Class to handle generic phase space decays not done
16 // in other decay models.
17 //
18 // Modification history:
19 //
20 // DJL/RYD August 11, 1998 Module created
21 // JJB April 2011 Modified to use new Pythia8 interface
22 //
23 //------------------------------------------------------------------------
24 
25 #ifndef EVTPYTHIA_HH
26 #define EVTPYTHIA_HH
27 
28 #include "EvtGenBase/EvtDecayIncoherent.hh"
29 
30 #include <string>
31 #include <vector>
32 
33 class EvtParticle;
34 class EvtAbsExternalGen;
35 class EvtDecayBase;
36 
38 
39 public:
40 
41  EvtPythia();
42  virtual ~EvtPythia();
43 
44  std::string getName();
45 
46  EvtDecayBase* clone();
47 
48  void initProbMax();
49 
50  void init();
51 
52  void decay(EvtParticle *p);
53 
54  std::string commandName();
55  void command(std::string);
56 
57 protected:
58 
59  EvtAbsExternalGen* _pythiaEngine;
60 
61 private:
62 
63  void fixPolarisations(EvtParticle *p);
64  std::vector<std::string> _commandList;
65 
66 };
67 
68 #endif
69