Changeset View
Changeset View
Standalone View
Standalone View
EvtGenBase/EvtDiracSpinor.hh
Show First 20 Lines • Show All 56 Lines • ▼ Show 20 Lines | class EvtDiracSpinor final { | ||||
friend EvtComplex operator*( const EvtDiracSpinor& d, | friend EvtComplex operator*( const EvtDiracSpinor& d, | ||||
const EvtDiracSpinor& dp ); | const EvtDiracSpinor& dp ); | ||||
friend std::ostream& operator<<( std::ostream& s, const EvtDiracSpinor& c ); | friend std::ostream& operator<<( std::ostream& s, const EvtDiracSpinor& c ); | ||||
public: | public: | ||||
inline EvtDiracSpinor(); | inline EvtDiracSpinor(); | ||||
EvtDiracSpinor( const EvtComplex& sp0, const EvtComplex& sp1, | inline EvtDiracSpinor( const EvtComplex& sp0, const EvtComplex& sp1, | ||||
const EvtComplex& sp2, const EvtComplex& sp3 ); | const EvtComplex& sp2, const EvtComplex& sp3 ); | ||||
inline EvtDiracSpinor( const EvtDiracSpinor& dspinor ); | inline EvtDiracSpinor( const EvtDiracSpinor& dspinor ); | ||||
inline EvtDiracSpinor& operator=( const EvtDiracSpinor& dspinor ); | inline EvtDiracSpinor& operator=( const EvtDiracSpinor& dspinor ); | ||||
inline EvtDiracSpinor& operator+=( const EvtDiracSpinor& u2 ); | inline EvtDiracSpinor& operator+=( const EvtDiracSpinor& u2 ); | ||||
inline EvtDiracSpinor& operator-=( const EvtDiracSpinor& u2 ); | inline EvtDiracSpinor& operator-=( const EvtDiracSpinor& u2 ); | ||||
void set( const EvtComplex& sp0, const EvtComplex& sp1, | inline void set( const EvtComplex& sp0, const EvtComplex& sp1, | ||||
const EvtComplex& sp2, const EvtComplex& sp3 ); | const EvtComplex& sp2, const EvtComplex& sp3 ); | ||||
void set_spinor( int i, const EvtComplex& sp ); | inline void set_spinor( int i, const EvtComplex& sp ); | ||||
const EvtComplex& get_spinor( int i ) const; | inline EvtComplex get_spinor( int i ) const; | ||||
EvtDiracSpinor conj() const; | EvtDiracSpinor conj() const; | ||||
void applyRotateEuler( double alpha, double beta, double gamma ); | void applyRotateEuler( double alpha, double beta, double gamma ); | ||||
void applyBoostTo( const EvtVector4R& p4 ); | void applyBoostTo( const EvtVector4R& p4 ); | ||||
void applyBoostTo( const EvtVector3R& boost ); | void applyBoostTo( const EvtVector3R& boost ); | ||||
EvtDiracSpinor adjoint() const; | EvtDiracSpinor adjoint() const; | ||||
inline EvtComplex operator[]( int i ) const { return spinor[i]; } | |||||
inline EvtComplex& operator[]( int i ) { return spinor[i]; } | |||||
private: | private: | ||||
EvtComplex spinor[4]; | EvtComplex spinor[4]; | ||||
}; | }; | ||||
void EvtLeptonVandACurrents( EvtVector4C&, EvtVector4C&, const EvtDiracSpinor&, | |||||
const EvtDiracSpinor& ); | |||||
EvtDiracSpinor::EvtDiracSpinor() | EvtDiracSpinor::EvtDiracSpinor() | ||||
{ | { | ||||
spinor[0] = EvtComplex(); | spinor[0] = EvtComplex(); | ||||
spinor[1] = EvtComplex(); | spinor[1] = EvtComplex(); | ||||
spinor[2] = EvtComplex(); | spinor[2] = EvtComplex(); | ||||
spinor[3] = EvtComplex(); | spinor[3] = EvtComplex(); | ||||
} | } | ||||
EvtDiracSpinor::EvtDiracSpinor( const EvtDiracSpinor& dspinor ) | EvtDiracSpinor::EvtDiracSpinor( const EvtDiracSpinor& dspinor ) | ||||
{ | { | ||||
spinor[0] = dspinor.spinor[0]; | spinor[0] = dspinor.spinor[0]; | ||||
spinor[1] = dspinor.spinor[1]; | spinor[1] = dspinor.spinor[1]; | ||||
spinor[2] = dspinor.spinor[2]; | spinor[2] = dspinor.spinor[2]; | ||||
spinor[3] = dspinor.spinor[3]; | spinor[3] = dspinor.spinor[3]; | ||||
} | } | ||||
EvtDiracSpinor::EvtDiracSpinor( const EvtComplex& sp0, const EvtComplex& sp1, | |||||
const EvtComplex& sp2, const EvtComplex& sp3 ) | |||||
{ | |||||
set( sp0, sp1, sp2, sp3 ); | |||||
} | |||||
void EvtDiracSpinor::set( const EvtComplex& sp0, const EvtComplex& sp1, | |||||
const EvtComplex& sp2, const EvtComplex& sp3 ) | |||||
{ | |||||
spinor[0] = sp0; | |||||
spinor[1] = sp1; | |||||
spinor[2] = sp2; | |||||
spinor[3] = sp3; | |||||
} | |||||
void EvtDiracSpinor::set_spinor( int i, const EvtComplex& sp ) | |||||
{ | |||||
spinor[i] = sp; | |||||
} | |||||
EvtComplex EvtDiracSpinor::get_spinor( int i ) const | |||||
{ | |||||
return spinor[i]; | |||||
} | |||||
EvtDiracSpinor& EvtDiracSpinor::operator=( const EvtDiracSpinor& dspinor ) | EvtDiracSpinor& EvtDiracSpinor::operator=( const EvtDiracSpinor& dspinor ) | ||||
{ | { | ||||
spinor[0] = dspinor.spinor[0]; | spinor[0] = dspinor.spinor[0]; | ||||
spinor[1] = dspinor.spinor[1]; | spinor[1] = dspinor.spinor[1]; | ||||
spinor[2] = dspinor.spinor[2]; | spinor[2] = dspinor.spinor[2]; | ||||
spinor[3] = dspinor.spinor[3]; | spinor[3] = dspinor.spinor[3]; | ||||
return *this; | return *this; | ||||
Show All 35 Lines |