BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtGammaMatrix Class Reference

#include <EvtGammaMatrix.hh>

Public Member Functions

 EvtGammaMatrix ()
virtual ~EvtGammaMatrix ()
 EvtGammaMatrix (const EvtGammaMatrix &gm)
EvtGammaMatrixoperator= (const EvtGammaMatrix &gm)
void init ()
EvtGammaMatrixoperator+= (const EvtGammaMatrix &g)
EvtGammaMatrixoperator-= (const EvtGammaMatrix &g)
EvtGammaMatrixoperator*= (const EvtGammaMatrix &g)

Static Public Member Functions

static const EvtGammaMatrixg0 ()
static const EvtGammaMatrixg1 ()
static const EvtGammaMatrixg2 ()
static const EvtGammaMatrixg3 ()
static const EvtGammaMatrixg5 ()
static const EvtGammaMatrixid ()
static const EvtGammaMatrixva0 ()
static const EvtGammaMatrixva1 ()
static const EvtGammaMatrixva2 ()
static const EvtGammaMatrixva3 ()
static const EvtGammaMatrixv0 ()
static const EvtGammaMatrixv1 ()
static const EvtGammaMatrixv2 ()
static const EvtGammaMatrixv3 ()
static const EvtGammaMatrixsigmaUpper (unsigned int mu, unsigned int nu)
static const EvtGammaMatrixsigmaLower (unsigned int mu, unsigned int nu)

Friends

EvtGammaMatrix operator* (const EvtComplex &c, const EvtGammaMatrix &g)
EvtGammaMatrix operator* (const EvtGammaMatrix &g, const EvtComplex &c)
EvtGammaMatrix operator/ (const EvtGammaMatrix &g, const double d)
EvtDiracSpinor operator* (const EvtGammaMatrix &g, const EvtDiracSpinor &d)
EvtComplex operator* (const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
EvtGammaMatrix operator+ (const EvtGammaMatrix &g1, const EvtGammaMatrix &g2)
EvtGammaMatrix operator- (const EvtGammaMatrix &g1, const EvtGammaMatrix &g2)
EvtGammaMatrix operator* (const EvtGammaMatrix &g1, const EvtGammaMatrix &g2)
std::ostream & operator<< (std::ostream &s, const EvtGammaMatrix &v)
EvtDiracSpinor EvtDiracSpinor::adjoint () const

Detailed Description

Definition at line 43 of file EvtGammaMatrix.hh.

Constructor & Destructor Documentation

◆ EvtGammaMatrix() [1/2]

EvtGammaMatrix::EvtGammaMatrix ( )

Definition at line 34 of file EvtGammaMatrix.cc.

34 {
35 int i, j;
36
37 for ( i = 0; i < 4; i++ )
38 {
39 for ( j = 0; j < 4; j++ ) { gamma[i][j] = EvtComplex( 0.0, 0.0 ); }
40 }
41}

Referenced by EvtDiracSpinor::adjoint, EvtGammaMatrix(), g0(), g1(), g2(), g3(), g5(), id(), operator*, operator*, operator*, operator*, operator*=(), operator+, operator+=(), operator-, operator-=(), operator/, operator<<, operator=(), sigmaLower(), sigmaUpper(), v0(), v1(), v2(), v3(), va0(), va1(), va2(), and va3().

◆ ~EvtGammaMatrix()

EvtGammaMatrix::~EvtGammaMatrix ( )
virtual

Definition at line 81 of file EvtGammaMatrix.cc.

81{}

◆ EvtGammaMatrix() [2/2]

EvtGammaMatrix::EvtGammaMatrix ( const EvtGammaMatrix & gm)

Definition at line 72 of file EvtGammaMatrix.cc.

72 {
73 int i, j;
74
75 for ( i = 0; i < 4; i++ )
76 {
77 for ( j = 0; j < 4; j++ ) { gamma[i][j] = gm.gamma[i][j]; }
78 }
79}

Member Function Documentation

◆ g0()

const EvtGammaMatrix & EvtGammaMatrix::g0 ( )
static

Definition at line 214 of file EvtGammaMatrix.cc.

214 {
215
216 static EvtGammaMatrix g;
217 static int first = 1;
218
219 if ( first )
220 {
221
222 first = 0;
223
224 int i, j;
225
226 for ( i = 0; i < 4; i++ )
227 {
228 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] = EvtComplex( 0.0, 0.0 ); }
229 }
230
231 g.gamma[0][0] = EvtComplex( 1.0, 0.0 );
232 g.gamma[1][1] = EvtComplex( 1.0, 0.0 );
233 g.gamma[2][2] = EvtComplex( -1.0, 0.0 );
234 g.gamma[3][3] = EvtComplex( -1.0, 0.0 );
235 }
236
237 return g;
238}
Index first(Pair i)

