SoftSUSY is hosted by Hepforge, IPPP Durham
SOFTSUSY  4.1
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 "linalg.h"
21 #include "utils.h"
22 #include "numerics.h"
23 
24 namespace softsusy {
25 
27  typedef enum {mQl=1, mUr, mDr, mLl, mEr} softMasses;
29  typedef enum {UA=1, DA, EA} trilinears;
30 
32  const static int numSoftParsMssm = 78 + numSusyPars;
33 
35  class MssmSoftPars {
36  private:
37  DoubleVector mGaugino;
38  DoubleMatrix ua, da, ea;
39  DoubleMatrix mQLsq, mURsq, mDRsq, mLLsq, mSEsq;
44  double m3sq, mH1sq, mH2sq;
45  double m32;
46  public:
48  MssmSoftPars();
51  // MssmSoftPars(const MssmSusy &);
53  MssmSoftPars(const MssmSoftPars &);
55  const MssmSoftPars & operator=(const MssmSoftPars & s);
62  MssmSoftPars(const DoubleVector & mG, const
63  DoubleMatrix & aU, const DoubleMatrix & aD, const DoubleMatrix
64  & aE, const DoubleMatrix & mQl, const DoubleMatrix & mUr, const
65  DoubleMatrix & mDr, const DoubleMatrix & mLl, const
66  DoubleMatrix & mEr, double m3sq, double mH1sq, double mH2sq,
67  double mGravitino);
68 
70  const MssmSoftPars & displayMssmSoftPars() const { return *this; }
72  const DoubleMatrix & displayTrilinear(trilinears) const;
74  double displayTrilinear(trilinears, int i, int j) const;
76  const DoubleMatrix & displaySoftMassSquared(softMasses) const;
78  double displaySoftMassSquared(softMasses, int i, int j) const;
79 
80  double displayGravitino() const;
81  double displayM3Squared() const;
82  double displayMh1Squared() const;
83  double displayMh2Squared() const;
85  double displayGaugino(int i) const;
86  void display(DoubleVector & v, int & k) const;
89  const DoubleVector display2() const;
90 
92  void setM32(double);
94  void setSoftPars(MssmSoftPars const &);
96  void setSoftMassElement(softMasses, int, int, double);
98  void setSoftMassMatrix(softMasses, const DoubleMatrix &);
100  void setTrilinearMatrix(trilinears, const DoubleMatrix &);
102  void setTrilinearElement(trilinears k, int i, int j, double a);
104  void setGauginoMass(int, double);
106  void setAllGauginos(const DoubleVector &);
107  void setM3Squared(double);
108  void setMh1Squared(double);
109  void setMh2Squared(double);
110  void set(const DoubleVector & y);
112 
114  DoubleVector beta(const MssmSusy &) const;
116  MssmSoftPars beta2(const MssmSusy & xx) const;
118  MssmSoftPars beta2(const MssmSusy & xx, sBrevity& a) const;
122  void anomalousDeriv(const MssmSusy & xx, DoubleMatrix & gEE,
123  DoubleMatrix & gLL,
124  DoubleMatrix & gQQ, DoubleMatrix & gUU,
125  DoubleMatrix & gDD,
126  double & gH1H1, double & gH2H2) const;
128  void yTildes(const MssmSusy & xx,
129  DoubleMatrix & yu, DoubleMatrix & yd, DoubleMatrix &ye) const;
133  void u1R_PQflip(MssmSusy & s);
136  void universal(MssmSusy & s, double m0, double m12, double a0, double mu,
137  double m3sq);
143  void addAmsb(const MssmSusy &, double m32);
145  void universalTrilinears(const MssmSusy & a, double a0);
149  void minimalGmsb(const MssmSusy & xx, int n5, double LAMBDA,
150  double mMess, double cgrav);
152  void standardSugra(const MssmSusy & xx, double m0, double m12, double a0);
154  void universalScalars(double m0);
156  void universalGauginos(double m12);
157 
159  void inputSoftParsOnly();
160  };
161 
163  ostream & operator <<(ostream &left, const MssmSoftPars &s);
165  istream & operator >>(istream &left, MssmSoftPars &s);
166 
167 
168 } // namespace softsusy
169 
170 #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:105
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:1227
const DoubleMatrix & displayTrilinear(trilinears) const
Return a trilinear coupling matrix.
Definition: softpars.cpp:84
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:1258
DoubleVector and DoubleMatrix classes of doubles and operations between them, complexified copies als...
void u1R_PQflip(MssmSusy &s)
Definition: softpars.cpp:1217
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:1234
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:1031
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:27
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:70
void inputSoftParsOnly()
Reads in soft SUSY breaking parameters from a file.
Definition: softpars.cpp:1284
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:1048
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:1141
void universalGauginos(double m12)
Sets all flavour-diagonal SUSY breaking gaugino masses to m12.
Definition: softpars.cpp:1245
void yTildes(const MssmSusy &xx, DoubleMatrix &yu, DoubleMatrix &yd, DoubleMatrix &ye) const
Ytilde quantities are for calculational brevity in beta functions.
Definition: softpars.cpp:1113
void minimalGmsb(const MssmSusy &xx, int n5, double LAMBDA, double mMess, double cgrav)
Definition: softpars.cpp:1333
trilinears
SUSY breaking trilinear parameters.
Definition: softpars.h:29
double displayGravitino() const
Returns the gravitino mass.
Definition: softpars.cpp:52
Soft SUSY breaking parameters and beta functions.
Definition: softpars.h:35
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:1250
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