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

A template class for the Wilson coefficients. More...

#include <WilsonTemplate.h>

Detailed Description

template<class T>
class WilsonTemplate< T >

A template class for the Wilson coefficients.

Author
HEPfit Collaboration

Definition at line 23 of file WilsonTemplate.h.

Public Member Functions

double getMu () const
 
orders getOrder () const
 
orders_qed getOrder_qed () const
 
schemes getScheme () const
 
unsigned int getSize () const
 
virtual void resetCoefficient ()
 
virtual void setMu (double mu)
 
void setScheme (schemes scheme)
 
 WilsonTemplate (const WilsonTemplate< T > &orig)
 
 WilsonTemplate (unsigned int dim, schemes scheme_i, orders order_i, orders_qed order_qed_i=NO_QED)
 
virtual ~WilsonTemplate ()
 

Protected Member Functions

T * Elem (orders order) const
 
T * Elem (orders_qed order_qed) const
 
void setElem (const T &v, orders order_i)
 
void setElem (const T &v, orders_qed order_qed_i)
 

Protected Attributes

T * elem [MAXORDER_QED+1]
 
double mu
 
orders order
 
orders_qed order_qed
 
schemes scheme
 
unsigned int size
 

Constructor & Destructor Documentation

◆ WilsonTemplate() [1/2]

template<class T>
WilsonTemplate< T >::WilsonTemplate ( unsigned int  dim,
schemes  scheme_i,
orders  order_i,
orders_qed  order_qed_i = NO_QED 
)
inline

Definition at line 25 of file WilsonTemplate.h.

27  {
28  size = dim;
29  scheme = scheme_i;
30  order = order_i;
31  order_qed = order_qed_i;
32  mu = -1.;
33 
34  for (int i = LO; i <= MAXORDER; i++) {
35  if (i <= order) elem[i] = new T(size, 0.);
36  else elem[i] = NULL;
37  }
38 
39  elem[orders_qed(NO_QED)] = NULL;
40  //for (int i = LO_QED; i <= NLO_QED; i++){
41  for (int i = LO_QED; i <= MAXORDER_QED; i++) {
42  if (i <= order_qed) elem[i] = new T(size, 0.);
43  else elem[i] = NULL;
44  }
45  };

◆ WilsonTemplate() [2/2]

template<class T>
WilsonTemplate< T >::WilsonTemplate ( const WilsonTemplate< T > &  orig)
inline

Definition at line 47 of file WilsonTemplate.h.

48  {
49  size = orig.size;
50  scheme = orig.scheme;
51  order = orig.order;
52  order_qed = orig.order_qed;
53  mu = orig.mu;
54  for (int i = LO; i <= MAXORDER_QED; i++)
55  if (orig.elem[i]!= NULL) elem[i] = new T(*(orig.elem[i]));
56  else elem[i] = NULL;
57  }

◆ ~WilsonTemplate()

template<class T>
virtual WilsonTemplate< T >::~WilsonTemplate ( )
inlinevirtual

Definition at line 59 of file WilsonTemplate.h.

60  {
61  for (int i = LO; i <= MAXORDER_QED; i++)
62  if (elem[i] != NULL) delete elem[i];
63  };

Member Function Documentation

◆ Elem() [1/2]

template<class T>
T* WilsonTemplate< T >::Elem ( orders  order) const
inlineprotected

Definition at line 121 of file WilsonTemplate.h.

122  {
123  if (order > this->order) {
124  std::stringstream out;
125  out << order;
126  throw std::runtime_error("WilsonTemplate::getElem(): requested order " + out.str() +
127  " not present in the object");
128  }
129  return elem[order];
130  };

◆ Elem() [2/2]

template<class T>
T* WilsonTemplate< T >::Elem ( orders_qed  order_qed) const
inlineprotected

Definition at line 132 of file WilsonTemplate.h.

133  {
134  if ((order_qed > this->order_qed)) {
135  std::stringstream out;
136  out << order_qed;
137  throw std::runtime_error("WilsonTemplate::getElem(): requested order_qed " + out.str() +
138  "not present in the object");
139  }
140  return elem[order_qed];
141  };

◆ getMu()

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

Definition at line 75 of file WilsonTemplate.h.