Referenced by EvtDiracSpinor::adjoint(), EvtSemiLeptonicBaryonAmp::CalcAmp(), EvtBsquark::decay(), EvtDiracSpinor::EvtLeptonPCurrent, EvtDiracSpinor::EvtLeptonSCurrent, EvtDiracSpinor::EvtLeptonTCurrent, EvtDiracSpinor::EvtLeptonTg5Current, sigmaLower(), sigmaUpper(), and slash().

◆ g1()

const EvtGammaMatrix & EvtGammaMatrix::g1 ( )
static

Definition at line 240 of file EvtGammaMatrix.cc.

240 {
241
242 static EvtGammaMatrix g;
243 static int first = 1;
244
245 if ( first )
246 {
247 first = 0;
248 int i, j;
249
250 for ( i = 0; i < 4; i++ )
251 {
252 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] = EvtComplex( 0.0, 0.0 ); }
253 }
254
255 g.gamma[0][3] = EvtComplex( 1.0, 0.0 );
256 g.gamma[1][2] = EvtComplex( 1.0, 0.0 );
257 g.gamma[2][1] = EvtComplex( -1.0, 0.0 );
258 g.gamma[3][0] = EvtComplex( -1.0, 0.0 );
259 }
260
261 return g;
262}

Referenced by EvtSemiLeptonicBaryonAmp::CalcAmp(), EvtBsquark::decay(), EvtDiracSpinor::EvtLeptonTCurrent, EvtDiracSpinor::EvtLeptonTg5Current, operator*, operator+, operator-, sigmaLower(), sigmaUpper(), and slash().

◆ g2()

const EvtGammaMatrix & EvtGammaMatrix::g2 ( )
static

Definition at line 264 of file EvtGammaMatrix.cc.

264 {
265
266 static EvtGammaMatrix g;
267 static int first = 1;
268
269 if ( first )
270 {
271 first = 0;
272 int i, j;
273
274 for ( i = 0; i < 4; i++ )
275 {
276 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] = EvtComplex( 0.0, 0.0 ); }
277 }
278
279 g.gamma[0][3] = EvtComplex( 0.0, -1.0 );
280 g.gamma[1][2] = EvtComplex( 0.0, 1.0 );
281 g.gamma[2][1] = EvtComplex( 0.0, 1.0 );
282 g.gamma[3][0] = EvtComplex( 0.0, -1.0 );
283 }
284
285 return g;
286}

Referenced by EvtSemiLeptonicBaryonAmp::CalcAmp(), EvtBsquark::decay(), EvtDiracSpinor::EvtLeptonTCurrent, EvtDiracSpinor::EvtLeptonTg5Current, operator*, operator+, operator-, sigmaLower(), sigmaUpper(), and slash().

◆ g3()

const EvtGammaMatrix & EvtGammaMatrix::g3 ( )
static

Definition at line 288 of file EvtGammaMatrix.cc.

288 {
289
290 static EvtGammaMatrix g;
291 static int first = 1;
292
293 if ( first )
294 {
295 first = 0;
296 int i, j;
297
298 for ( i = 0; i < 4; i++ )
299 {
300 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] = EvtComplex( 0.0, 0.0 ); }
301 }
302
303 g.gamma[0][2] = EvtComplex( 1.0, 0.0 );
304 g.gamma[1][3] = EvtComplex( -1.0, 0.0 );
305 g.gamma[2][0] = EvtComplex( -1.0, 0.0 );
306 g.gamma[3][1] = EvtComplex( 1.0, 0.0 );
307 }
308
309 return g;
310}

Referenced by EvtSemiLeptonicBaryonAmp::CalcAmp(), EvtBsquark::decay(), EvtDiracSpinor::EvtLeptonTCurrent, EvtDiracSpinor::EvtLeptonTg5Current, sigmaLower(), sigmaUpper(), and slash().

◆ g5()

const EvtGammaMatrix & EvtGammaMatrix::g5 ( )
static

