BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtGammaMatrix.hh File Reference
#include "EvtComplex.hh"
#include "EvtDiracSpinor.hh"
#include <iosfwd>

Go to the source code of this file.

Classes

class  EvtGammaMatrix

Functions

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)
EvtGammaMatrix slash (const EvtVector4C &p)

Function Documentation

◆ operator*() [1/5]

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

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

Definition at line 49 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 )

Definition at line 46 of file EvtGammaMatrix.cc.

43{ return c * g; }

◆ operator*() [4/5]

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

Definition at line 48 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 )
inline

Definition at line 98 of file EvtGammaMatrix.hh.

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

◆ operator+()

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

Definition at line 90 of file EvtGammaMatrix.hh.

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

◆ operator-()

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

Definition at line 94 of file EvtGammaMatrix.hh.

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

◆ operator/()

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

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 )

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