76  {
77  return mu;
78  }

◆ getOrder()

template<class T>
orders WilsonTemplate< T >::getOrder ( ) const
inline

Definition at line 65 of file WilsonTemplate.h.

66  {
67  return order;
68  }

◆ getOrder_qed()

template<class T>
orders_qed WilsonTemplate< T >::getOrder_qed ( ) const
inline

Definition at line 70 of file WilsonTemplate.h.

71  {
72  return order_qed;
73  }

◆ getScheme()

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

Definition at line 98 of file WilsonTemplate.h.

99  {
100  return scheme;
101  }

◆ getSize()

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

Definition at line 108 of file WilsonTemplate.h.

109  {
110  return size;
111  }

◆ resetCoefficient()

template<class T>
virtual void WilsonTemplate< T >::resetCoefficient ( )
inlinevirtual

Definition at line 80 of file WilsonTemplate.h.

81  {
82  for(int i = LO; i <= order; i++){
83  *(elem[i]) = 0.;
84  }
85  if (order_qed != NO_QED){
86  for(int i = LO_QED; i <= order_qed; i++){
87  *(elem[i]) = 0.;
88  }
89  }
90  }

◆ setElem() [1/2]

template<class T>
void WilsonTemplate< T >::setElem ( const T &  v,
orders  order_i 
)
inlineprotected

Definition at line 143 of file WilsonTemplate.h.

144  {
145  if (order_i > order) {
146  std::stringstream out;
147  out << order_i;
148  throw std::runtime_error("MatchingCondition::setElem(): order " + out.str() +
149  " not implemented ");
150  }
151  *elem[order_i] = v;
152  };

◆ setElem() [2/2]

template<class T>
void WilsonTemplate< T >::setElem ( const T &  v,
orders_qed  order_qed_i 
)
inlineprotected

Definition at line 154 of file WilsonTemplate.h.

155  {
156  if (order_qed_i > order_qed) {
157  std::stringstream out;
158  out << order_qed_i;
159  throw std::runtime_error("MatchingCondition::setElem(): order " + out.str() +
160  " not implemented ");
161  }
162  *elem[order_qed_i] = v;
163  };

◆ setMu()

template<class T>
virtual void WilsonTemplate< T >::setMu ( double  mu)
inlinevirtual

Reimplemented in RGEvolutor.

Definition at line 92 of file WilsonTemplate.h.

93  {
94  this->mu = mu;
96  }

◆ setScheme()

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

Definition at line 103 of file WilsonTemplate.h.

104  {
105  this->scheme = scheme;
106  }

Member Data Documentation

◆ elem

template<class T>
T* WilsonTemplate< T >::elem[MAXORDER_QED+1]
protected

Definition at line 114 of file WilsonTemplate.h.

◆ mu

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

Definition at line 116 of file WilsonTemplate.h.

◆ order

template<class T>
orders WilsonTemplate< T >::order
protected

Definition at line 118 of file WilsonTemplate.h.

◆ order_qed

template<class T>
orders_qed WilsonTemplate< T >::order_qed
protected

Definition at line 119 of file WilsonTemplate.h.

◆ scheme

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

Definition at line 117 of file WilsonTemplate.h.

◆ size

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

Definition at line 115 of file WilsonTemplate.h.


The documentation for this class was generated from the following file:
WilsonTemplate::scheme
schemes scheme
Definition: WilsonTemplate.h:117
WilsonTemplate::order_qed
orders_qed order_qed
Definition: WilsonTemplate.h:119
NO_QED
Definition: OrderScheme.h:49
WilsonTemplate::mu
double mu
Definition: WilsonTemplate.h:116
WilsonTemplate::size
unsigned int size
Definition: WilsonTemplate.h:115
WilsonTemplate::order
orders order
Definition: WilsonTemplate.h:118
LO
Definition: OrderScheme.h:33
LO_QED
Definition: OrderScheme.h:50
orders_qed
orders_qed
An enum type for orders in electroweak.
Definition: OrderScheme.h:47
WilsonTemplate::resetCoefficient
virtual void resetCoefficient()
Definition: WilsonTemplate.h:80
WilsonTemplate::elem
T * elem[MAXORDER_QED+1]
Definition: WilsonTemplate.h:114