1 // ResonanceDecays.h is a part of the PYTHIA event generator.
2 // Copyright (C) 2008 Torbjorn Sjostrand.
3 // PYTHIA is licenced under the GNU GPL version 2, see COPYING for details.
4 // Please respect the MCnet Guidelines, see GUIDELINES for details.
6 // This file contains the main class for performing resonance decays.
7 // ResonanceDecays: handles the sequential decay of resonances in process.
9 #ifndef Pythia8_ResonanceDecays_H
10 #define Pythia8_ResonanceDecays_H
15 #include "ParticleData.h"
16 #include "PythiaStdlib.h"
17 #include "ResonanceWidths.h"
22 //**************************************************************************
24 // The ResonanceDecays class handles the sequential decay of resonances
25 // that are part of the hard process (t, W, Z, H, SUSY,...).
27 class ResonanceDecays {
34 // Store pointer to Info for error messages.
35 void init(Info* infoPtrIn) {infoPtr = infoPtrIn;}
37 // Generate the next decay sequence.
38 bool next( Event& process);
42 // Constants: could only be changed in the code itself.
43 static const int NTRYCHANNEL, NTRYMASSES;
44 static const double MSAFETY, WIDTHCUT, TINY, WTCORRECTION[11];
46 // Pointer to various information on the generation.
49 // Select masses of decay products.
52 // Select colours of decay products.
53 bool pickColours(int iDec, Event& process);
55 // Select kinematics isotropic in phase space.
56 bool pickKinematics();
58 // Flavour, colour and momentum information.
61 vector<int> idProd, cols, acols;
67 //**************************************************************************
69 } // end namespace Pythia8
71 #endif // Pythia8_ResonanceDecays_H