BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtGammaMatrix.cc File Reference
#include "EvtGammaMatrix.hh"
#include "EvtComplex.hh"
#include "EvtDiracSpinor.hh"
#include "EvtPatches.hh"
#include "EvtReport.hh"
#include "EvtTensor4C.hh"
#include "EvtVector4C.hh"
#include <assert.h>
#include <iostream>
#include <math.h>

Go to the source code of this file.

Functions

EvtGammaMatrix operator* (const EvtGammaMatrix &g, const EvtComplex &c)
EvtGammaMatrix operator* (const EvtComplex &c, const EvtGammaMatrix &g)
ostream & operator<< (ostream &s, const EvtGammaMatrix &g)
EvtDiracSpinor operator* (const EvtGammaMatrix &g, const EvtDiracSpinor &d)
EvtComplex operator* (const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
EvtGammaMatrix slash (const EvtVector4C &p)

Function Documentation

◆ operator*() [1/4]

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

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/4]

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

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/4]

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

Definition at line 43 of file EvtGammaMatrix.cc.

43{ return c * g; }

◆ operator*() [4/4]

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

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<<()

ostream & operator<< ( ostream & s,
const EvtGammaMatrix & g )

Definition at line 58 of file EvtGammaMatrix.cc.

58 {
59
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;
68
69 return s;
70}
XmlRpcServer s

◆ slash()

EvtGammaMatrix slash ( const EvtVector4C & p)

Definition at line 592 of file EvtGammaMatrix.cc.

592 {
593 return EvtGammaMatrix::g0() * p.get( 0 ) + EvtGammaMatrix::g1() * p.get( 1 ) +
594 EvtGammaMatrix::g2() * p.get( 2 ) + EvtGammaMatrix::g3() * p.get( 3 );
595}
static const EvtGammaMatrix & g0()
static const EvtGammaMatrix & g2()
static const EvtGammaMatrix & g1()
static const EvtGammaMatrix & g3()
const EvtComplex & get(int) const

Referenced by EvtLambdaP_BarGamma::decay().