Definition at line 312 of file EvtGammaMatrix.cc.

312 {
313
314 static EvtGammaMatrix g;
315 static int first = 1;
316
317 if ( first )
318 {
319
320 int i, j;
321
322 for ( i = 0; i < 4; i++ )
323 {
324 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] = EvtComplex( 0.0, 0.0 ); }
325 }
326
327 g.gamma[0][2] = EvtComplex( 1.0, 0.0 );
328 g.gamma[1][3] = EvtComplex( 1.0, 0.0 );
329 g.gamma[2][0] = EvtComplex( 1.0, 0.0 );
330 g.gamma[3][1] = EvtComplex( 1.0, 0.0 );
331 }
332
333 return g;
334}

Referenced by EvtSemiLeptonicBaryonAmp::CalcAmp(), EvtBsquark::decay(), EvtLambdaP_BarGamma::decay(), EvtDiracSpinor::EvtLeptonPCurrent, and EvtDiracSpinor::EvtLeptonTg5Current.

◆ id()

const EvtGammaMatrix & EvtGammaMatrix::id ( )
static

Definition at line 432 of file EvtGammaMatrix.cc.

432 {
433
434 static EvtGammaMatrix g;
435 static int first = 1;
436
437 if ( first )
438 {
439
440 int i, j;
441
442 for ( i = 0; i < 4; i++ )
443 {
444 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] = EvtComplex( 0.0, 0.0 ); }
445 }
446
447 g.gamma[0][0] = EvtComplex( 1.0, 0.0 );
448 g.gamma[1][1] = EvtComplex( 1.0, 0.0 );
449 g.gamma[2][2] = EvtComplex( 1.0, 0.0 );
450 g.gamma[3][3] = EvtComplex( 1.0, 0.0 );
451 }
452
453 return g;
454}

Referenced by EvtBsquark::decay(), and EvtLambdaP_BarGamma::decay().

◆ init()

void EvtGammaMatrix::init ( )

Definition at line 93 of file EvtGammaMatrix.cc.

93 {
94 int i, j;
95
96 for ( i = 0; i < 4; i++ )
97 {
98 for ( j = 0; j < 4; j++ ) { gamma[i][j] = EvtComplex( 0.0, 0.0 ); }
99 }
100}

Referenced by sigmaUpper().

◆ operator*=()

EvtGammaMatrix & EvtGammaMatrix::operator*= ( const EvtGammaMatrix & g)

Definition at line 478 of file EvtGammaMatrix.cc.

478 {
479
480 int i, j, k;
481 EvtGammaMatrix temp;
482
483 for ( i = 0; i < 4; i++ )
484 {
485 for ( j = 0; j < 4; j++ )
486 {
487 temp.gamma[i][j] = EvtComplex( 0.0, 0.0 );
488 for ( k = 0; k < 4; k++ ) { temp.gamma[i][j] += gamma[i][k] * g.gamma[k][j]; }
489 }
490 }
491
492 for ( i = 0; i < 4; i++ )
493 {
494 for ( j = 0; j < 4; j++ ) { gamma[i][j] = temp.gamma[i][j]; }
495 }
496
497 return *this;
498}

◆ operator+=()

EvtGammaMatrix & EvtGammaMatrix::operator+= ( const EvtGammaMatrix & g)

Definition at line 456 of file EvtGammaMatrix.cc.

456 {
457
458 int i, j;
459
460 for ( i = 0; i < 4; i++ )
461 {
462 for ( j = 0; j < 4; j++ ) { gamma[i][j] += g.gamma[i][j]; }
463 }
464 return *this;
465}

◆ operator-=()

EvtGammaMatrix & EvtGammaMatrix::operator-= ( const EvtGammaMatrix & g)

Definition at line 467 of file EvtGammaMatrix.cc.

467 {
468
469 int i, j;
470
471 for ( i = 0; i < 4; i++ )
472 {
473 for ( j = 0; j < 4; j++ ) { gamma[i][j] -= g.gamma[i][j]; }
474 }
475 return *this;
476}

◆ operator=()

EvtGammaMatrix & EvtGammaMatrix::operator= ( const EvtGammaMatrix & gm)

Definition at line 83 of file EvtGammaMatrix.cc.

