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 #include <cmath>
15 #include "susy.h"
16 #include "linalg.h"
17 #include "utils.h"
18 #include "numerics.h"
19 
20 namespace softsusy {
21 
23  typedef enum {mQl=1, mUr, mDr, mLl, mEr} softMasses;
25  typedef enum {UA=1, DA, EA} trilinears;
26 
28  const static int numSoftParsMssm = 78 + numSusyPars;
29 
31  class MssmSoftPars {
32  private:
33  DoubleVector mGaugino;
34  DoubleMatrix ua, da, ea;
35  DoubleMatrix mQLsq, mURsq, mDRsq, mLLsq, mSEsq;
40  double m3sq, mH1sq, mH2sq;
41  double m32;
42  public:
44  MssmSoftPars();
47  // MssmSoftPars(const MssmSusy &);
49  MssmSoftPars(const MssmSoftPars &);
51  const MssmSoftPars & operator=(const MssmSoftPars & s);
58  MssmSoftPars(const DoubleVector & mG, const
59  DoubleMatrix & aU, const DoubleMatrix & aD, const DoubleMatrix
60  & aE, const DoubleMatrix & mQl, const DoubleMatrix & mUr, const
61  DoubleMatrix & mDr, const DoubleMatrix & mLl, const
62  DoubleMatrix & mEr, double m3sq, double mH1sq, double mH2sq,
63  double mGravitino);
64 
66  const MssmSoftPars & displayMssmSoftPars() const { return *this; }
68  const DoubleMatrix & displayTrilinear(trilinears) const;
70  double displayTrilinear(trilinears, int i, int j) const;
72  const DoubleMatrix & displaySoftMassSquared(softMasses) const;
74  double displaySoftMassSquared(softMasses, int i, int j) const;
75 
76  double displayGravitino() const;
77  double displayM3Squared() const;
78  double displayMh1Squared() const;
79  double displayMh2Squared() const;
81  double displayGaugino(int i) const;
82  void display(DoubleVector & v, int & k) const;
85  const DoubleVector display2() const;
86 
88  void setM32(double);
90  void setSoftPars(MssmSoftPars const &);
92  void setSoftMassElement(softMasses, int, int, double);
94  void setSoftMassMatrix(softMasses, const DoubleMatrix &);
96  void setTrilinearMatrix(trilinears, const DoubleMatrix &);
98  void setTrilinearElement(trilinears k, int i, int j, double a);
100  void setGauginoMass(int, double);
102  void setAllGauginos(const DoubleVector &);
103  void setM3Squared(double);
104  void setMh1Squared(double);
105  void setMh2Squared(double);
106  void set(const DoubleVector & y);
108 
110  DoubleVector beta(const MssmSusy &) const;
112  MssmSoftPars beta2(const MssmSusy & xx) const;
114  MssmSoftPars beta2(const MssmSusy & xx, sBrevity& a) const;
118  void anomalousDeriv(const MssmSusy & xx, DoubleMatrix & gEE,
119  DoubleMatrix & gLL,
120  DoubleMatrix & gQQ, DoubleMatrix & gUU,
121  DoubleMatrix & gDD,
122  double & gH1H1, double & gH2H2) const;
124  void yTildes(const MssmSusy & xx,
125  DoubleMatrix & yu, DoubleMatrix & yd, DoubleMatrix &ye) const;
129  void u1R_PQflip(MssmSusy & s);
132  void universal(MssmSusy & s, double m0, double m12, double a0, double mu,
133  double m3sq);
139  void addAmsb(const MssmSusy &, double m32);
141  void universalTrilinears(const MssmSusy & a, double a0);
145  void minimalGmsb(const MssmSusy & xx, int n5, double LAMBDA,
146  double mMess, double cgrav);
148  void standardSugra(const MssmSusy & xx, double m0, double m12, double a0);
150  void universalScalars(double m0);
152  void universalGauginos(double m12);
153 
155  void inputSoftParsOnly();
156  };
157 
159  ostream & operator <<(ostream &left, const MssmSoftPars &s);
161  istream & operator >>(istream &left, MssmSoftPars &s);
162 
163 
164 } // namespace softsusy
165 
166 #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:107
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:3054
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:3085
DoubleVector and DoubleMatrix classes of doubles and operations between them, complexified copies als...
void u1R_PQflip(MssmSusy &s)
Definition: softpars.cpp:3044
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:3061
Contains all supersymmetric RPC-MSSM parameters.
Definition: susy.h:71
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:2858
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:31
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:23
Matrix from 1..rows, 1..cols of double values.
Definition: linalg.h:214
const MssmSoftPars & displayMssmSoftPars() const
Returns whole object as a const.
Definition: softpars.h:66
void inputSoftParsOnly()
Reads in soft SUSY breaking parameters from a file.
Definition: softpars.cpp:3111
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:2875
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:2968
void universalGauginos(double m12)
Sets all flavour-diagonal SUSY breaking gaugino masses to m12.
Definition: softpars.cpp:3072
void yTildes(const MssmSusy &xx, DoubleMatrix &yu, DoubleMatrix &yd, DoubleMatrix &ye) const
Ytilde quantities are for calculational brevity in beta functions.
Definition: softpars.cpp:2940
void minimalGmsb(const MssmSusy &xx, int n5, double LAMBDA, double mMess, double cgrav)
Definition: softpars.cpp:3160
trilinears
SUSY breaking trilinear parameters.
Definition: softpars.h:25
double displayGravitino() const
Returns the gravitino mass.
Definition: softpars.cpp:52
Soft SUSY breaking parameters and beta functions.
Definition: softpars.h:31
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:3077
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