Back to home page

EIC code displayed by LXR

 
 

    


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

0001 // SusyResonanceWidths.h is a part of the PYTHIA event generator.
0002 // Copyright (C) 2024 Torbjorn Sjostrand
0003 // Main author of this file: N. Desai
0004 // PYTHIA is licenced under the GNU GPL v2 or later, see COPYING for details.
0005 // Please respect the MCnet Guidelines, see GUIDELINES for details.
0006 
0007 // Header file for resonance properties: dynamical widths etc.
0008 // WidthFunctions: base class for SUSY 3-body decay width functions.
0009 
0010 #ifndef Pythia8_SusyWidthFunctions_H
0011 #define Pythia8_SusyWidthFunctions_H
0012 
0013 #include "Pythia8/MathTools.h"
0014 #include "Pythia8/ParticleData.h"
0015 #include "Pythia8/SusyCouplings.h"
0016 
0017 namespace Pythia8 {
0018 
0019 //==========================================================================
0020 
0021 class WidthFunction {
0022 
0023 public:
0024 
0025   // Constructor and destructor.
0026   WidthFunction() : particleDataPtr(), loggerPtr(), coupSMPtr(), coupSUSYPtr(),
0027     idRes(), idInt(), id1(), id2(), id3(), id4(), mRes(),
0028     mInt(), gammaInt(), m1(), m2(), m3(), m4() { };
0029   virtual ~WidthFunction() { };
0030 
0031   // Public methods.
0032   void setPointers(Info* infoPtrIn);
0033   virtual double getWidth( int, int) { return 0.0; };
0034 
0035   // Definition of width function.
0036   virtual double f(double xIn) = 0;
0037 
0038 protected:
0039 
0040   ParticleData* particleDataPtr;
0041   Logger*       loggerPtr;
0042   CoupSM*       coupSMPtr;
0043   CoupSUSY*     coupSUSYPtr;
0044   int idRes, idInt, id1, id2, id3, id4;
0045   double mRes, mInt, gammaInt, m1, m2 , m3, m4;
0046 
0047 };
0048 
0049 //==========================================================================
0050 
0051 // Class StauWidths.
0052 
0053 class StauWidths : public WidthFunction {
0054 
0055 public:
0056 
0057   // Constructor.
0058   StauWidths() : fnSwitch(), delm(), f0(), gf(), cons(), wparam() {}
0059 
0060   // Destructor.
0061   ~StauWidths() { };
0062 
0063   // Public method.
0064   double getWidth(int idResIn, int idIn) override;
0065 
0066 protected:
0067 
0068   int fnSwitch; // Switch between multiple functions
0069   void setChannel(int idResIn, int idIn);
0070   double f(double xIn) override;
0071 
0072   double delm, f0, gf, cons, wparam;
0073   complex gL, gR;
0074 
0075 };
0076 
0077 //==========================================================================
0078 
0079 } // end namespace Pythia8
0080 
0081 #endif // Pythia8_SusyResonanceWidths_H