83 {
84 int i, j;
85
86 for ( i = 0; i < 4; i++ )
87 {
88 for ( j = 0; j < 4; j++ ) { gamma[i][j] = gm.gamma[i][j]; }
89 }
90 return *this;
91}

◆ sigmaLower()

const EvtGammaMatrix & EvtGammaMatrix::sigmaLower ( unsigned int mu,
unsigned int nu )
static

Definition at line 567 of file EvtGammaMatrix.cc.

567 {
568 const EvtComplex I( 0, 1 );
569 EvtGammaMatrix a, b;
570 static EvtGammaMatrix sigma[4][4];
571 static bool hasBeenCalled = false;
572 static const EvtTensor4C eta = EvtTensor4C::g();
573
574 if ( !hasBeenCalled ) // has to be initialized only at the first call
575 {
576 // lower index
577 for ( int i = 0; i < 4; ++i )
578 {
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 )
582 {
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 );
586 }
587 }
588 }
589 return sigma[mu][nu];
590}
const DifComplex I
static const EvtGammaMatrix & g0()
static const EvtGammaMatrix & g2()
static const EvtGammaMatrix & g1()
static const EvtGammaMatrix & g3()
const EvtComplex & get(int i, int j) const
static const EvtTensor4C & g()

Referenced by EvtLambdaP_BarGamma::decay().

◆ sigmaUpper()

const EvtGammaMatrix & EvtGammaMatrix::sigmaUpper ( unsigned int mu,
unsigned int nu )
static

Definition at line 527 of file EvtGammaMatrix.cc.

527 {
528 EvtGammaMatrix a, b;
529 static const EvtTensor4C eta = EvtTensor4C::g(); // metric
530 static EvtGammaMatrix sigma[4][4];
531 static bool hasBeenCalled = false;
532 if ( !hasBeenCalled )
533 {
534 EvtComplex I( 0, 1 );
535 for ( int i = 0; i < 4; ++i ) sigma[i][i].init(); // set to 0
536
537 EvtGammaMatrix s01 = I / 2 * ( g0() * g1() - g1() * g0() );
538 EvtGammaMatrix s02 = I / 2 * ( g0() * g2() - g2() * g0() );
539 EvtGammaMatrix s03 = I / 2 * ( g0() * g3() - g3() * g0() );
540 EvtGammaMatrix s12 = I / 2 * ( g1() * g2() - g2() * g1() );
541 EvtGammaMatrix s13 = I / 2 * ( g1() * g3() - g3() * g1() );
542 EvtGammaMatrix s23 = I / 2 * ( g2() * g3() - g3() * g2() );
543 sigma[0][1] = s01;
544 sigma[1][0] = -1 * s01;
545 sigma[0][2] = s02;
546 sigma[2][0] = -1 * s02;
547 sigma[0][3] = s03;
548 sigma[3][0] = -1 * s03;
549 sigma[1][2] = s12;
550 sigma[2][1] = -1 * s12;
551 sigma[1][3] = s13;
552 sigma[3][1] = -1 * s13;
553 sigma[2][3] = s23;
554 sigma[3][2] = -1 * s23;
555 }
556 hasBeenCalled = true;
557
558 if ( mu > 3 || nu > 3 )
559 {
560 report( ERROR, "EvtSigmaTensor" )
561 << "Expected index between 0 and 3, but found " << nu << "!" << endl;
562 assert( 0 );
563 }
564 return sigma[mu][nu];
565}
ostream & report(Severity severity, const char *facility)
Definition EvtReport.cc:34
@ ERROR
Definition EvtReport.hh:49

◆ v0()

const EvtGammaMatrix & EvtGammaMatrix::v0 ( )
static

Definition at line 336 of file EvtGammaMatrix.cc.

336 {
337
338 static EvtGammaMatrix g;
339 static int first = 1;
340
341 if ( first )
342 {
343
344 int i, j;
345
346 for ( i = 0; i < 4; i++ )
347 {
348 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] = EvtComplex( 0.0, 0.0 ); }
349 }
350
351 g.gamma[0][0] = EvtComplex( 1.0, 0.0 );
352 g.gamma[1][1] = EvtComplex( 1.0, 0.0 );
353 g.gamma[2][2] = EvtComplex( 1.0, 0.0 );
354 g.gamma[3][3] = EvtComplex( 1.0, 0.0 );
355 }
356
357 return g;
358}

Referenced by EvtDiracSpinor::EvtLeptonACurrent, and EvtDiracSpinor::EvtLeptonVCurrent.

