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 
23 class CKM {
24 public:
25  CKM();
26 
34  void computeCKMwithWolfenstein(double Lambda_v, double A_v, double Rho_v, double Eta_v);
35 
43  void computeCKM(double Vus_v, double Vcb_v, double Vub_v, double gamma_v);
44 
50  {
51  return V;
52  }
53 
54  // Wolfenstein parameters
55 
60  double getRhoBar() const
61  {
62  return Rho;
63  }
64 
69  double getEtaBar() const
70  {
71  return Eta;
72  }
73 
78  double getLambda() const
79  {
80  return Lambda;
81  }
82 
87  double getA() const
88  {
89  return A;
90  }
91 
96  double getRho() const
97  {
98  return (s13 * cos(delta) / s12 / s23);
99  }
100 
105  double getEta() const
106  {
107  return (s13 * sin(delta) / s12 / s23);
108  }
109 
110  // Gilman parameterization
111 
116  double gets12() const
117  {
118  return s12;
119  }
120 
125  double gets13() const
126  {
127  return s13;
128  }
129 
134  double gets23() const
135  {
136  return s23;
137  }
138 
143  double getc12() const
144  {
145  return c12;
146  }
147 
152  double getc23() const
153  {
154  return c23;
155  }
156 
161  double getc13() const
162  {
163  return c13;
164  }
165 
170  double getdelta() const
171  {
172  return delta;
173  }
174 
175  // J_CP
176 
181  double getJcp() const
182  {
183  return Eta * pow(A * pow(Lambda, 3), 2);
184  }
185 
186  //Complex values of CKM elements
187 
193  {
194  return V(0, 0);
195  }
196 
202  {
203  return V(0, 1);
204  }
205 
211  {
212  return V(0, 2);
213  }
214 
220  {
221  return V(1, 0);
222  }
223 
229  {
230  return V(1, 1);
231  }
232 
238  {
239  return V(1, 2);
240  }
241 
247  {
248  return V(2, 0);
249  }
250 
256  {
257  return V(2, 1);
258  }
259 
265  {
266  return V(2, 2);
267  }
268 
273  double computeBeta() const;
274 
279  double computeGamma() const;
280 
285  double computeAlpha() const;
286 
291  double computeBetas() const;
292 
297  gslpp::complex computelamt() const;
298 
303  gslpp::complex computelamc() const;
304 
309  gslpp::complex computelamu() const;
310 
316 
322 
328 
334 
340 
346 
351  double computeRt() const;
352 
357  double computeRts() const;
358 
363  double computeRb() const;
364 
365 private:
366  void computeCKMfromAngles();
367 
368  double Rho, Eta, Lambda, A;
369  double s12, s13, s23;
370  double c12, c23, c13;
371  double delta;
372 
374 
375 };
376 
377 #endif /* CKM_H */
378 
gslpp::cos
complex cos(const complex &z)
Definition: gslpp_complex.cpp:429
CKM::gets23
double gets23() const
A member for returning the value of the sine of the CKM parameter .
Definition: CKM.h:134
CKM::getV_ud
gslpp::complex getV_ud() const
A member for returning the value of the CKM element .
Definition: CKM.h:192
CKM::computelamu_d
gslpp::complex computelamu_d() const
The product of the CKM elements .
Definition: CKM.cpp:130
CKM::c13
double c13
The cosine of the three mixing angles.
Definition: CKM.h:370
CKM::getV_tb
gslpp::complex getV_tb() const
A member for returning the value of the CKM element .
Definition: CKM.h:264
CKM::computeCKMfromAngles
void computeCKMfromAngles()
Definition: CKM.cpp:40
CKM::getJcp
double getJcp() const
A member for returning the value of the Jarlskog determinant.
Definition: CKM.h:181
CKM::computeBeta
double computeBeta() const
The CKM angle .
Definition: CKM.cpp:82
CKM::getc13
double getc13() const
A member for returning the value of the cosine of the CKM parameter .
Definition: CKM.h:161
CKM::A
double A
The Wolfenstein parameters.
Definition: CKM.h:368
CKM::computeRb
double computeRb() const
.
Definition: CKM.cpp:161
CKM::computelamt_s
gslpp::complex computelamt_s() const
The product of the CKM elements .
Definition: CKM.cpp:136
gslpp::sin
complex sin(const complex &z)
Definition: gslpp_complex.cpp:420
CKM::computeCKMwithWolfenstein
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
CKM::s12
double s12
Definition: CKM.h:369
CKM::s13
double s13
Definition: CKM.h:369
gslpp.h
CKM::getV_cd
gslpp::complex getV_cd() const
A member for returning the value of the CKM element .
Definition: CKM.h:219
CKM::CKM
CKM()
Definition: CKM.cpp:10
CKM::getV_ts
gslpp::complex getV_ts() const
A member for returning the value of the CKM element .
Definition: CKM.h:255
gslpp::complex
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
CKM::getV_cb
gslpp::complex getV_cb() const
A member for returning the value of the CKM element .
Definition: CKM.h:237
CKM::delta
double delta
The CP violating phase in the CKM matrix.
Definition: CKM.h:371
gslpp::matrix< gslpp::complex >
CKM::computelamu
gslpp::complex computelamu() const
The product of the CKM elements .
Definition: CKM.cpp:114
CKM::gets12
double gets12() const
A member for returning the value of the sine of the CKM parameter .
Definition: CKM.h:116
CKM::getc23
double getc23() const
A member for returning the value of the cosine of the CKM parameter .
Definition: CKM.h:152
CKM::getLambda
double getLambda() const
A member for returning the value of the Wolfenstein parameter .
Definition: CKM.h:78
CKM::computelamu_s
gslpp::complex computelamu_s() const
The product of the CKM elements .
Definition: CKM.cpp:146
CKM::computeCKM
void computeCKM(double Vus_v, double Vcb_v, double Vub_v, double gamma_v)
A set method to calculate the CKM matrix from CKM elements and .
Definition: CKM.cpp:55
CKM::computelamc_s
gslpp::complex computelamc_s() const
The product of the CKM elements .
Definition: CKM.cpp:141
CKM::c23
double c23
Definition: CKM.h:370
CKM::computeGamma
double computeGamma() const
The CKM angle .
Definition: CKM.cpp:87
CKM::getCKM
gslpp::matrix< gslpp::complex > getCKM() const
A member for returning the CKM matrix.
Definition: CKM.h:49
CKM::Lambda
double Lambda
Definition: CKM.h:368
CKM::getEta
double getEta() const
A member for returning the value of the Wolfenstein parameter .
Definition: CKM.h:105
gslpp::pow
complex pow(const complex &z1, const complex &z2)
Definition: gslpp_complex.cpp:395
CKM::getc12
double getc12() const
A member for returning the value of the cosine of the CKM parameter .
Definition: CKM.h:143
CKM::V
gslpp::matrix< gslpp::complex > V
The CKM matrix.
Definition: CKM.h:373
CKM::gets13
double gets13() const
A member for returning the value of the sine of the CKM parameter .
Definition: CKM.h:125
CKM::computelamt_d
gslpp::complex computelamt_d() const
The product of the CKM elements .
Definition: CKM.cpp:120
CKM::computeBetas
double computeBetas() const
The CKM angle .
Definition: CKM.cpp:97
CKM::computeRts
double computeRts() const
.
Definition: CKM.cpp:156
CKM::computeRt
double computeRt() const
.
Definition: CKM.cpp:152
CKM::getRhoBar
double getRhoBar() const
A member for returning the value of the Wolfenstein parameter .
Definition: CKM.h:60
CKM::getRho
double getRho() const
A member for returning the value of the Wolfenstein parameter .
Definition: CKM.h:96
CKM::c12
double c12
Definition: CKM.h:370
CKM::getEtaBar
double getEtaBar() const
A member for returning the value of the Wolfenstein parameter .
Definition: CKM.h:69
CKM::getV_cs
gslpp::complex getV_cs() const
A member for returning the value of the CKM element .
Definition: CKM.h:228
CKM::getdelta
double getdelta() const
A member for returning the value of the CKM parameter .
Definition: CKM.h:170
CKM::getV_us
gslpp::complex getV_us() const
A member for returning the value of the CKM element .
Definition: CKM.h:201
CKM::getV_ub
gslpp::complex getV_ub() const
A member for returning the value of the CKM element .
Definition: CKM.h:210
CKM
A class for the CKM matrix elements.
Definition: CKM.h:23
CKM::getA
double getA() const
A member for returning the value of the Wolfenstein parameter .
Definition: CKM.h:87
CKM::computeAlpha
double computeAlpha() const
The CKM angle .
Definition: CKM.cpp:92
CKM::computelamt
gslpp::complex computelamt() const
The product of the CKM elements .
Definition: CKM.cpp:104
CKM::Eta
double Eta
Definition: CKM.h:368
CKM::getV_td
gslpp::complex getV_td() const
A member for returning the value of the CKM element .
Definition: CKM.h:246
CKM::s23
double s23
The sine of the three mixing angles.
Definition: CKM.h:369
CKM::computelamc
gslpp::complex computelamc() const
The product of the CKM elements .
Definition: CKM.cpp:109
CKM::Rho
double Rho
Definition: CKM.h:368
CKM::computelamc_d
gslpp::complex computelamc_d() const
The product of the CKM elements .
Definition: CKM.cpp:125