flavour
BGLmodels::Mixes Class Reference

definition of the couplings for the different BGL models More...

#include <Formulas.h>

Collaboration diagram for BGLmodels::Mixes:

Public Member Functions

 Mixes (ex tanb0, ex cp0, int genL=2, int genQ=2, int lup=0, int qup=0, int mssm=0)
 
ex mass (const Fermion &f) const
 
double massnum (const Fermion &f) const
 
void appendtolst (lst &reps) const
 

Public Attributes

lst reps
 
vector< MatrixV
 
multivector< Matrix, 2 > M
 
multivector< Matrix, 2 > N
 
multivector< Matrix, 2 > VN
 
multivector< Matrix, 2 > N_
 
multivector< Matrix, 2 > VN_
 
lst replacements
 
ex cp
 
ex tanb
 

Detailed Description

definition of the couplings for the different BGL models

Definition at line 105 of file Formulas.h.

Constructor & Destructor Documentation

BGLmodels::Mixes::Mixes ( ex  tanb0,
ex  cp0,
int  genL = 2,
int  genQ = 2,
int  lup = 0,
int  qup = 0,
int  mssm = 0 
)
inline

Definition at line 108 of file Formulas.h.

References std::Matrix::conjugate(), BGLmodels::iDown, BGLmodels::iUp, BGLmodels::tLepton, and BGLmodels::tQuark.

108  :M(Matrix(),2,2),N(Matrix(),2,2),VN(Matrix(),2,2),N_(Matrix(),2,2),VN_(Matrix(),2,2),cp(cp0)
109  {
110  tanb=tanb0;
111  M[tLepton][iDown]=Matrix(possymbol("m_e"),possymbol("m_\\mu"),possymbol("m_\\tau"));
112  M[tQuark][iUp]=Matrix(possymbol("m_u"),possymbol("m_c"),possymbol("m_t"));
113  M[tQuark][iDown]=Matrix(possymbol("m_d"),possymbol("m_s"),possymbol("m_b"));
114  const char * ln[3]={"1","2","3"};
115  const char * ll[3]={"e","\\mu","\\tau"};
116  const char * lu[3]={"u","c","t"};
117  const char * ld[3]={"d","s","b"};
118 
119  V.push_back(Matrix("U",ln,ll));
120  V.push_back(Matrix("V",lu,ld));
121 
122 
123  int up[2];
124  up[0]=lup;
125  up[1]=qup;
126 
127  vector< Matrix > delta;
128 
129  vector<int> gL(3,0);
130  gL[genL]=1;
131  //Leptons
132  delta.push_back(Matrix(gL[0],gL[1],gL[2]));
133  //Quarks
134  vector<int> gQ(3,0);
135  gQ[genQ]=1;
136  delta.push_back(Matrix(gQ[0],gQ[1],gQ[2]));
137 
138  for(uint i=0;i<2;i++){
139  if(mssm){
140  //Nu
141  N_[i][0]=0;
142  //Nd
143  N_[i][1]=0;
144  //VNd
145  VN_[i][1]=Matrix(tanb)*V[i];
146  //Nu*V
147  VN_[i][0]=Matrix(1/tanb)*V[i];
148  }
149  else if(up[i]){
150  //Nu
151  N_[i][0]=Matrix(tanb)+Matrix(-tanb-1/tanb)*V[i]*delta[i]*V[i].conjugate();
152  //Nd
153  N_[i][1]=Matrix(tanb)+Matrix(-tanb-1/tanb)*delta[i];
154  //VNd
155  VN_[i][1]=Matrix(tanb)*V[i]+Matrix(-tanb-1/tanb)*V[i]*delta[i];
156  //Nu*V
157  VN_[i][0]=Matrix(-1)*(Matrix(tanb)*V[i]+Matrix(-tanb-1/tanb)*V[i]*delta[i]);
158  }else{
159  //Nu
160  N_[i][0]=Matrix(tanb)+Matrix(-tanb-1/tanb)*delta[i];
161  //Nd
162  N_[i][1]=Matrix(tanb)+Matrix(-tanb-1/tanb)*V[i].conjugate()*delta[i]*V[i];
163  //VNd
164  VN_[i][1]=Matrix(tanb)*V[i]+Matrix(-tanb-1/tanb)*delta[i]*V[i];
165  //Nu*V
166  VN_[i][0]=Matrix(-1)*(Matrix(tanb)*V[i]+Matrix(-tanb-1/tanb)*delta[i]*V[i]);
167  }
168 
169  N[i][0]=N_[i][0]*M[i][0];
170  N[i][1]=N_[i][1]*M[i][1];
171  VN[i][1]=VN_[i][1]*M[i][1];
172  VN[i][0]=M[i][0]*VN_[i][0];
173  }
175 
176 
177  }
vector< Matrix > V
Definition: Formulas.h:204
multivector< Matrix, 2 > N_
Definition: Formulas.h:209
multivector< Matrix, 2 > N
Definition: Formulas.h:206
multivector< Matrix, 2 > VN_
Definition: Formulas.h:210
unsigned int uint
Definition: script.cpp:4
multivector< Matrix, 2 > VN
Definition: Formulas.h:207
void appendtolst(lst &reps) const
Definition: Formulas.h:181
multivector< Matrix, 2 > M
Definition: Formulas.h:205