◆ v1()

const EvtGammaMatrix & EvtGammaMatrix::v1 ( )
static

Definition at line 360 of file EvtGammaMatrix.cc.

360 {
361
362 static EvtGammaMatrix g;
363 static int first = 1;
364
365 if ( first )
366 {
367
368 int i, j;
369
370 for ( i = 0; i < 4; i++ )
371 {
372 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] = EvtComplex( 0.0, 0.0 ); }
373 }
374
375 g.gamma[0][3] = EvtComplex( 1.0, 0.0 );
376 g.gamma[1][2] = EvtComplex( 1.0, 0.0 );
377 g.gamma[2][1] = EvtComplex( 1.0, 0.0 );
378 g.gamma[3][0] = EvtComplex( 1.0, 0.0 );
379 }
380
381 return g;
382}

Referenced by EvtDiracSpinor::EvtLeptonACurrent, and EvtDiracSpinor::EvtLeptonVCurrent.

◆ v2()

const EvtGammaMatrix & EvtGammaMatrix::v2 ( )
static

Definition at line 384 of file EvtGammaMatrix.cc.

384 {
385
386 static EvtGammaMatrix g;
387 static int first = 1;
388
389 if ( first )
390 {
391
392 int i, j;
393
394 for ( i = 0; i < 4; i++ )
395 {
396 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] = EvtComplex( 0.0, 0.0 ); }
397 }
398
399 g.gamma[0][3] = EvtComplex( 0.0, -1.0 );
400 g.gamma[1][2] = EvtComplex( 0.0, 1.0 );
401 g.gamma[2][1] = EvtComplex( 0.0, -1.0 );
402 g.gamma[3][0] = EvtComplex( 0.0, 1.0 );
403 }
404
405 return g;
406}

Referenced by EvtDiracSpinor::EvtLeptonACurrent, and EvtDiracSpinor::EvtLeptonVCurrent.

◆ v3()

const EvtGammaMatrix & EvtGammaMatrix::v3 ( )
static

Definition at line 408 of file EvtGammaMatrix.cc.

408 {
409
410 static EvtGammaMatrix g;
411 static int first = 1;
412
413 if ( first )
414 {
415
416 int i, j;
417
418 for ( i = 0; i < 4; i++ )
419 {
420 for ( j = 0; j < 4; j++ ) { g.gamma[i][j] = EvtComplex( 0.0, 0.0 ); }
421 }
422
423 g.gamma[0][2] = EvtComplex( 1.0, 0.0 );
424 g.gamma[1][3] = EvtComplex( -1.0, 0.0 );
425 g.gamma[2][0] = EvtComplex( 1.0, 0.0 );
426 g.gamma[3][1] = EvtComplex( -1.0, 0.0 );
427 }
428
429 return g;
430}

Referenced by EvtDiracSpinor::EvtLeptonACurrent, and EvtDiracSpinor::EvtLeptonVCurrent.

◆ va0()

const EvtGammaMatrix & EvtGammaMatrix::va0 ( )
static

Definition at line 102 of file EvtGammaMatrix.cc.

102 {
103
104 static EvtGammaMatrix g;
105 static int first = 1;
106
107 if ( first )
108 {
109 g.gamma[0][0] = EvtComplex( 1.0, 0.0 );
110 g.gamma[0][1] = EvtComplex( 0.0, 0.0 );
111 g.gamma[0][2] = EvtComplex( -1.0, 0.0 );
112 g.gamma[0][3] = EvtComplex( 0.0, 0.0 );
113 g.gamma[1][0] = EvtComplex( 0.0, 0.0 );
114 g.gamma[1][1] = EvtComplex( 1.0, 0.0 );
115 g.gamma[1][2] = EvtComplex( 0.0, 0.0 );
116 g.gamma[1][3] = EvtComplex( -1.0, 0.0 );
117 g.gamma[2][0] = EvtComplex( -1.0, 0.0 );
118 g.gamma[2][1] = EvtComplex( 0.0, 0.0 );
119 g.gamma[2][2] = EvtComplex( 1.0, 0.0 );
120 g.gamma[2][3] = EvtComplex( 0.0, 0.0 );
121 g.gamma[3][0] = EvtComplex( 0.0, 0.0 );
122 g.gamma[3][1] = EvtComplex( -1.0, 0.0 );
123 g.gamma[3][2] = EvtComplex( 0.0, 0.0 );
124 g.gamma[3][3] = EvtComplex( 1.0, 0.0 );
125 }
126
127 return g;
128}

