43 spinor[0]=sp0;spinor[1]=sp1;spinor[2]=sp2;spinor[3]=sp3;
53 s <<
"["<<sp.spinor[0]<<
","<<sp.spinor[1]<<
","
54 <<sp.spinor[2]<<
","<<sp.spinor[3]<<
"]";
67 double alpha,
double beta,
double gamma){
70 tmp.applyRotateEuler(
alpha,beta,gamma);
109 double bx,by,bz,gamma,b2,
f1,f2;
115 b2=bx*bx+by*by+bz*bz;
123 gamma=1.0/sqrt(1-b2);
125 f1=sqrt((gamma+1.0)/2.0);
126 f2=
f1*gamma/(gamma+1.0);
128 spinorp[0]=
f1*spinor[0]+f2*bz*spinor[2]+
132 spinorp[2]=f2*bz*spinor[0]+f2*
EvtComplex(bx,-by)*spinor[1]+
135 f2*bz*spinor[1]+
f1*spinor[3];
137 spinor[0]=spinorp[0];
138 spinor[1]=spinorp[1];
139 spinor[2]=spinorp[2];
140 spinor[3]=spinorp[3];
150 double cb2=
cos(0.5*beta);
151 double sb2=
sin(0.5*beta);
152 double capg2=
cos(0.5*(
alpha+gamma));
153 double camg2=
cos(0.5*(
alpha-gamma));
154 double sapg2=
sin(0.5*(
alpha+gamma));
155 double samg2=
sin(0.5*(
alpha-gamma));
162 retVal[0]=m11*spinor[0]+m12*spinor[1];
163 retVal[1]=m21*spinor[0]+m22*spinor[1];
164 retVal[2]=m11*spinor[2]+m12*spinor[3];
165 retVal[3]=m21*spinor[2]+m22*spinor[3];
181 for (
int i=0; i<4; i++)
246 temp.
set(0,d*(mat*dp));
249 temp.
set(1,d*(mat*dp));
252 temp.
set(2,d*(mat*dp));
255 temp.
set(3,d*(mat*dp));
310 temp.
set(0,1,i2*(d*(mat01*dp)));
311 temp.
set(1,0,-temp.
get(0,1));
313 temp.
set(0,2,i2*(d*(mat02*dp)));
314 temp.
set(2,0,-temp.
get(0,2));
316 temp.
set(0,3,i2*(d*(mat03*dp)));
317 temp.
set(3,0,-temp.
get(0,3));
319 temp.
set(1,2,i2*(d*(mat12*dp)));
320 temp.
set(2,1,-temp.
get(1,2));
322 temp.
set(1,3,i2*(d*(mat13*dp)));
323 temp.
set(3,1,-temp.
get(1,3));
325 temp.
set(2,3,i2*(d*(mat23*dp)));
326 temp.
set(3,2,-temp.
get(2,3));
357 temp.
set(0,1,i2*(d*(mat01*dp)));
358 temp.
set(1,0,-temp.
get(0,1));
360 temp.
set(0,2,i2*(d*(mat02*dp)));
361 temp.
set(2,0,-temp.
get(0,2));
363 temp.
set(0,3,i2*(d*(mat03*dp)));
364 temp.
set(3,0,-temp.
get(0,3));
366 temp.
set(1,2,i2*(d*(mat12*dp)));
367 temp.
set(2,1,-temp.
get(1,2));
369 temp.
set(1,3,i2*(d*(mat13*dp)));
370 temp.
set(3,1,-temp.
get(1,3));
372 temp.
set(2,3,i2*(d*(mat23*dp)));
373 temp.
set(3,2,-temp.
get(2,3));
380 result.spinor[0] = c*d.spinor[0];
381 result.spinor[1] = c*d.spinor[1];
382 result.spinor[2] = c*d.spinor[2];
383 result.spinor[3] = c*d.spinor[3];
393 for (
int i=0; i<4; ++i)
394 for (
int j=0; j<4; ++j)
395 result.spinor[i] += d.spinor[j] * g0.gamma[i][j];
double sin(const BesAngle a)
double cos(const BesAngle a)
Evt3Rank3C conj(const Evt3Rank3C &t2)
EvtDiracSpinor operator*(const EvtComplex &c, const EvtDiracSpinor &d)
EvtVector4C EvtLeptonVACurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
EvtTensor4C EvtLeptonTCurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
EvtVector4C EvtLeptonACurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
EvtTensor4C EvtLeptonTg5Current(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
EvtDiracSpinor rotateEuler(const EvtDiracSpinor &sp, double alpha, double beta, double gamma)
EvtComplex EvtLeptonSCurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
EvtVector4C EvtLeptonVCurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
ostream & operator<<(ostream &s, const EvtDiracSpinor &sp)
EvtComplex EvtLeptonPCurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
EvtDiracSpinor boostTo(const EvtDiracSpinor &sp, const EvtVector4R p4)
EvtDiracSpinor conj() const
const EvtComplex & get_spinor(int i) const
void set(const EvtComplex &sp0, const EvtComplex &sp1, const EvtComplex &sp2, const EvtComplex &sp3)
EvtDiracSpinor adjoint() const
void applyRotateEuler(double alpha, double beta, double gamma)
void applyBoostTo(const EvtVector4R &p4)
virtual ~EvtDiracSpinor()
void set_spinor(int i, const EvtComplex &sp)
static const EvtGammaMatrix & va1()
static const EvtGammaMatrix & v0()
static const EvtGammaMatrix & g0()
static const EvtGammaMatrix & g2()
static const EvtGammaMatrix & g1()
static const EvtGammaMatrix & va3()
static const EvtGammaMatrix & g3()
static const EvtGammaMatrix & v2()
static const EvtGammaMatrix & va0()
static const EvtGammaMatrix & va2()
static const EvtGammaMatrix & g5()
static const EvtGammaMatrix & v1()
static const EvtGammaMatrix & v3()
void set(int i, int j, const EvtComplex &c)
const EvtComplex & get(int i, int j) const
void set(int, const EvtComplex &)
double double double * p4