PYTHIA  8.312
SusyWidthFunctions.h
1 // SusyResonanceWidths.h is a part of the PYTHIA event generator.
2 // Copyright (C) 2024 Torbjorn Sjostrand
3 // Main author of this file: N. Desai
4 // PYTHIA is licenced under the GNU GPL v2 or later, see COPYING for details.
5 // Please respect the MCnet Guidelines, see GUIDELINES for details.
6 
7 // Header file for resonance properties: dynamical widths etc.
8 // WidthFunctions: base class for SUSY 3-body decay width functions.
9 
10 #ifndef Pythia8_SusyWidthFunctions_H
11 #define Pythia8_SusyWidthFunctions_H
12 
13 #include "Pythia8/MathTools.h"
14 #include "Pythia8/ParticleData.h"
15 #include "Pythia8/SusyCouplings.h"
16 
17 namespace Pythia8 {
18 
19 //==========================================================================
20 
22 
23 public:
24 
25  // Constructor and destructor.
26  WidthFunction() : particleDataPtr(), loggerPtr(), coupSMPtr(), coupSUSYPtr(),
27  idRes(), idInt(), id1(), id2(), id3(), id4(), mRes(),
28  mInt(), gammaInt(), m1(), m2(), m3(), m4() { };
29  virtual ~WidthFunction() { };
30 
31  // Public methods.
32  void setPointers(Info* infoPtrIn);
33  virtual double getWidth( int, int) { return 0.0; };
34 
35  // Definition of width function.
36  virtual double f(double xIn) = 0;
37 
38 protected:
39 
40  ParticleData* particleDataPtr;
41  Logger* loggerPtr;
42  CoupSM* coupSMPtr;
43  CoupSUSY* coupSUSYPtr;
44  int idRes, idInt, id1, id2, id3, id4;
45  double mRes, mInt, gammaInt, m1, m2 , m3, m4;
46 
47 };
48 
49 //==========================================================================
50 
51 // Class StauWidths.
52 
53 class StauWidths : public WidthFunction {
54 
55 public:
56 
57  // Constructor.
58  StauWidths() : fnSwitch(), delm(), f0(), gf(), cons(), wparam() {}
59 
60  // Destructor.
61  ~StauWidths() { };
62 
63  // Public method.
64  double getWidth(int idResIn, int idIn) override;
65 
66 protected:
67 
68  int fnSwitch; // Switch between multiple functions
69  void setChannel(int idResIn, int idIn);
70  double f(double xIn) override;
71 
72  double delm, f0, gf, cons, wparam;
73  complex gL, gR;
74 
75 };
76 
77 //==========================================================================
78 
79 } // end namespace Pythia8
80 
81 #endif // Pythia8_SusyResonanceWidths_H
std::complex< double > complex
Convenient typedef for double precision complex numbers.
Definition: PythiaComplex.h:17
Definition: Info.h:45
Class StauWidths.
Definition: SusyWidthFunctions.h:53
void setPointers(Info *infoPtrIn)
Public methods.
Definition: SusyWidthFunctions.cc:24
Definition: Logger.h:23
Definition: SusyWidthFunctions.h:21
Definition: StandardModel.h:135
virtual double f(double xIn)=0
Definition of width function.
~StauWidths()
Destructor.
Definition: SusyWidthFunctions.h:61
WidthFunction()
Constructor and destructor.
Definition: SusyWidthFunctions.h:26
Header for classes to set beam momentum and interaction vertex spread.
Definition: Analysis.h:20
This class holds a map of all ParticleDataEntries.
Definition: ParticleData.h:422
Definition: SusyCouplings.h:27
StauWidths()
Constructor.
Definition: SusyWidthFunctions.h:58