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 };
@ LO
Definition: OrderScheme.h:34
@ LO_QED
Definition: OrderScheme.h:58
@ NO_QED
Definition: OrderScheme.h:57
T * elem[MAXORDER_QED+1]
unsigned int size
orders_qed order_qed
orders_qed
An enum type for orders in electroweak.
Definition: OrderScheme.h:56

◆ WilsonTemplate() [2/2]

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

Definition at line 25 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 }
virtual void resetCoefficient()

◆ 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: