a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
CKM.h
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#ifndef CKM_H
9#define CKM_H
10
11#include <math.h>
12#include "gslpp.h"
13
23class CKM {
24public:
25 CKM();
26
34 void computeCKMwithWolfenstein(double Lambda_v, double A_v, double Rho_v, double Eta_v);
35
44 void computeCKM(double Vus_v, double Vcb_v, double Vub_v, double gamma_v, bool useVud = false);
45
53 void computeCKMfromAngles(double s12_in, double s23_in, double s13_in, double delta_in);
54
59 const gslpp::matrix<gslpp::complex> getCKM() const
60 {
61 return V;
62 }
63
64 // Wolfenstein parameters
65
70 const double getRhoBar() const
71 {
72 return Rho;
73 }
74
79 const double getEtaBar() const
80 {
81 return Eta;
82 }
83
88 const double getLambda() const
89 {
90 return Lambda;
91 }
92
97 const double getA() const
98 {
99 return A;
100 }
101
106 const double getRho() const
107 {
108 return (s13 * cos(delta) / s12 / s23);
109 }
110
115 const double getEta() const
116 {
117 return (s13 * sin(delta) / s12 / s23);
118 }
119
120 // Gilman parameterization
121
126 const double gets12() const
127 {
128 return s12;
129 }
130
135 const double gets13() const
136 {
137 return s13;
138 }
139
144 const double gets23() const
145 {
146 return s23;
147 }
148
153 const double getc12() const
154 {
155 return c12;
156 }
157
162 const double getc23() const
163 {
164 return c23;
165 }
166
171 const double getc13() const
172 {
173 return c13;
174 }
175
180 const double getdelta() const
181 {
182 return delta;
183 }
184
185 // J_CP
186
191 const double getJcp() const
192 {
193 return Eta * pow(A * pow(Lambda, 3), 2);
194 }
195
196 //Complex values of CKM elements
197
202 const gslpp::complex getV_ud() const
203 {
204 return V(0, 0);
205 }
206
211 const gslpp::complex getV_us() const
212 {
213 return V(0, 1);
214 }
215
220 const gslpp::complex getV_ub() const
221 {
222 return V(0, 2);
223 }
224
229 const gslpp::complex getV_cd() const
230 {
231 return V(1, 0);
232 }
233
238 const gslpp::complex getV_cs() const
239 {
240 return V(1, 1);
241 }
242
247 const gslpp::complex getV_cb() const
248 {
249 return V(1, 2);
250 }
251
256 const gslpp::complex getV_td() const
257 {
258 return V(2, 0);
259 }
260
265 const gslpp::complex getV_ts() const
266 {
267 return V(2, 1);
268 }
269
274 const gslpp::complex getV_tb() const
275 {
276 return V(2, 2);
277 }
278
283 const double computeBeta() const;
284
289 const double computeGamma() const;
290
295 const double computeAlpha() const;
296
301 const double computeBetas() const;
302
307 const gslpp::complex computelamt() const;
308
313 const gslpp::complex computelamc() const;
314
319 const gslpp::complex computelamu() const;
320
325 const gslpp::complex computelamt_d() const;
326
331 const gslpp::complex computelamc_d() const;
332
337 const gslpp::complex computelamu_d() const;
338
343 const gslpp::complex computelamt_s() const;
344
349 const gslpp::complex computelamc_s() const;
350
355 const gslpp::complex computelamu_s() const;
356
361 const double computeRt() const;
362
367 const double computeRts() const;
368
373 const double computeRb() const;
374
375private:
377
378 double Rho, Eta, Lambda, A;
379 double s12, s13, s23;
380 double c12, c23, c13;
381 double delta;
382
383 gslpp::matrix<gslpp::complex> V;
384
385};
386
387#endif /* CKM_H */
388
A class for the CKM matrix elements.
Definition: CKM.h:23
const double computeBeta() const
The CKM angle .
Definition: CKM.cpp:120
const double computeAlpha() const
The CKM angle .
Definition: CKM.cpp:130
const double gets12() const
A member for returning the value of the sine of the CKM parameter .
Definition: CKM.h:126
const double computeRb() const
.
Definition: CKM.cpp:199
gslpp::matrix< gslpp::complex > V
The CKM matrix.
Definition: CKM.h:383
const gslpp::complex computelamc() const
The product of the CKM elements .
Definition: CKM.cpp:147
double delta
The CP violating phase in the CKM matrix.
Definition: CKM.h:381
void computeCKMwithWolfenstein(double Lambda_v, double A_v, double Rho_v, double Eta_v)
A set method to calculate the CKM matrix from Wolfenstein parameters.
Definition: CKM.cpp:13
const double getdelta() const
A member for returning the value of the CKM parameter .
Definition: CKM.h:180
const gslpp::complex computelamt_s() const
The product of the CKM elements .
Definition: CKM.cpp:174
double c13
The cosine of the three mixing angles.
Definition: CKM.h:380
const gslpp::complex getV_ud() const
A member for returning the value of the CKM element .
Definition: CKM.h:202
const gslpp::complex getV_us() const
A member for returning the value of the CKM element .
Definition: CKM.h:211
double s13
Definition: CKM.h:379
double Eta
Definition: CKM.h:378
double c12
Definition: CKM.h:380
const double computeGamma() const
The CKM angle .
Definition: CKM.cpp:125
const gslpp::complex getV_cs() const
A member for returning the value of the CKM element .
Definition: CKM.h:238
const gslpp::complex computelamu_s() const
The product of the CKM elements .
Definition: CKM.cpp:184
const gslpp::complex getV_cb() const
A member for returning the value of the CKM element .
Definition: CKM.h:247
const gslpp::complex computelamc_s() const
The product of the CKM elements .
Definition: CKM.cpp:179
const double getc12() const
A member for returning the value of the cosine of the CKM parameter .
Definition: CKM.h:153
const double getJcp() const
A member for returning the value of the Jarlskog determinant.
Definition: CKM.h:191
const double getc23() const
A member for returning the value of the cosine of the CKM parameter .
Definition: CKM.h:162
double A
The Wolfenstein parameters.
Definition: CKM.h:378
const gslpp::complex getV_cd() const
A member for returning the value of the CKM element .
Definition: CKM.h:229
const gslpp::complex getV_td() const
A member for returning the value of the CKM element .
Definition: CKM.h:256
const gslpp::complex computelamu_d() const
The product of the CKM elements .
Definition: CKM.cpp:168
const double gets13() const
A member for returning the value of the sine of the CKM parameter .
Definition: CKM.h:135
const gslpp::complex computelamc_d() const
The product of the CKM elements .
Definition: CKM.cpp:163
const gslpp::complex getV_tb() const
A member for returning the value of the CKM element .
Definition: CKM.h:274
const gslpp::complex getV_ub() const
A member for returning the value of the CKM element .
Definition: CKM.h:220
const gslpp::matrix< gslpp::complex > getCKM() const
A member for returning the CKM matrix.
Definition: CKM.h:59
const double gets23() const
A member for returning the value of the sine of the CKM parameter .
Definition: CKM.h:144
const double getEta() const
A member for returning the value of the Wolfenstein parameter .
Definition: CKM.h:115
const double computeBetas() const
The CKM angle .
Definition: CKM.cpp:135
const double getA() const
A member for returning the value of the Wolfenstein parameter .
Definition: CKM.h:97
const gslpp::complex getV_ts() const
A member for returning the value of the CKM element .
Definition: CKM.h:265
const gslpp::complex computelamu() const
The product of the CKM elements .
Definition: CKM.cpp:152
double Rho
Definition: CKM.h:378
CKM()
Definition: CKM.cpp:10
const gslpp::complex computelamt() const
The product of the CKM elements .
Definition: CKM.cpp:142
const double getRho() const
A member for returning the value of the Wolfenstein parameter .
Definition: CKM.h:106
double s23
The sine of the three mixing angles.
Definition: CKM.h:379
void computeCKMfromAngles()
Definition: CKM.cpp:40
const gslpp::complex computelamt_d() const
The product of the CKM elements .
Definition: CKM.cpp:158
const double computeRt() const
.
Definition: CKM.cpp:190
double c23
Definition: CKM.h:380
double Lambda
Definition: CKM.h:378
double s12
Definition: CKM.h:379
const double getc13() const
A member for returning the value of the cosine of the CKM parameter .
Definition: CKM.h:171
void computeCKM(double Vus_v, double Vcb_v, double Vub_v, double gamma_v, bool useVud=false)
A set method to calculate the CKM matrix from CKM elements and .
Definition: CKM.cpp:86
const double getRhoBar() const
A member for returning the value of the Wolfenstein parameter .
Definition: CKM.h:70
const double getLambda() const
A member for returning the value of the Wolfenstein parameter .
Definition: CKM.h:88
const double computeRts() const
.
Definition: CKM.cpp:194
const double getEtaBar() const
A member for returning the value of the Wolfenstein parameter .
Definition: CKM.h:79