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
10RGEvolutorNew::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
15void 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
32void 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
37const Expanded<gslpp::matrix<double> >& RGEvolutorNew::getEvol() const
38{
39 return wilson;
40}
41
42double RGEvolutorNew::getM() const
43{
44 return M;
45}
46
47void RGEvolutorNew::setScales(double mu, double M)
48{
49 this->M = M;
51 setEvol(gslpp::matrix<double>::Id(size), QCD0, QED0);
52}
53
54void RGEvolutorNew::setM(double M)
55{
56 setScales(mu, M);
57}
58
59void RGEvolutorNew::setMu(double mu)
60{
61 setScales(mu, M);
62}
63
64const 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}
@ QED0
Definition: OrderScheme.h:91
@ QCD0
Definition: OrderScheme.h:75
RGEvolutorNew(unsigned int dim, schemes scheme, qcd_orders order_qcd_i, qed_orders order_qed_i=QED0)
constructor
const Expanded< gslpp::matrix< double > > & getEvol() const
double getM() const
Retrieve the upper scale of the Wilson Coefficients.
void setScales(double mu, double M)
Sets the upper and lower scale for the running of the Wilson Coefficients.
void setMu(double mu)
Sets the lower scale for the running of the Wilson Coefficients.
void setEvol(unsigned int i, unsigned int j, double x, qcd_orders order_i, qed_orders order_qed=QED0)
void setM(double M)
Sets the upper scale for the running of the Wilson Coefficients.
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.
void setMu(double mu)
void setWilson(const gslpp::matrix< double > &v, qcd_orders order_qcd_i, qed_orders order_qed_i=QED0)
Expanded< gslpp::matrix< double > > getWilson() const
Expanded< gslpp::matrix< double > > wilson
schemes
An enum type for regularization schemes.
Definition: OrderScheme.h:20
qed_orders
An enum type for qed_orders in electroweak.
Definition: OrderScheme.h:90
qcd_orders
An enum type for qcd_orders in QCD.
Definition: OrderScheme.h:74