a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
WilsonTemplateNew< T > Class Template Reference

#include <WilsonTemplateNew.h>

Detailed Description

template<class T>
class WilsonTemplateNew< T >

Definition at line 27 of file WilsonTemplateNew.h.

Public Member Functions

double getMu () const
 
qcd_orders getOrder_QCD () const
 
qed_orders getOrder_QED () const
 
schemes getScheme () const
 
unsigned int getSize () const
 
const T & getWilson (qcd_orders order_qcd_i, qed_orders order_qed_i=QED0) const
 
void resetWilson ()
 
void setMu (double mu)
 
void setScheme (schemes scheme)
 
 WilsonTemplateNew (unsigned int size_i, schemes scheme_i, qcd_orders order_qcd_i, qed_orders order_qed_i=QED0)
 

Protected Member Functions

Expanded< T > getWilson () const
 
void setWilson (const T &v, qcd_orders order_qcd_i, qed_orders order_qed_i=QED0)
 

Protected Attributes

double mu
 
qcd_orders order_qcd
 
qed_orders order_qed
 
schemes scheme
 
unsigned int size
 
Expanded< T > wilson
 

Constructor & Destructor Documentation

◆ WilsonTemplateNew()

template<class T>
WilsonTemplateNew< T >::WilsonTemplateNew ( unsigned int  size_i,
schemes  scheme_i,
qcd_orders  order_qcd_i,
qed_orders  order_qed_i = QED0 
)
inline

Definition at line 30 of file WilsonTemplateNew.h.

31  {
32  T el(size_i, 0.);
33 
34  size = size_i;
35  scheme = scheme_i;
36  order_qcd = order_qcd_i;
37  order_qed = order_qed_i;
38  mu = -1.;
39 
40  std::vector<std::vector<T> > obj;
41  std::vector<T> tmp;
42  if (order_qcd < FULLQCD1 && order_qed < FULLQED1) {
43  for (int j = 0; j <= order_qed; j++)
44  tmp.push_back(el);
45  for (int i = 0; i <= order_qcd; i++)
46  obj.push_back(tmp);
47  } else
48  throw std::runtime_error("WilsonTemplate::WilsonTemplate(): order_qcd and/or order_qed out of range");
49 
50  wilson = Expanded<T>(obj);
51  };

Member Function Documentation

◆ getMu()

template<class T>
double WilsonTemplateNew< T >::getMu ( ) const
inline

Definition at line 61 of file WilsonTemplateNew.h.

61  {
62  return mu;
63  }

◆ getOrder_QCD()

template<class T>
qcd_orders WilsonTemplateNew< T >::getOrder_QCD ( ) const
inline

Definition at line 53 of file WilsonTemplateNew.h.

53  {
54  return order_qcd;
55  }

◆ getOrder_QED()

template<class T>
qed_orders WilsonTemplateNew< T >::getOrder_QED ( ) const
inline

Definition at line 57 of file WilsonTemplateNew.h.

57  {
58  return order_qed;
59  }

◆ getScheme()

template<class T>
schemes WilsonTemplateNew< T >::getScheme ( ) const
inline

Definition at line 78 of file WilsonTemplateNew.h.

78  {
79  return scheme;
80  }

◆ getSize()

template<class T>
unsigned int WilsonTemplateNew< T >::getSize ( ) const
inline

Definition at line 86 of file WilsonTemplateNew.h.

86  {
87  return size;
88  }

◆ getWilson() [1/2]

template<class T>
Expanded<T> WilsonTemplateNew< T >::getWilson ( ) const
inlineprotected

Definition at line 101 of file WilsonTemplateNew.h.

101  {
102  return wilson;
103  }

◆ getWilson() [2/2]

template<class T>
const T& WilsonTemplateNew< T >::getWilson ( qcd_orders  order_qcd_i,
qed_orders  order_qed_i = QED0 
) const
inline

Definition at line 90 of file WilsonTemplateNew.h.

