Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:06:28

0001 // ResonanceDecays.h is a part of the PYTHIA event generator.
0002 // Copyright (C) 2024 Torbjorn Sjostrand.
0003 // PYTHIA is licenced under the GNU GPL v2 or later, see COPYING for details.
0004 // Please respect the MCnet Guidelines, see GUIDELINES for details.
0005 
0006 // This file contains the main class for performing resonance decays.
0007 // ResonanceDecays: handles the sequential decay of resonances in process.
0008 
0009 #ifndef Pythia8_ResonanceDecays_H
0010 #define Pythia8_ResonanceDecays_H
0011 
0012 #include "Pythia8/Basics.h"
0013 #include "Pythia8/Event.h"
0014 #include "Pythia8/Info.h"
0015 #include "Pythia8/ParticleData.h"
0016 #include "Pythia8/PhysicsBase.h"
0017 #include "Pythia8/PythiaStdlib.h"
0018 #include "Pythia8/ResonanceWidths.h"
0019 #include "Pythia8/Settings.h"
0020 
0021 namespace Pythia8 {
0022 
0023 //==========================================================================
0024 
0025 // The ResonanceDecays class handles the sequential decay of resonances
0026 // that are part of the hard process (t, W, Z, H, SUSY,...).
0027 
0028 class ResonanceDecays : public PhysicsBase {
0029 
0030 public:
0031 
0032   // Constructor.
0033   ResonanceDecays() : id0(), mult(), m0() {}
0034 
0035   // Store pointers to Info and Rndm for error messages and random numbers.
0036   void init() {}
0037 
0038   // Generate the next decay sequence.
0039   bool next( Event& process, int iDecNow = 0);
0040 
0041 private:
0042 
0043   // Constants: could only be changed in the code itself.
0044   static const int    NTRYCHANNEL, NTRYMASSES;
0045   static const double MSAFETY, WIDTHCUT, TINY, TINYBWRANGE,
0046                       WTCORRECTION[11];
0047 
0048   // Select masses of decay products.
0049   bool pickMasses();
0050 
0051   // Select colours of decay products.
0052   bool pickColours(int iDec, Event& process);
0053 
0054   // Select kinematics isotropic in phase space.
0055   bool pickKinematics();
0056 
0057   // Flavour, colour and momentum information.
0058   int            id0, mult;
0059   double         m0;
0060   vector<int>    idProd, cols, acols;
0061   vector<double> mProd;
0062   vector<Vec4>   pProd;
0063 
0064 };
0065 
0066 //==========================================================================
0067 
0068 } // end namespace Pythia8
0069 
0070 #endif // Pythia8_ResonanceDecays_H