a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
RGEvolutorNew.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "RGEvolutorNew.h"
9 
10 RGEvolutorNew::RGEvolutorNew(unsigned int dim, schemes scheme, qcd_orders order_qcd_i, qed_orders order_qed_i)
11 : WilsonTemplateNew<gslpp::matrix<double> >(dim, scheme, order_qcd_i, order_qed_i)
12 {}
13 
14 
15 void RGEvolutorNew::setEvol(unsigned int i, unsigned int j, double x, qcd_orders order_qcd_i, qed_orders order_qed_i)
16 {
17  if (i > size || j > size) {
18  std::stringstream out;
19  out << i << " " << j;
20  throw std::runtime_error("RGEvolutorNew::setEvol(): matrix indices " + out.str() + " out of range");
21  }
22  if (order_qcd_i > order_qcd || order_qed_i > order_qed) {
23  std::stringstream out;
24  out << order_qcd_i << " and " << order_qed_i;
25  throw std::runtime_error("RGEvolutorNew::setEvol(): order " + out.str() +" not implemented ");
26  }
27  gslpp::matrix<double> tmp = wilson.getOrd(order_qcd_i, order_qed_i);
28  tmp.assign(i, j, x);
29  wilson.setOrd(order_qcd_i, order_qed_i, tmp);
30 }
31 
32 void RGEvolutorNew::setEvol(const gslpp::matrix<double>& m, qcd_orders order_qcd_i, qed_orders order_qed_i)
33 {
34  setWilson(m, order_qcd_i, order_qed_i);
35 }
36 
38 {
39  return wilson;
40 }
41 
42 double RGEvolutorNew::getM() const
43 {
44  return M;
45 }
46 
47 void RGEvolutorNew::setScales(double mu, double M)
48 {
49  this->M = M;
52 }
53 
54 void RGEvolutorNew::setM(double M)
55 {
56  setScales(mu, M);
57 }
58 
59 void RGEvolutorNew::setMu(double mu)
60 {
61  setScales(mu, M);
62 }
63 
64 const gslpp::matrix<double>& RGEvolutorNew::Evol(qcd_orders order_qcd_i, qed_orders order_qed_i) const
65 {
66  return getWilson(order_qcd_i, order_qed_i);
67 }
Expanded::getOrd
const T & getOrd(int j) const
Get an element of a single expansion.
Definition: Expanded.h:694
RGEvolutorNew::getEvol
const Expanded< gslpp::matrix< double > > & getEvol() const
Definition: RGEvolutorNew.cpp:37
gslpp::matrix< double >::assign
void assign(const size_t &i, const size_t &j, const double &a)
Definition: gslpp_matrix_double.cpp:108
gslpp::matrix< double >
A class for constructing and defining operations on real matrices.
Definition: gslpp_matrix_double.h:48
QED0
Definition: OrderScheme.h:83
RGEvolutorNew::setEvol
void setEvol(unsigned int i, unsigned int j, double x, qcd_orders order_i, qed_orders order_qed=QED0)
Definition: RGEvolutorNew.cpp:15
RGEvolutorNew::setMu
void setMu(double mu)
Sets the lower scale for the running of the Wilson Coefficients.
Definition: RGEvolutorNew.cpp:59
qcd_orders
qcd_orders
Definition: OrderScheme.h:65
RGEvolutorNew::M
double M
Definition: RGEvolutorNew.h:107
RGEvolutorNew::getM
double getM() const
Retrieve the upper scale of the Wilson Coefficients.
Definition: RGEvolutorNew.cpp:42
WilsonTemplateNew< gslpp::matrix< double > >::size
unsigned int size
Definition: WilsonTemplateNew.h:119
RGEvolutorNew.h
RGEvolutorNew::setM
void setM(double M)
Sets the upper scale for the running of the Wilson Coefficients.
Definition: RGEvolutorNew.cpp:54
gslpp::matrix
A base class for defining operations on matrices, both real and complex.
Definition: gslpp_matrix_base.h:21
WilsonTemplateNew< gslpp::matrix< double > >::getWilson
Expanded< gslpp::matrix< double > > getWilson() const
Definition: WilsonTemplateNew.h:101
WilsonTemplateNew< gslpp::matrix< double > >::order_qed
qed_orders order_qed
Definition: WilsonTemplateNew.h:123
WilsonTemplateNew< gslpp::matrix< double > >::wilson
Expanded< gslpp::matrix< double > > wilson
Definition: WilsonTemplateNew.h:116
WilsonTemplateNew< gslpp::matrix< double > >::order_qcd
qcd_orders order_qcd
Definition: WilsonTemplateNew.h:122
WilsonTemplateNew
Definition: WilsonTemplateNew.h:27
schemes
schemes
An enum type for regularization schemes.
Definition: OrderScheme.h:19
qed_orders
qed_orders
Definition: OrderScheme.h:81
Expanded
A template class for Taylor double expansion of several objects.
Definition: Expanded.h:55
WilsonTemplateNew< gslpp::matrix< double > >::setWilson
void setWilson(const gslpp::matrix< double > &v, qcd_orders order_qcd_i, qed_orders order_qed_i=QED0)
Definition: WilsonTemplateNew.h:105
Expanded::setOrd
void setOrd(int j, T value)
Set an element of a single expansion.
Definition: Expanded.h:713
QCD0
Definition: OrderScheme.h:67
WilsonTemplateNew< gslpp::matrix< double > >::mu
double mu
Definition: WilsonTemplateNew.h:120
WilsonTemplateNew::setMu
void setMu(double mu)
Definition: WilsonTemplateNew.h:73
RGEvolutorNew::Evol
const gslpp::matrix< double > & Evol(qcd_orders order_qcd, qed_orders order_qed=QED0) const
Evolution matrix set at a fixed order of Electroweak coupling.
Definition: RGEvolutorNew.cpp:64
RGEvolutorNew::RGEvolutorNew
RGEvolutorNew(unsigned int dim, schemes scheme, qcd_orders order_qcd_i, qed_orders order_qed_i=QED0)
constructor
Definition: RGEvolutorNew.cpp:10
RGEvolutorNew::setScales
void setScales(double mu, double M)
Sets the upper and lower scale for the running of the Wilson Coefficients.
Definition: RGEvolutorNew.cpp:47
gslpp
Complex number, vector and matrix manipulation using GSL.
Definition: gslpp_complex.cpp:16