90  {
91  if (order_qcd_i > order_qcd || order_qed_i > order_qed) {
92  std::stringstream out;
93  out << order_qcd_i << " and " << order_qed_i;
94  throw std::runtime_error("WilsonTemplate::getCoeff(): requested order " + out.str() +
95  " not present in the object");
96  }
97  return wilson.getOrd(order_qcd_i, order_qed_i);
98  };

◆ resetWilson()

template<class T>
void WilsonTemplateNew< T >::resetWilson ( )
inline

Definition at line 65 of file WilsonTemplateNew.h.

65  {
66  T zz(size, 0.);
67 
68  for (int i = LO; i <= order_qcd; i++)
69  for (int j = QED0; j <= order_qed; j++)
70  wilson.setOrd(i, j, zz);
71  }

◆ setMu()

template<class T>
void WilsonTemplateNew< T >::setMu ( double  mu)
inline

Definition at line 73 of file WilsonTemplateNew.h.

73  {
74  this->mu = mu;
75  resetWilson();
76  }

◆ setScheme()

template<class T>
void WilsonTemplateNew< T >::setScheme ( schemes  scheme)
inline

Definition at line 82 of file WilsonTemplateNew.h.

82  {
83  this->scheme = scheme;
84  }

◆ setWilson()

template<class T>
void WilsonTemplateNew< T >::setWilson ( const T &  v,
qcd_orders  order_qcd_i,
qed_orders  order_qed_i = QED0 
)
inlineprotected

Definition at line 105 of file WilsonTemplateNew.h.

105  {
106  if (order_qcd_i > order_qcd || order_qed_i > order_qed) {
107  std::stringstream out;
108  out << order_qcd_i << " and " << order_qed_i;
109  throw std::runtime_error("WilsonTemplate::setElem(): order " + out.str() +
110  " not implemented ");
111  }
112  if (v.size() != size)
113  throw std::runtime_error("WilsonTemplate::setElem(): wrong size");
114 
115  wilson.setOrd(order_qcd_i, order_qed_i, v);
116  };

Member Data Documentation

◆ mu

template<class T>
double WilsonTemplateNew< T >::mu
protected

Definition at line 120 of file WilsonTemplateNew.h.

◆ order_qcd

template<class T>
qcd_orders WilsonTemplateNew< T >::order_qcd
protected

Definition at line 122 of file WilsonTemplateNew.h.

◆ order_qed

template<class T>
qed_orders WilsonTemplateNew< T >::order_qed
protected

Definition at line 123 of file WilsonTemplateNew.h.

◆ scheme

template<class T>
schemes WilsonTemplateNew< T >::scheme
protected

Definition at line 121 of file WilsonTemplateNew.h.

◆ size

template<class T>
unsigned int WilsonTemplateNew< T >::size
protected

Definition at line 119 of file WilsonTemplateNew.h.

◆ wilson

template<class T>
Expanded<T> WilsonTemplateNew< T >::wilson
protected

Definition at line 116 of file WilsonTemplateNew.h.


The documentation for this class was generated from the following file:
WilsonTemplateNew::resetWilson
void resetWilson()
Definition: WilsonTemplateNew.h:65
QED0
Definition: OrderScheme.h:83
LO
Definition: OrderScheme.h:33
WilsonTemplateNew::size
unsigned int size
Definition: WilsonTemplateNew.h:119
WilsonTemplateNew::order_qed
qed_orders order_qed
Definition: WilsonTemplateNew.h:123
FULLQED1
Definition: OrderScheme.h:86
WilsonTemplateNew::wilson
Expanded< T > wilson
Definition: WilsonTemplateNew.h:116
WilsonTemplateNew::order_qcd
qcd_orders order_qcd
Definition: WilsonTemplateNew.h:122
Expanded
A template class for Taylor double expansion of several objects.
Definition: Expanded.h:55
WilsonTemplateNew::scheme
schemes scheme
Definition: WilsonTemplateNew.h:121
WilsonTemplateNew::mu
double mu
Definition: WilsonTemplateNew.h:120
FULLQCD1
Definition: OrderScheme.h:71