File indexing completed on 2025-01-18 10:06:29
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef Pythia8_ResonanceWidthsDM_H
0011 #define Pythia8_ResonanceWidthsDM_H
0012
0013 #include "Pythia8/Settings.h"
0014 #include "Pythia8/ParticleData.h"
0015 #include "Pythia8/ResonanceWidths.h"
0016
0017 namespace Pythia8 {
0018
0019
0020
0021
0022
0023 class ResonanceS : public ResonanceWidths {
0024
0025 public:
0026
0027
0028 ResonanceS(int idResIn) : ResonanceWidths(), gq(), gX(), pScalar()
0029 {initBasic(idResIn);}
0030 virtual ~ResonanceS() {}
0031
0032 private:
0033
0034
0035 double gq, gX;
0036 bool pScalar;
0037
0038
0039 virtual void initConstants() override;
0040
0041
0042 virtual void calcPreFac(bool = false) override;
0043
0044
0045 virtual void calcWidth(bool calledFromInit = false) override;
0046
0047
0048 virtual double eta2gg();
0049
0050 };
0051
0052
0053
0054
0055
0056 class ResonanceZp : public ResonanceWidths {
0057
0058 public:
0059
0060
0061 ResonanceZp(int idResIn) : ResonanceWidths(), kinMix(), gZp(), eps(), vX(),
0062 aX(), vu(), vd(), vl(), vv(), au(), ad(), al(), av() {initBasic(idResIn);}
0063
0064 private:
0065
0066
0067 bool kinMix;
0068 double gZp, eps, vX, aX, vu, vd, vl, vv, au, ad, al, av;
0069
0070
0071 virtual void initConstants() override;
0072
0073
0074 virtual void calcPreFac(bool = false) override;
0075
0076
0077 virtual void calcWidth(bool calledFromInit = false) override;
0078
0079 };
0080
0081
0082
0083
0084
0085 class ResonanceSl : public ResonanceWidths {
0086
0087 public:
0088
0089
0090 ResonanceSl(int idResIn) : yuk() {initBasic(idResIn);}
0091
0092 private:
0093
0094
0095 double yuk[4];
0096
0097
0098 virtual void initConstants() override;
0099
0100
0101 virtual void calcPreFac(bool = false) override;
0102
0103
0104 virtual void calcWidth(bool calledFromInit = false) override;
0105
0106 };
0107
0108
0109
0110
0111
0112 class ResonanceCha : public ResonanceWidths {
0113
0114 public:
0115
0116
0117 ResonanceCha(int idResIn) : ResonanceWidths(), mixN1(), mixN2(), mixing(),
0118 doDY() {initBasic(idResIn);}
0119
0120 protected:
0121
0122
0123 double mixN1, mixN2, mixing;
0124 bool doDY;
0125
0126
0127 void setMassMix();
0128
0129 private:
0130
0131
0132 virtual void initConstants() override {setMassMix();}
0133
0134
0135 virtual void calcPreFac(bool = false) override;
0136
0137
0138 virtual void calcWidth(bool calledFromInit = false) override;
0139
0140 };
0141
0142
0143
0144
0145
0146
0147 class ResonanceDM2 : public ResonanceCha {
0148
0149 public:
0150
0151
0152 ResonanceDM2(int idResIn) : ResonanceCha(idResIn), mHiggs(), wHiggs()
0153 {initBasic(idResIn);}
0154
0155 private:
0156
0157
0158 double mHiggs, wHiggs;
0159
0160
0161 virtual void initConstants() override;
0162
0163
0164 virtual void calcPreFac(bool = false) override;
0165
0166
0167 virtual void calcWidth(bool calledFromInit = false) override;
0168
0169 };
0170
0171
0172
0173
0174
0175 class ResonanceChaD : public ResonanceCha {
0176
0177 public:
0178
0179
0180 ResonanceChaD(int idResIn) : ResonanceCha(idResIn) {initBasic(idResIn);}
0181
0182 private:
0183
0184
0185 virtual void initConstants() override {setMassMix();}
0186
0187
0188 virtual void calcPreFac(bool = false) override;
0189
0190
0191 virtual void calcWidth(bool calledFromInit = false) override;
0192
0193 };
0194
0195
0196
0197 }
0198
0199 #endif