20 gslpp::complex num(
Rho,
Eta);
21 num = num * sqrt(1. - pow(
A, 2.) * pow(
Lambda, 4.));
22 gslpp::complex den = sqrt(1. - pow(
Lambda, 2.)) * gslpp::complex(1. - pow(
A, 2.) * pow(
Lambda, 4.) *
Rho, -pow(
A, 2.) * pow(
Lambda, 4.) *
Eta);
23 gslpp::complex ratio = num / den;
25 double rho_nb = ratio.real();
26 double eta_nb = ratio.imag();
30 s13 = (gslpp::complex(
A * pow(
Lambda, 3.) * rho_nb, -
A * pow(
Lambda, 3.) * eta_nb)).abs();
31 delta = -(gslpp::complex(
A * pow(
Lambda, 3.) * rho_nb, -
A * pow(
Lambda, 3.) * eta_nb)).arg();
44 V.assign(0, 2, gslpp::complex(
s13, -
delta,
true));
68 V.assign(0, 2, gslpp::complex(
s13, -
delta,
true));
81 gslpp::complex Rb =
V(0, 0) *
V(0, 2).conjugate() / (
V(1, 0) *
V(1, 2).conjugate());
86void CKM::computeCKM(
double Vus_v,
double Vcb_v,
double Vub_v,
double gamma_v,
bool useVud)
103 if ( fabs(gamma_v) < 1.e-10 )
106 delta = 2. * atan((1. + sqrt(1. - (a * a - 1.) * pow(tan(gamma_v), 2.))*(cos(gamma_v) < 0. ? 1. : (-1.))) / (a - 1.) / tan(gamma_v));
113 gslpp::complex Rb =
V(0, 0) *
V(0, 2).conjugate() / (
V(1, 0) *
V(1, 2).conjugate());
122 return (-
V(1, 0)*
V(1, 2).conjugate()/(
V(2, 0)*
V(2, 2).conjugate())).arg();
127 return (-
V(0, 0)*
V(0, 2).conjugate()/(
V(1, 0)*
V(1, 2).conjugate())).arg();
132 return (-
V(2, 0)*
V(2, 2).conjugate()/(
V(0, 0)*
V(0, 2).conjugate())).arg();
137 return (-
V(2, 1)*
V(2, 2).conjugate()/(
V(1, 1)*
V(1, 2).conjugate())).arg();
144 return V(2, 0)*
V(2, 1).conjugate();
149 return V(1, 0)*
V(1, 1).conjugate();
154 return V(0, 0)*
V(0, 1).conjugate();
160 return V(2, 0)*
V(2, 2).conjugate();
165 return V(1, 0)*
V(1, 2).conjugate();
170 return V(0, 0)*
V(0, 2).conjugate();
176 return V(2, 1)*
V(2, 2).conjugate();
181 return V(1, 1)*
V(1, 2).conjugate();
186 return V(0, 1)*
V(0, 2).conjugate();
192 return (
V(2, 0)*
V(2, 2).conjugate()/(
V(1, 0)*
V(1, 2).conjugate())).abs();
196 return (
V(2, 1)*
V(2, 2).conjugate()/(
V(1, 1)*
V(1, 2).conjugate())).abs();
201 return (
V(0, 0)*
V(0, 2).conjugate()/(
V(1, 0)*
V(1, 2).conjugate())).abs();
const double computeBeta() const
The CKM angle .
const double computeAlpha() const
The CKM angle .
const double computeRb() const
.
gslpp::matrix< gslpp::complex > V
The CKM matrix.
const gslpp::complex computelamc() const
The product of the CKM elements .
double delta
The CP violating phase in the CKM matrix.
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.
const gslpp::complex computelamt_s() const
The product of the CKM elements .
double c13
The cosine of the three mixing angles.
const double computeGamma() const
The CKM angle .
const gslpp::complex computelamu_s() const
The product of the CKM elements .
const gslpp::complex computelamc_s() const
The product of the CKM elements .
double A
The Wolfenstein parameters.
const gslpp::complex computelamu_d() const
The product of the CKM elements .
const gslpp::complex computelamc_d() const
The product of the CKM elements .
const double computeBetas() const
The CKM angle .
const gslpp::complex computelamu() const
The product of the CKM elements .
const gslpp::complex computelamt() const
The product of the CKM elements .
double s23
The sine of the three mixing angles.
void computeCKMfromAngles()
const gslpp::complex computelamt_d() const
The product of the CKM elements .
const double computeRt() const
.
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 .
const double computeRts() const
.