37 for ( i = 0; i < 4; i++ )
39 for ( j = 0; j < 4; j++ ) { gamma[i][j] =
EvtComplex( 0.0, 0.0 ); }
50 for ( i = 0; i < 4; i++ )
52 for ( j = 0; j < 4; j++ ) { temp.gamma[i][j] = g.gamma[i][j] * c; }
60 s <<
"[" << g.gamma[0][0] <<
"," << g.gamma[0][1] <<
"," << g.gamma[0][2] <<
","
61 << g.gamma[0][3] <<
"]" << endl;
62 s <<
"[" << g.gamma[1][0] <<
"," << g.gamma[1][1] <<
"," << g.gamma[1][2] <<
","
63 << g.gamma[1][3] <<
"]" << endl;
64 s <<
"[" << g.gamma[2][0] <<
"," << g.gamma[2][1] <<
"," << g.gamma[2][2] <<
","
65 << g.gamma[2][3] <<
"]" << endl;
66 s <<
"[" << g.gamma[3][0] <<
"," << g.gamma[3][1] <<
"," << g.gamma[3][2] <<
","
67 << g.gamma[3][3] <<
"]" << endl;
75 for ( i = 0; i < 4; i++ )
77 for ( j = 0; j < 4; j++ ) { gamma[i][j] = gm.gamma[i][j]; }
86 for ( i = 0; i < 4; i++ )
88 for ( j = 0; j < 4; j++ ) { gamma[i][j] = gm.gamma[i][j]; }
96 for ( i = 0; i < 4; i++ )
98 for ( j = 0; j < 4; j++ ) { gamma[i][j] =
EvtComplex( 0.0, 0.0 ); }
105 static int first = 1;
133 static int first = 1;
161 static int first = 1;
189 static int first = 1;
217 static int first = 1;
226 for ( i = 0; i < 4; i++ )
228 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] =
EvtComplex( 0.0, 0.0 ); }
243 static int first = 1;
250 for ( i = 0; i < 4; i++ )
252 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] =
EvtComplex( 0.0, 0.0 ); }
267 static int first = 1;
274 for ( i = 0; i < 4; i++ )
276 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] =
EvtComplex( 0.0, 0.0 ); }
291 static int first = 1;
298 for ( i = 0; i < 4; i++ )
300 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] =
EvtComplex( 0.0, 0.0 ); }
315 static int first = 1;
322 for ( i = 0; i < 4; i++ )
324 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] =
EvtComplex( 0.0, 0.0 ); }
339 static int first = 1;
346 for ( i = 0; i < 4; i++ )
348 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] =
EvtComplex( 0.0, 0.0 ); }
363 static int first = 1;
370 for ( i = 0; i < 4; i++ )
372 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] =
EvtComplex( 0.0, 0.0 ); }
387 static int first = 1;
394 for ( i = 0; i < 4; i++ )
396 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] =
EvtComplex( 0.0, 0.0 ); }
411 static int first = 1;
418 for ( i = 0; i < 4; i++ )
420 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] =
EvtComplex( 0.0, 0.0 ); }
435 static int first = 1;
442 for ( i = 0; i < 4; i++ )
444 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] =
EvtComplex( 0.0, 0.0 ); }
460 for ( i = 0; i < 4; i++ )
462 for ( j = 0; j < 4; j++ ) { gamma[i][j] += g.gamma[i][j]; }
471 for ( i = 0; i < 4; i++ )
473 for ( j = 0; j < 4; j++ ) { gamma[i][j] -= g.gamma[i][j]; }
483 for ( i = 0; i < 4; i++ )
485 for ( j = 0; j < 4; j++ )
488 for ( k = 0; k < 4; k++ ) { temp.gamma[i][j] += gamma[i][k] * g.gamma[k][j]; }
492 for ( i = 0; i < 4; i++ )
494 for ( j = 0; j < 4; j++ ) { gamma[i][j] = temp.gamma[i][j]; }
505 for ( i = 0; i < 4; i++ )
508 for ( j = 0; j < 4; j++ )
531 static bool hasBeenCalled =
false;
532 if ( !hasBeenCalled )
535 for (
int i = 0; i < 4; ++i ) sigma[i][i].
init();
544 sigma[1][0] = -1 * s01;
546 sigma[2][0] = -1 * s02;
548 sigma[3][0] = -1 * s03;
550 sigma[2][1] = -1 * s12;
552 sigma[3][1] = -1 * s13;
554 sigma[3][2] = -1 * s23;
556 hasBeenCalled =
true;
558 if ( mu > 3 || nu > 3 )
561 <<
"Expected index between 0 and 3, but found " << nu <<
"!" << endl;
564 return sigma[mu][nu];
571 static bool hasBeenCalled =
false;
574 if ( !hasBeenCalled )
577 for (
int i = 0; i < 4; ++i )
579 a = eta.
get( i, 0 ) *
g0() + eta.
get( i, 1 ) *
g1() + eta.
get( i, 2 ) *
g2() +
580 eta.
get( i, 3 ) *
g3();
581 for (
int j = 0; j < 4; ++j )
583 b = eta.
get( j, 0 ) *
g0() + eta.
get( j, 1 ) *
g1() + eta.
get( j, 2 ) *
g2() +
584 eta.
get( j, 3 ) *
g3();
585 sigma[i][j] =
I / 2 * ( a * b - b * a );
589 return sigma[mu][nu];
Evt3Rank3C conj(const Evt3Rank3C &t2)
ostream & operator<<(ostream &s, const EvtGammaMatrix &g)
EvtGammaMatrix operator*(const EvtGammaMatrix &g, const EvtComplex &c)
EvtGammaMatrix slash(const EvtVector4C &p)
ostream & report(Severity severity, const char *facility)
const EvtComplex & get_spinor(int i) const
void set_spinor(int i, const EvtComplex &sp)
virtual ~EvtGammaMatrix()
static const EvtGammaMatrix & sigmaLower(unsigned int mu, unsigned int nu)
friend EvtGammaMatrix operator*(const EvtComplex &c, const EvtGammaMatrix &g)
static const EvtGammaMatrix & va1()
static const EvtGammaMatrix & v0()
static const EvtGammaMatrix & id()
static const EvtGammaMatrix & sigmaUpper(unsigned int mu, unsigned int nu)
static const EvtGammaMatrix & g0()
static const EvtGammaMatrix & g2()
EvtGammaMatrix & operator-=(const EvtGammaMatrix &g)
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()
EvtGammaMatrix & operator*=(const EvtGammaMatrix &g)
EvtGammaMatrix & operator=(const EvtGammaMatrix &gm)
EvtGammaMatrix & operator+=(const EvtGammaMatrix &g)
const EvtComplex & get(int i, int j) const
static const EvtTensor4C & g()
const EvtComplex & get(int) const