File indexing completed on 2026-08-06 09:24:19
0001
0002 #ifndef HERWIG_RPV_H
0003 #define HERWIG_RPV_H
0004
0005
0006
0007
0008 #include "Herwig/Models/Susy/MSSM.h"
0009 #include "RPV.fh"
0010
0011 namespace Herwig {
0012
0013 using namespace ThePEG;
0014
0015
0016
0017
0018
0019
0020
0021 class RPV: public MSSM {
0022
0023 public:
0024
0025
0026
0027
0028 RPV() : lambdaLLE_(3,vector<vector<double> >(3,vector<double>(3,0.))),
0029 lambdaLQD_(3,vector<vector<double> >(3,vector<double>(3,0.))),
0030 lambdaUDD_(3,vector<vector<double> >(3,vector<double>(3,0.))),
0031 triLinearOnly_(false)
0032 {}
0033
0034
0035
0036
0037
0038 const vector<vector<vector<double> > > & lambdaLLE() {return lambdaLLE_;}
0039
0040
0041
0042
0043 const vector<vector<vector<double> > > & lambdaLQD() {return lambdaLQD_;}
0044
0045
0046
0047
0048 const vector<vector<vector<double> > > & lambdaUDD() {return lambdaUDD_;}
0049
0050
0051
0052
0053 const vector<Energy> & sneutrinoVEVs() {return vnu_;}
0054
0055
0056
0057
0058 const vector<Energy> & epsilon() {return epsilon_;}
0059
0060
0061
0062
0063 const vector<Energy> & epsilonB() {return epsB_;}
0064
0065 public:
0066
0067
0068
0069
0070
0071
0072
0073 void persistentOutput(PersistentOStream & os) const;
0074
0075
0076
0077
0078
0079
0080 void persistentInput(PersistentIStream & is, int version);
0081
0082
0083
0084
0085
0086
0087
0088
0089 static void Init();
0090
0091 protected:
0092
0093
0094
0095
0096
0097
0098
0099
0100 virtual void doinit();
0101
0102
0103 protected:
0104
0105
0106
0107
0108 virtual void extractParameters(bool checkModel=true);
0109
0110
0111
0112
0113 virtual void createMixingMatrices();
0114
0115 protected:
0116
0117
0118
0119
0120
0121
0122
0123 virtual IBPtr clone() const {return new_ptr(*this);}
0124
0125
0126
0127
0128
0129 virtual IBPtr fullclone() const {return new_ptr(*this);}
0130
0131
0132 private:
0133
0134
0135
0136
0137
0138 RPV & operator=(const RPV &) = delete;
0139
0140 private:
0141
0142
0143
0144
0145
0146
0147
0148
0149 vector<vector<vector<double> > > lambdaLLE_;
0150
0151
0152
0153
0154 vector<vector<vector<double> > > lambdaLQD_;
0155
0156
0157
0158
0159 vector<vector<vector<double> > > lambdaUDD_;
0160
0161
0162
0163
0164
0165 vector<Energy> vnu_;
0166
0167
0168
0169
0170 vector<Energy> epsilon_;
0171
0172
0173
0174
0175 vector<Energy> epsB_;
0176
0177
0178
0179
0180
0181
0182
0183
0184 MixingMatrixPtr upSquarkMix_;
0185
0186
0187
0188
0189 MixingMatrixPtr downSquarkMix_;
0190
0191
0192
0193
0194
0195
0196
0197
0198
0199 AbstractFFSVertexPtr LLEVertex_;
0200
0201
0202
0203
0204 AbstractFFSVertexPtr LQDVertex_;
0205
0206
0207
0208
0209 AbstractFFSVertexPtr UDDVertex_;
0210
0211
0212
0213
0214
0215 bool triLinearOnly_;
0216 };
0217
0218 }
0219
0220 #endif