herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
RPV.h
1 // -*- C++ -*-
2 #ifndef HERWIG_RPV_H
3 #define HERWIG_RPV_H
4 //
5 // This is the declaration of the RPV class.
6 //
7 
8 #include "Herwig/Models/Susy/MSSM.h"
9 #include "RPV.fh"
10 
11 namespace Herwig {
12 
13 using namespace ThePEG;
14 
21 class RPV: public MSSM {
22 
23 public:
24 
28  RPV() : lambdaLLE_(3,vector<vector<double> >(3,vector<double>(3,0.))),
29  lambdaLQD_(3,vector<vector<double> >(3,vector<double>(3,0.))),
30  lambdaUDD_(3,vector<vector<double> >(3,vector<double>(3,0.))),
31  triLinearOnly_(false)
32  {}
33 
34 
38  const vector<vector<vector<double> > > & lambdaLLE() {return lambdaLLE_;}
39 
43  const vector<vector<vector<double> > > & lambdaLQD() {return lambdaLQD_;}
44 
48  const vector<vector<vector<double> > > & lambdaUDD() {return lambdaUDD_;}
49 
53  const vector<Energy> & sneutrinoVEVs() {return vnu_;}
54 
58  const vector<Energy> & epsilon() {return epsilon_;}
59 
63  const vector<Energy> & epsilonB() {return epsB_;}
64 
65 public:
66 
73  void persistentOutput(PersistentOStream & os) const;
74 
80  void persistentInput(PersistentIStream & is, int version);
82 
89  static void Init();
90 
91 protected:
92 
100  virtual void doinit();
102 
103 protected:
104 
108  virtual void extractParameters(bool checkModel=true);
109 
113  virtual void createMixingMatrices();
114 
115 protected:
116 
123  virtual IBPtr clone() const {return new_ptr(*this);}
124 
129  virtual IBPtr fullclone() const {return new_ptr(*this);}
131 
132 private:
133 
138  RPV & operator=(const RPV &) = delete;
139 
140 private:
141 
145  //@
149  vector<vector<vector<double> > > lambdaLLE_;
150 
154  vector<vector<vector<double> > > lambdaLQD_;
155 
159  vector<vector<vector<double> > > lambdaUDD_;
160  //@
161 
165  vector<Energy> vnu_;
166 
170  vector<Energy> epsilon_;
171 
175  vector<Energy> epsB_;
176 
184  MixingMatrixPtr upSquarkMix_;
185 
189  MixingMatrixPtr downSquarkMix_;
191 
199  AbstractFFSVertexPtr LLEVertex_;
200 
204  AbstractFFSVertexPtr LQDVertex_;
205 
209  AbstractFFSVertexPtr UDDVertex_;
211 
216 };
217 
218 }
219 
220 #endif /* HERWIG_RPV_H */
const vector< vector< vector< double > > > & lambdaLQD()
LQD couplings.
Definition: RPV.h:43
RPV()
The default constructor.
Definition: RPV.h:28
bool triLinearOnly_
Switch to only do trilinears.
Definition: RPV.h:215
vector< Energy > epsilon_
The bilinear parameters.
Definition: RPV.h:170
const vector< Energy > & epsilonB()
Blinear soft terms.
Definition: RPV.h:63
MixingMatrixPtr downSquarkMix_
For down-type squarks.
Definition: RPV.h:189
const vector< vector< vector< double > > > & lambdaUDD()
UDD couplings.
Definition: RPV.h:48
AbstractFFSVertexPtr LQDVertex_
LQD vertex.
Definition: RPV.h:204
virtual IBPtr clone() const
Make a simple clone of this object.
Definition: RPV.h:123
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
const vector< Energy > & epsilon()
Bilinear coupings.
Definition: RPV.h:58
Here is the documentation of the RPV class.
Definition: RPV.h:21
AbstractFFSVertexPtr LLEVertex_
New vertices.
Definition: RPV.h:199
The MSSM class provides the main model class to replace the Standard Model when using the Minimal Sup...
Definition: MSSM.h:29
const vector< Energy > & sneutrinoVEVs()
Sneutrino vevs.
Definition: RPV.h:53
AbstractFFSVertexPtr UDDVertex_
UDD vertex.
Definition: RPV.h:209
vector< vector< vector< double > > > lambdaLLE_
Trillinear couplings.
Definition: RPV.h:149
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition: RPV.h:129
vector< vector< vector< double > > > lambdaUDD_
UDD couplings.
Definition: RPV.h:159
const vector< vector< vector< double > > > & lambdaLLE()
LLE couplings.
Definition: RPV.h:38
vector< vector< vector< double > > > lambdaLQD_
LQD couplings.
Definition: RPV.h:154
-*- C++ -*-
vector< Energy > epsB_
The bilinear soft terms.
Definition: RPV.h:175
vector< Energy > vnu_
Sneutrino vevs.
Definition: RPV.h:165
MixingMatrixPtr upSquarkMix_
Squark mixing matrices.
Definition: RPV.h:184