File indexing completed on 2025-01-18 10:06:32
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef Pythia8_SusyResonanceWidths_H
0011 #define Pythia8_SusyResonanceWidths_H
0012
0013 #include "Pythia8/ParticleData.h"
0014 #include "Pythia8/ResonanceWidths.h"
0015 #include "Pythia8/SusyWidthFunctions.h"
0016 #include "Pythia8/SusyCouplings.h"
0017
0018 namespace Pythia8 {
0019
0020
0021
0022 class SUSYResonanceWidths : public ResonanceWidths{
0023
0024 public:
0025
0026
0027 SUSYResonanceWidths() {}
0028
0029
0030 virtual ~SUSYResonanceWidths() {}
0031
0032 protected:
0033
0034
0035 virtual bool initBSM() override;
0036 virtual bool allowCalc() override;
0037 virtual bool getChannels(int) { return false; };
0038
0039 static const bool DBSUSY;
0040
0041 };
0042
0043
0044
0045
0046
0047 class ResonanceSquark : public SUSYResonanceWidths {
0048
0049 public:
0050
0051
0052 ResonanceSquark(int idResIn) : s2W() {initBasic(idResIn);}
0053
0054
0055 private:
0056
0057
0058
0059
0060 virtual void initConstants() override;
0061
0062
0063 virtual void calcPreFac(bool = false) override;
0064
0065 bool getChannels(int idPDG) override;
0066
0067
0068 virtual void calcWidth(bool calledFromInit = false) override;
0069
0070 double s2W;
0071
0072 };
0073
0074
0075
0076
0077
0078 class ResonanceGluino : public SUSYResonanceWidths {
0079
0080 public:
0081
0082
0083 ResonanceGluino(int idResIn) {initBasic(idResIn);}
0084
0085 private:
0086
0087 bool getChannels(int idPDG) override;
0088
0089
0090
0091
0092 virtual void initConstants() override;
0093
0094
0095 virtual void calcPreFac(bool = false) override;
0096
0097
0098 virtual void calcWidth(bool calledFromInit = false) override;
0099
0100 };
0101
0102
0103
0104
0105
0106 class ResonanceNeut : public SUSYResonanceWidths {
0107
0108 public:
0109
0110
0111 ResonanceNeut(int idResIn) : kinFac2(), s2W() {initBasic(idResIn);}
0112
0113 private:
0114
0115 bool getChannels(int idPDG) override;
0116
0117 double kinFac2;
0118
0119
0120 virtual void initConstants() override;
0121
0122
0123 virtual void calcPreFac(bool = false) override;
0124
0125
0126 virtual void calcWidth(bool calledFromInit = false) override;
0127
0128 double s2W;
0129
0130
0131
0132
0133
0134
0135 };
0136
0137
0138
0139
0140
0141 class ResonanceChar : public SUSYResonanceWidths {
0142
0143 public:
0144
0145
0146 ResonanceChar(int idResIn) : kinFac2(), s2W() {initBasic(idResIn);}
0147
0148 private:
0149
0150 bool getChannels(int idPDG) override;
0151
0152
0153 double kinFac2;
0154
0155
0156 virtual void initConstants() override;
0157
0158
0159 virtual void calcPreFac(bool = false) override;
0160
0161
0162 virtual void calcWidth(bool calledFromInit = false) override;
0163
0164 double s2W;
0165
0166
0167
0168
0169
0170
0171 };
0172
0173
0174
0175
0176
0177 class ResonanceSlepton : public SUSYResonanceWidths {
0178
0179 public:
0180
0181
0182 ResonanceSlepton(int idResIn) : s2W() {initBasic(idResIn);}
0183
0184 private:
0185
0186 bool getChannels(int idPDG) override;
0187
0188
0189
0190
0191 virtual void initConstants() override;
0192
0193
0194 virtual void calcPreFac(bool = false) override;
0195
0196
0197 virtual void calcWidth(bool calledFromInit = false) override;
0198
0199 double s2W;
0200
0201
0202 StauWidths stauWidths;
0203
0204 };
0205
0206
0207
0208 }
0209
0210 #endif