softsusy is hosted by Hepforge, IPPP Durham
SOFTSUSY  4.1
rge.h
Go to the documentation of this file.
1 
13 #ifndef RGE_H
14 #define RGE_H
15 
16 #include "utils.h"
17 class DoubleVector;
18 #include "linalg.h"
19 #include "numerics.h"
20 
22 namespace softsusy {
23  class Approx {
24  private:
25  int loops;
26  int thresholds;
27  public:
28  Approx(): loops(2), thresholds(0) {};
29  virtual ~Approx() {};
30 
31  inline const Approx & displayApprox() const { return *this; }
32  const Approx & operator=(const Approx &);
33  Approx(const Approx & a);
34  Approx(int l, int t);
35 
37  void setLoops(int l) { loops = l; };
40  void setThresholds(int t) { thresholds = t; };
41 
43  int displayLoops() const { return loops; };
45  int displayThresholds() const { return thresholds; };
46  };
47 
49 class RGE {
50 private:
51  double mu;
52  int numPars;
53 public:
55  RGE(): mu(0.0), numPars(0) {};
56  virtual ~RGE() {};
57 
59  void setMu(double e) { mu = e; };
62  virtual void setmu(double f) { setMu(f); };
64  void setPars(int i) { numPars = i; };
65 
67  double displayMu() const { return mu; };
69  int howMany() const { return numPars; };
70  inline const RGE & displayRGE() const { return *this; }
73  virtual const DoubleVector display() const = 0;
76 
77  virtual void set(const DoubleVector & s) = 0;
79  virtual DoubleVector beta() const = 0;
80 
82  virtual int run(double from, double to, double eps= -1.0);
84  virtual int runto(double to, double eps = -1.0);
85 
93  int callRK(double x1, double x2, DoubleVector & v,
94  DoubleVector (*derivs)(double, const DoubleVector &),
95  double eps = -1.0);
96 
97 };
98 
101 DoubleVector allDerivs(double, const DoubleVector &);
102 
103 } // namespace softsusy
104 
105 #endif
106 
107 
108 
109 
110 
111 
DoubleVector is of variable length, and contains double precision.
Definition: linalg.h:35
Definition: rge.h:23
void setLoops(int l)
Set number of loops used.
Definition: rge.h:37
int displayLoops() const
Return number of loops.
Definition: rge.h:43
void setThresholds(int t)
Definition: rge.h:40
int displayThresholds() const
Return level of threshold approximation.
Definition: rge.h:45
Describes a set of parameters and RGEs in general.
Definition: rge.h:49
void setPars(int i)
Set number of parameters in RGE object.
Definition: rge.h:64
RGE()
Default constructor fills data with zeroes.
Definition: rge.h:55
virtual void setmu(double f)
Definition: rge.h:62
int callRK(double x1, double x2, DoubleVector &v, DoubleVector(*derivs)(double, const DoubleVector &), double eps=-1.0)
Definition: rge.cpp:68
virtual DoubleVector beta() const =0
Beta functions - all RGE objects must have them.
virtual int run(double from, double to, double eps=-1.0)
Runs parameters from scale "from" to "to, eps is fractional accuracy.
Definition: rge.cpp:40
virtual const DoubleVector display() const =0
virtual void set(const DoubleVector &s)=0
virtual int runto(double to, double eps=-1.0)
Runs parameters to scale "to", eps is accuracy.
Definition: rge.cpp:31
double displayMu() const
Return renomalisation scale.
Definition: rge.h:67
int howMany() const
Return number of parameters.
Definition: rge.h:69
void setMu(double e)
Sets renormalisation scale to e.
Definition: rge.h:59
DoubleVector and DoubleMatrix classes of doubles and operations between them, complexified copies als...
global variable declaration
Definition: def.cpp:13
DoubleVector allDerivs(double x, const DoubleVector &y)
Definition: rge.cpp:59
numerical routines - differential equation solver, differentiator and function minimiser for instance
A few handy bits and pieces - little mathematical functions and the like.