File indexing completed on 2025-01-18 10:06:32
0001
0002
0003
0004
0005
0006
0007
0008
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
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
0032 void setPointers(Info* infoPtrIn);
0033 virtual double getWidth( int, int) { return 0.0; };
0034
0035
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
0052
0053 class StauWidths : public WidthFunction {
0054
0055 public:
0056
0057
0058 StauWidths() : fnSwitch(), delm(), f0(), gf(), cons(), wparam() {}
0059
0060
0061 ~StauWidths() { };
0062
0063
0064 double getWidth(int idResIn, int idIn) override;
0065
0066 protected:
0067
0068 int fnSwitch;
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 }
0080
0081 #endif