10 #ifndef Pythia8_SusyResonanceWidths_H
11 #define Pythia8_SusyResonanceWidths_H
13 #include "Pythia8/ParticleData.h"
14 #include "Pythia8/ResonanceWidths.h"
15 #include "Pythia8/SusyWidthFunctions.h"
16 #include "Pythia8/SusyCouplings.h"
22 class SUSYResonanceWidths :
public ResonanceWidths{
26 SUSYResonanceWidths() {}
31 virtual bool initBSM();
32 virtual bool allowCalc();
33 virtual bool getChannels(
int) {
return false; };
35 double integrateGauss( WidthFunction* widthFn,
double,
double,
double);
38 CoupSUSY* coupSUSYPtr;
39 static const bool DBSUSY;
47 class ResonanceSquark :
public SUSYResonanceWidths {
52 ResonanceSquark(
int idResIn) {initBasic(idResIn);}
60 virtual void initConstants();
63 virtual void calcPreFac(
bool =
false);
65 bool getChannels(
int idPDG);
68 virtual void calcWidth(
bool calledFromInit =
false);
78 class ResonanceGluino :
public SUSYResonanceWidths {
83 ResonanceGluino(
int idResIn) {initBasic(idResIn);}
87 bool getChannels(
int idPDG);
92 virtual void initConstants();
95 virtual void calcPreFac(
bool =
false);
98 virtual void calcWidth(
bool calledFromInit =
false);
106 class ResonanceNeut :
public SUSYResonanceWidths {
111 ResonanceNeut(
int idResIn) {initBasic(idResIn);}
115 bool getChannels(
int idPDG);
120 virtual void initConstants();
123 virtual void calcPreFac(
bool =
false);
126 virtual void calcWidth(
bool calledFromInit =
false);
141 class ResonanceChar :
public SUSYResonanceWidths {
146 ResonanceChar(
int idResIn) {initBasic(idResIn);}
150 bool getChannels(
int idPDG);
156 virtual void initConstants();
159 virtual void calcPreFac(
bool =
false);
162 virtual void calcWidth(
bool calledFromInit =
false);
177 class ResonanceSlepton :
public SUSYResonanceWidths {
182 ResonanceSlepton(
int idResIn) {initBasic(idResIn);}
186 bool getChannels(
int idPDG);
191 virtual void initConstants();
194 virtual void calcPreFac(
bool =
false);
197 virtual void calcWidth(
bool calledFromInit =
false);
202 StauWidths stauWidths;
210 #endif // end Pythia8_SusyResonanceWidths_H