StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ResonanceDecays.h
1 // ResonanceDecays.h is a part of the PYTHIA event generator.
2 // Copyright (C) 2020 Torbjorn Sjostrand.
3 // PYTHIA is licenced under the GNU GPL v2 or later, see COPYING for details.
4 // Please respect the MCnet Guidelines, see GUIDELINES for details.
5 
6 // This file contains the main class for performing resonance decays.
7 // ResonanceDecays: handles the sequential decay of resonances in process.
8 
9 #ifndef Pythia8_ResonanceDecays_H
10 #define Pythia8_ResonanceDecays_H
11 
12 #include "Pythia8/Basics.h"
13 #include "Pythia8/Event.h"
14 #include "Pythia8/Info.h"
15 #include "Pythia8/ParticleData.h"
16 #include "Pythia8/PhysicsBase.h"
17 #include "Pythia8/PythiaStdlib.h"
18 #include "Pythia8/ResonanceWidths.h"
19 #include "Pythia8/Settings.h"
20 
21 namespace Pythia8 {
22 
23 //==========================================================================
24 
25 // The ResonanceDecays class handles the sequential decay of resonances
26 // that are part of the hard process (t, W, Z, H, SUSY,...).
27 
28 class ResonanceDecays : public PhysicsBase {
29 
30 public:
31 
32  // Constructor.
33  ResonanceDecays() : id0(), mult(), m0() {}
34 
35  // Store pointers to Info and Rndm for error messages and random numbers.
36  void init() {}
37 
38  // Generate the next decay sequence.
39  bool next( Event& process, int iDecNow = 0);
40 
41 private:
42 
43  // Constants: could only be changed in the code itself.
44  static const int NTRYCHANNEL, NTRYMASSES;
45  static const double MSAFETY, WIDTHCUT, TINY, TINYBWRANGE,
46  WTCORRECTION[11];
47 
48  // Select masses of decay products.
49  bool pickMasses();
50 
51  // Select colours of decay products.
52  bool pickColours(int iDec, Event& process);
53 
54  // Select kinematics isotropic in phase space.
55  bool pickKinematics();
56 
57  // Flavour, colour and momentum information.
58  int id0, mult;
59  double m0;
60  vector<int> idProd, cols, acols;
61  vector<double> mProd;
62  vector<Vec4> pProd;
63 
64 };
65 
66 //==========================================================================
67 
68 } // end namespace Pythia8
69 
70 #endif // Pythia8_ResonanceDecays_H
Definition: AgUStep.h:26