SoftSUSY is hosted by Hepforge, IPPP Durham
SOFTSUSY  4.0
softpars.h
Go to the documentation of this file.
1 
11 #ifndef SOFTPARS_H
12 #define SOFTPARS_H
13 
14 
15 #ifdef HAVE_CONFIG_H
16  #include <config.h>
17 #endif
18 #include <cmath>
19 #include "susy.h"
20 #include "def.h"
21 #include "linalg.h"
22 #include "utils.h"
23 #include "numerics.h"
24 
25 namespace softsusy {
26 
28  typedef enum {mQl=1, mUr, mDr, mLl, mEr} softMasses;
30  typedef enum {UA=1, DA, EA} trilinears;
31 
33  const static int numSoftParsMssm = 78 + numSusyPars;
34 
36  class MssmSoftPars {
37  private:
38  DoubleVector mGaugino;
39  DoubleMatrix ua, da, ea;
40  DoubleMatrix mQLsq, mURsq, mDRsq, mLLsq, mSEsq;
45  double m3sq, mH1sq, mH2sq;
46  double m32;
47  public:
49  MssmSoftPars();
52  // MssmSoftPars(const MssmSusy &);
54  MssmSoftPars(const MssmSoftPars &);
56  const MssmSoftPars & operator=(const MssmSoftPars & s);
63  MssmSoftPars(const DoubleVector & mG, const
64  DoubleMatrix & aU, const DoubleMatrix & aD, const DoubleMatrix
65  & aE, const DoubleMatrix & mQl, const DoubleMatrix & mUr, const
66  DoubleMatrix & mDr, const DoubleMatrix & mLl, const
67  DoubleMatrix & mEr, double m3sq, double mH1sq, double mH2sq,
68  double mGravitino);
69 
71  const MssmSoftPars & displayMssmSoftPars() const { return *this; }
73  const DoubleMatrix & displayTrilinear(trilinears) const;
75  double displayTrilinear(trilinears, int i, int j) const;
77  const DoubleMatrix & displaySoftMassSquared(softMasses) const;
79  double displaySoftMassSquared(softMasses, int i, int j) const;
80 
81  double displayGravitino() const;
82  double displayM3Squared() const;
83  double displayMh1Squared() const;
84  double displayMh2Squared() const;
86  double displayGaugino(int i) const;
87  void display(DoubleVector & v, int & k) const;
90  const DoubleVector display2() const;
91 
93  void setM32(double);
95  void setSoftPars(MssmSoftPars const &);
97  void setSoftMassElement(softMasses, int, int, double);
99  void setSoftMassMatrix(softMasses, const DoubleMatrix &);
101  void setTrilinearMatrix(trilinears, const DoubleMatrix &);
103  void setTrilinearElement(trilinears k, int i, int j, double a);
105  void setGauginoMass(int, double);
107  void setAllGauginos(const DoubleVector &);
108  void setM3Squared(double);
109  void setMh1Squared(double);
110  void setMh2Squared(double);
111  void set(const DoubleVector & y);
113 
115  DoubleVector beta(const MssmSusy &) const;
117  MssmSoftPars beta2(const MssmSusy & xx) const;
119  MssmSoftPars beta2(const MssmSusy & xx, sBrevity& a) const;
123  void anomalousDeriv(const MssmSusy & xx, DoubleMatrix & gEE,
124  DoubleMatrix & gLL,
125  DoubleMatrix & gQQ, DoubleMatrix & gUU,
126  DoubleMatrix & gDD,
127  double & gH1H1, double & gH2H2) const;
129  void yTildes(const MssmSusy & xx,
130  DoubleMatrix & yu, DoubleMatrix & yd, DoubleMatrix &ye) const;
134  void u1R_PQflip(MssmSusy & s);
137  void universal(MssmSusy & s, double m0, double m12, double a0, double mu,
138  double m3sq);
144  void addAmsb(const MssmSusy &, double m32);
146  void universalTrilinears(const MssmSusy & a, double a0);
150  void minimalGmsb(const MssmSusy & xx, int n5, double LAMBDA,
151  double mMess, double cgrav);
153  void standardSugra(const MssmSusy & xx, double m0, double m12, double a0);
155  void universalScalars(double m0);
157  void universalGauginos(double m12);
158 
160  void inputSoftParsOnly();
161  };
162 
164  ostream & operator <<(ostream &left, const MssmSoftPars &s);
166  istream & operator >>(istream &left, MssmSoftPars &s);
167 
168 
169 } // namespace softsusy
170 
171 #endif
MssmSoftPars()
Default constructor fills object with zeroes.
Definition: softpars.cpp:15
global variable declaration
Definition: def.cpp:13
double a0(double m, double q)
inlined PV functions: real part
Definition: numerics.h:100
DoubleVector is of variable length, and contains double precision.
Definition: linalg.h:35
void universal(MssmSusy &s, double m0, double m12, double a0, double mu, double m3sq)
Definition: softpars.cpp:3056
const DoubleMatrix & displayTrilinear(trilinears) const
Return a trilinear coupling matrix.
Definition: softpars.cpp:84
switches (options) and parameters such as default fermion masses, required accuracy etc ...
void standardSugra(const MssmSusy &xx, double m0, double m12, double a0)
Reads in universal boundary conditions at the current scale: m0, M1/2, A0.
Definition: softpars.cpp:3087
DoubleVector and DoubleMatrix classes of doubles and operations between them, complexified copies als...
void u1R_PQflip(MssmSusy &s)
Definition: softpars.cpp:3046
void setM32(double)
Sets gravitino mass.
Definition: softpars.cpp:64
void universalScalars(double m0)
Sets all flavour-diagonal SUSY breaking scalar masses to m0.
Definition: softpars.cpp:3063
Contains all supersymmetric RPC-MSSM parameters.
Definition: susy.h:75
void setSoftPars(MssmSoftPars const &)
Sets whole thing equal to another object.
Definition: softpars.cpp:62
DoubleVector displayGaugino() const
Return .
Definition: softpars.cpp:48
DoubleVector beta(const MssmSusy &) const
Returns double vector containing numerical beta functions of parameters.
Definition: softpars.cpp:2860
void setAllGauginos(const DoubleVector &)
Set all gaugino masses.
Definition: softpars.cpp:235
MssmSusy contains all SUSY couplings and tan beta, as well as their beta functions.
numerical routines - differential equation solver, differentiator and function minimiser for instance...
A few handy bits and pieces - little mathematical functions and the like.
double displayM3Squared() const
Return .
Definition: softpars.cpp:42
void setGauginoMass(int, double)
Set one gaugino mass.
Definition: softpars.cpp:54
void setMh2Squared(double)
Definition: softpars.cpp:60
istream & operator>>(istream &left, flavourPhysical &s)
Formatted input of physical parameters.
Definition: flavoursoft.cpp:1220
Contains data needed in beta function calculation to make it faster.
Definition: susy.h:35
void setTrilinearMatrix(trilinears, const DoubleMatrix &)
Set whole of a trilinear SUSY breaking parameter matrix.
Definition: softpars.cpp:218
double displayMh2Squared() const
Return =mH2sq.
Definition: softpars.cpp:46
void setMh1Squared(double)
Sets .
Definition: softpars.cpp:58
ostream & operator<<(ostream &left, const FlavourMssmSoftsusy &m)
Formatted output.
Definition: flavoursoft.cpp:217
softMasses
SUSY breaking soft mass squared parameters.
Definition: softpars.h:28
Matrix from 1..rows, 1..cols of double values.
Definition: linalg.h:211
const MssmSoftPars & displayMssmSoftPars() const
Returns whole object as a const.
Definition: softpars.h:71
void inputSoftParsOnly()
Reads in soft SUSY breaking parameters from a file.
Definition: softpars.cpp:3113
void setSoftMassElement(softMasses, int, int, double)
Set one element of a soft mass squared matrix.
Definition: softpars.cpp:197
void setTrilinearElement(trilinears k, int i, int j, double a)
Set one element of a trilinear SUSY breaking parameter matrix.
Definition: softpars.cpp:226
const DoubleMatrix & displaySoftMassSquared(softMasses) const
Return a soft mass squared matrix.
Definition: softpars.cpp:113
double displayMh1Squared() const
Return .
Definition: softpars.cpp:44
void anomalousDeriv(const MssmSusy &xx, DoubleMatrix &gEE, DoubleMatrix &gLL, DoubleMatrix &gQQ, DoubleMatrix &gUU, DoubleMatrix &gDD, double &gH1H1, double &gH2H2) const
Definition: softpars.cpp:2877
void setM3Squared(double)
Sets .
Definition: softpars.cpp:56
MssmSoftPars beta2(const MssmSusy &xx) const
Returns numerical beta functions of parameters.
Definition: softpars.cpp:246
void addAmsb(const MssmSusy &, double m32)
Definition: softpars.cpp:2970
void universalGauginos(double m12)
Sets all flavour-diagonal SUSY breaking gaugino masses to m12.
Definition: softpars.cpp:3074
void yTildes(const MssmSusy &xx, DoubleMatrix &yu, DoubleMatrix &yd, DoubleMatrix &ye) const
Ytilde quantities are for calculational brevity in beta functions.
Definition: softpars.cpp:2942
void minimalGmsb(const MssmSusy &xx, int n5, double LAMBDA, double mMess, double cgrav)
Definition: softpars.cpp:3162
trilinears
SUSY breaking trilinear parameters.
Definition: softpars.h:30
double displayGravitino() const
Returns the gravitino mass.
Definition: softpars.cpp:52
Soft SUSY breaking parameters and beta functions.
Definition: softpars.h:36
void setSoftMassMatrix(softMasses, const DoubleMatrix &)
Set whole of a soft mass squared matrix.
Definition: softpars.cpp:208
void universalTrilinears(const MssmSusy &a, double a0)
Sets all SUSY breaking trilinear couplings to a0.
Definition: softpars.cpp:3079
void display(DoubleVector &v, int &k) const
Definition: softpars.cpp:170
const MssmSoftPars & operator=(const MssmSoftPars &s)
Sets all parameters equal to those in another object.
Definition: softpars.cpp:66