Referenced by EvtDiracSpinor::EvtLeptonACurrent.

◆ va1()

const EvtGammaMatrix & EvtGammaMatrix::va1 ( )
static

Definition at line 130 of file EvtGammaMatrix.cc.

130 {
131
132 static EvtGammaMatrix g;
133 static int first = 1;
134
135 if ( first )
136 {
137 g.gamma[0][0] = EvtComplex( 0.0, 0.0 );
138 g.gamma[0][1] = EvtComplex( -1.0, 0.0 );
139 g.gamma[0][2] = EvtComplex( 0.0, 0.0 );
140 g.gamma[0][3] = EvtComplex( 1.0, 0.0 );
141 g.gamma[1][0] = EvtComplex( -1.0, 0.0 );
142 g.gamma[1][1] = EvtComplex( 0.0, 0.0 );
143 g.gamma[1][2] = EvtComplex( 1.0, 0.0 );
144 g.gamma[1][3] = EvtComplex( 0.0, 0.0 );
145 g.gamma[2][0] = EvtComplex( 0.0, 0.0 );
146 g.gamma[2][1] = EvtComplex( 1.0, 0.0 );
147 g.gamma[2][2] = EvtComplex( 0.0, 0.0 );
148 g.gamma[2][3] = EvtComplex( -1.0, 0.0 );
149 g.gamma[3][0] = EvtComplex( 1.0, 0.0 );
150 g.gamma[3][1] = EvtComplex( 0.0, 0.0 );
151 g.gamma[3][2] = EvtComplex( -1.0, 0.0 );
152 g.gamma[3][3] = EvtComplex( 0.0, 0.0 );
153 }
154
155 return g;
156}

Referenced by EvtDiracSpinor::EvtLeptonACurrent.

◆ va2()

const EvtGammaMatrix & EvtGammaMatrix::va2 ( )
static

Definition at line 158 of file EvtGammaMatrix.cc.

158 {
159
160 static EvtGammaMatrix g;
161 static int first = 1;
162
163 if ( first )
164 {
165 g.gamma[0][0] = EvtComplex( 0.0, 0.0 );
166 g.gamma[0][1] = EvtComplex( 0.0, 1.0 );
167 g.gamma[0][2] = EvtComplex( 0.0, 0.0 );
168 g.gamma[0][3] = EvtComplex( 0.0, -1.0 );
169 g.gamma[1][0] = EvtComplex( 0.0, -1.0 );
170 g.gamma[1][1] = EvtComplex( 0.0, 0.0 );
171 g.gamma[1][2] = EvtComplex( 0.0, 1.0 );
172 g.gamma[1][3] = EvtComplex( 0.0, 0.0 );
173 g.gamma[2][0] = EvtComplex( 0.0, 0.0 );
174 g.gamma[2][1] = EvtComplex( 0.0, -1.0 );
175 g.gamma[2][2] = EvtComplex( 0.0, 0.0 );
176 g.gamma[2][3] = EvtComplex( 0.0, 1.0 );
177 g.gamma[3][0] = EvtComplex( 0.0, 1.0 );
178 g.gamma[3][1] = EvtComplex( 0.0, 0.0 );
179 g.gamma[3][2] = EvtComplex( 0.0, -1.0 );
180 g.gamma[3][3] = EvtComplex( 0.0, 0.0 );
181 }
182
183 return g;
184}

Referenced by EvtDiracSpinor::EvtLeptonACurrent.

◆ va3()

const EvtGammaMatrix & EvtGammaMatrix::va3 ( )
static

Definition at line 186 of file EvtGammaMatrix.cc.

186 {
187
188 static EvtGammaMatrix g;
189 static int first = 1;
190
191 if ( first )
192 {
193 g.gamma[0][0] = EvtComplex( -1.0, 0.0 );
194 g.gamma[0][1] = EvtComplex( 0.0, 0.0 );
195 g.gamma[0][2] = EvtComplex( 1.0, 0.0 );
196 g.gamma[0][3] = EvtComplex( 0.0, 0.0 );
197 g.gamma[1][0] = EvtComplex( 0.0, 0.0 );
198 g.gamma[1][1] = EvtComplex( 1.0, 0.0 );
199 g.gamma[1][2] = EvtComplex( 0.0, 0.0 );
200 g.gamma[1][3] = EvtComplex( -1.0, 0.0 );
201 g.gamma[2][0] = EvtComplex( 1.0, 0.0 );
202 g.gamma[2][1] = EvtComplex( 0.0, 0.0 );
203 g.gamma[2][2] = EvtComplex( -1.0, 0.0 );
204 g.gamma[2][3] = EvtComplex( 0.0, 0.0 );
205 g.gamma[3][0] = EvtComplex( 0.0, 0.0 );
206 g.gamma[3][1] = EvtComplex( -1.0, 0.0 );
207 g.gamma[3][2] = EvtComplex( 0.0, 0.0 );
208 g.gamma[3][3] = EvtComplex( 1.0, 0.0 );
209 }
210
211 return g;
212}

Referenced by EvtDiracSpinor::EvtLeptonACurrent.

◆ EvtDiracSpinor::adjoint

◆ operator* [1/5]

EvtGammaMatrix operator* ( const EvtComplex & c,
const EvtGammaMatrix & g )
friend

Definition at line 45 of file EvtGammaMatrix.cc.

45 {
46 int i, j;
47
48 EvtGammaMatrix temp;
49
50 for ( i = 0; i < 4; i++ )
51 {
52 for ( j = 0; j < 4; j++ ) { temp.gamma[i][j] = g.gamma[i][j] * c; }
53 }
54
55 return temp;
56}

◆ operator* [2/5]

EvtComplex operator* ( const EvtDiracSpinor & d,
const EvtDiracSpinor & dp )
friend

Definition at line 515 of file EvtGammaMatrix.cc.

515 {
516
517 int i;
518 EvtComplex temp;
519
520 temp = EvtComplex( 0.0, 0.0 );
521
522 for ( i = 0; i < 4; i++ ) { temp += ::conj( d.get_spinor( i ) ) * dp.get_spinor( i ); }
523 return temp;
524}
Evt3Rank3C conj(const Evt3Rank3C &t2)
const EvtComplex & get_spinor(int i) const

◆ operator* [3/5]

EvtGammaMatrix operator* ( const EvtGammaMatrix & g,
const EvtComplex & c )
friend

Definition at line 43 of file EvtGammaMatrix.cc.

43{ return c * g; }

◆ operator* [4/5]

EvtDiracSpinor operator* ( const EvtGammaMatrix & g,
const EvtDiracSpinor & d )
friend

Definition at line 500 of file EvtGammaMatrix.cc.

500 {
501
502 int i, j;
503 EvtDiracSpinor temp;
504
505 for ( i = 0; i < 4; i++ )
506 {
507 temp.set_spinor( i, EvtComplex( 0.0, 0.0 ) );
508 for ( j = 0; j < 4; j++ )
509 { temp.set_spinor( i, temp.get_spinor( i ) + g.gamma[i][j] * d.get_spinor( j ) ); }
510 }
511
512 return temp;
513}
void set_spinor(int i, const EvtComplex &sp)

◆ operator* [5/5]

EvtGammaMatrix operator* ( const EvtGammaMatrix & g1,
const EvtGammaMatrix & g2 )
friend

Definition at line 98 of file EvtGammaMatrix.hh.

98 {
99 return EvtGammaMatrix( g1 ) *= g2;
100}

◆ operator+

EvtGammaMatrix operator+ ( const EvtGammaMatrix & g1,
const EvtGammaMatrix & g2 )
friend

Definition at line 90 of file EvtGammaMatrix.hh.

90 {
91 return EvtGammaMatrix( g1 ) += g2;
92}

◆ operator-

EvtGammaMatrix operator- ( const EvtGammaMatrix & g1,
const EvtGammaMatrix & g2 )
friend

Definition at line 94 of file EvtGammaMatrix.hh.

94 {
95 return EvtGammaMatrix( g1 ) -= g2;
96}

◆ operator/

EvtGammaMatrix operator/ ( const EvtGammaMatrix & g,
const double d )
friend

Definition at line 102 of file EvtGammaMatrix.hh.

102 {
103 return g * EvtComplex( 1 / d, 0 );
104}

◆ operator<<

std::ostream & operator<< ( std::ostream & s,
const EvtGammaMatrix & v )
friend

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