Here is the call graph for this function:

Member Function Documentation

void BGLmodels::Mixes::appendtolst ( lst &  reps) const
inline

Definition at line 181 of file Formulas.h.

181  {//,vector<ex>& var_errors
182  reps.append(M[0][1][0][0]==0.510998910e-3);
183  reps.append(M[0][1][1][1]==105.6583715e-3);
184  reps.append(M[0][1][2][2]==1776.82e-3);
185 
186  reps.append(M[1][0][0][0]==2.4e-3);
187  reps.append(M[1][0][1][1]==1.29);
188  reps.append(M[1][0][2][2]==172.9);
189 
190  reps.append(M[1][1][0][0]==5.3e-3);
191  reps.append(M[1][1][1][1]==95e-3);
192  reps.append(M[1][1][2][2]==4.2);
193 
194  vector< Matrix > Vn;
195  Vn.push_back(Matrix(33.6*M_PI/180,9.11*M_PI/180,40.4*M_PI/180,M_PI/4).conjugate());
196  Vn.push_back(Matrix(13.04*M_PI/180,0.201*M_PI/180,2.38*M_PI/180,1.2));
197  for(uint i=0; i<2;i++)
198  for(uint j=0; j<3;j++)
199  for(uint k=0; k<3;k++)
200  reps.append(V[i][j][k]==Vn[i][j][k]);
201  }
vector< Matrix > V
Definition: Formulas.h:204
unsigned int uint
Definition: script.cpp:4
multivector< Matrix, 2 > M
Definition: Formulas.h:205
ex BGLmodels::Mixes::mass ( const Fermion f) const
inline

Definition at line 178 of file Formulas.h.

References BGLmodels::Fermion::flavour, BGLmodels::Fermion::isospin, and BGLmodels::Fermion::type.

178 {return M[f.type][f.isospin][f.flavour][f.flavour];}
multivector< Matrix, 2 > M
Definition: Formulas.h:205
double BGLmodels::Mixes::massnum ( const Fermion f) const
inline

Definition at line 179 of file Formulas.h.

References BGLmodels::Fermion::flavour, BGLmodels::Fermion::isospin, and BGLmodels::Fermion::type.

179 {return ex_to<numeric>(M[f.type][f.isospin][f.flavour][f.flavour].subs(replacements)).to_double();}
multivector< Matrix, 2 > M
Definition: Formulas.h:205

Member Data Documentation

ex BGLmodels::Mixes::cp

Definition at line 213 of file Formulas.h.

multivector<Matrix,2> BGLmodels::Mixes::M

Definition at line 205 of file Formulas.h.

multivector<Matrix,2> BGLmodels::Mixes::N

Definition at line 206 of file Formulas.h.

multivector<Matrix,2> BGLmodels::Mixes::N_

Definition at line 209 of file Formulas.h.

Referenced by BGLmodels::calcubtosgamma2::calcubtosgamma2().

lst BGLmodels::Mixes::replacements

Definition at line 212 of file Formulas.h.

Referenced by BGLmodels::calcubtosgamma2::calcubtosgamma2().

lst BGLmodels::Mixes::reps

Definition at line 203 of file Formulas.h.

ex BGLmodels::Mixes::tanb

Definition at line 214 of file Formulas.h.

Referenced by BGLmodels::calcubtosgamma2::calcubtosgamma2().

vector< Matrix > BGLmodels::Mixes::V

Definition at line 204 of file Formulas.h.

multivector<Matrix,2> BGLmodels::Mixes::VN

Definition at line 207 of file Formulas.h.

multivector<Matrix,2> BGLmodels::Mixes::VN_

Definition at line 210 of file Formulas.h.

Referenced by BGLmodels::calcubtosgamma2::calcubtosgamma2().


The documentation for this class was generated from the following file: