#include <LorentzSpinor.h>
Public Member Functions | |
Standard constructors. | |
LorentzSpinor (SpinorType t=unknown_spinortype) | |
Default zero constructor, optionally specifying t, the type. | |
LorentzSpinor (complex< Value > a, complex< Value > b, complex< Value > c, complex< Value > d, SpinorType s=unknown_spinortype) | |
Constructor with complex numbers specifying the components, optionally specifying s, the type. | |
Access the components. | |
complex< Value > | operator[] (int i) const |
Subscript operator to return spinor components. | |
complex< Value > | operator() (int i) const |
Subscript operator to return spinor components. | |
complex< Value > & | operator() (int i) |
Set components by index. | |
complex< Value > & | operator[] (int i) |
Set components by index. | |
complex< Value > | s1 () const |
Get first component. | |
complex< Value > | s2 () const |
Get second component. | |
complex< Value > | s3 () const |
Get third component. | |
complex< Value > | s4 () const |
Get fourth component. | |
void | setS1 (complex< Value > in) |
Set first component. | |
void | setS2 (complex< Value > in) |
Set second component. | |
void | setS3 (complex< Value > in) |
Set third component. | |
void | setS4 (complex< Value > in) |
Set fourth component. | |
Transformations. | |
LorentzSpinorBar< Value > | bar () const |
Return the barred spinor. | |
LorentzSpinor | conjugate () const |
Return the conjugated spinor . | |
LorentzSpinor & | boost (double, double, double) |
Standard Lorentz boost specifying the components of the beta vector. | |
LorentzSpinor & | boost (const Boost &) |
Standard Lorentz boost specifying the beta vector. | |
LorentzSpinor & | transform (const SpinHalfLorentzRotation &) |
General Lorentz transformation. | |
LorentzSpinor & | transform (const LorentzRotation &r) |
General Lorentz transformation. | |
Functions related to type. | |
SpinorType | Type () const |
Return the type of the spinor. | |
Functions to calculate certain currents. | |
template<typename ValueB> | |
LorentzVector< complex < typename BinaryOpTraits < Value, ValueB >::MulT > > | leftCurrent (const LorentzSpinorBar< ValueB > &fb) const |
Calculate the left-handed current . | |
template<typename ValueB> | |
LorentzVector< complex < typename BinaryOpTraits < Value, ValueB >::MulT > > | rightCurrent (const LorentzSpinorBar< ValueB > &fb) const |
Calculate the right-handed current . | |
template<typename ValueB> | |
LorentzVector< complex < typename BinaryOpTraits < Value, ValueB >::MulT > > | vectorCurrent (const LorentzSpinorBar< ValueB > &fb) const |
Calculate the vector current . | |
template<typename ValueB> | |
LorentzVector< complex < typename BinaryOpTraits < Value, ValueB >::MulT > > | generalCurrent (const LorentzSpinorBar< ValueB > &fb, Complex left, Complex right) const |
Calculate a general current with arbitary left and right couplings, i.e. | |
Functions to calculate certain scalars. | |
template<typename ValueB> | |
complex< typename BinaryOpTraits< Value, ValueB > ::MulT > | leftScalar (const LorentzSpinorBar< ValueB > &fb) const |
Calculate the left-handed scalar . | |
template<typename ValueB> | |
complex< typename BinaryOpTraits< Value, ValueB > ::MulT > | rightScalar (const LorentzSpinorBar< ValueB > &fb) const |
Calculate the right-handed scalar . | |
template<typename ValueB> | |
complex< typename BinaryOpTraits< Value, ValueB > ::MulT > | scalar (const LorentzSpinorBar< ValueB > &fb) const |
Calculate the scalar . | |
template<typename ValueB> | |
complex< typename BinaryOpTraits< Value, ValueB > ::MulT > | pseudoScalar (const LorentzSpinorBar< ValueB > &fb) const |
Calculate the pseudoscalar . | |
template<typename ValueB> | |
complex< typename BinaryOpTraits< Value, ValueB > ::MulT > | generalScalar (const LorentzSpinorBar< ValueB > &fb, Complex left, Complex right) const |
Calculate a general scalar product with arbitary left and right couplings, i.e. | |
Private Attributes | |
SpinorType | _type |
Type of spinor. | |
complex< Value > | _spin [4] |
Storage of the components. |
In addition to storing the components of the spinor, information is stored on the representation of the type of spinor, for example u or v type.
At the moment only one choice of the Dirac matrix representation is supported. For high-energy calculations the choice made by the HELAS collaboration is more efficient for numerical calculations. In this representation
The type of the spinor is also stored using the SpinorType enumeration. There are three types supported u_spinortype, v_spinortype, unknown_spinortype. This information is intended mainly for use in the case of Majorana particles where matrix elements can be calculated with either u or v type spinors and knowledge of which was used will be needed in order to give the correct correlations. The unknown_spinortypee is intended for cases where either the spinor for an off-shell line in a matrix element calculation or the information is genuinely unknown.
The LorentzSpinorBar class is also provided to store the barred spinor.
Definition at line 69 of file LorentzSpinor.h.
LorentzSpinor ThePEG::Helicity::LorentzSpinor< Value >::conjugate | ( | ) | const |
Return the conjugated spinor .
This operation transforms u-spinors to v-spinors and vice-versa and is required when dealing with majorana particles.
Referenced by ThePEG::Helicity::SpinorWaveFunction::conjugate().
LorentzVector<complex<typename BinaryOpTraits<Value,ValueB>::MulT> > ThePEG::Helicity::LorentzSpinor< Value >::leftCurrent | ( | const LorentzSpinorBar< ValueB > & | fb | ) | const [inline] |
Calculate the left-handed current .
fb | The barred spinor. |
Definition at line 225 of file LorentzSpinor.h.
LorentzVector<complex<typename BinaryOpTraits<Value,ValueB>::MulT> > ThePEG::Helicity::LorentzSpinor< Value >::rightCurrent | ( | const LorentzSpinorBar< ValueB > & | fb | ) | const [inline] |
Calculate the right-handed current .
fb | The barred spinor. |
Definition at line 244 of file LorentzSpinor.h.
LorentzVector<complex<typename BinaryOpTraits<Value,ValueB>::MulT> > ThePEG::Helicity::LorentzSpinor< Value >::vectorCurrent | ( | const LorentzSpinorBar< ValueB > & | fb | ) | const [inline] |
Calculate the vector current .
fb | The barred spinor. |
Definition at line 263 of file LorentzSpinor.h.
LorentzVector<complex<typename BinaryOpTraits<Value,ValueB>::MulT> > ThePEG::Helicity::LorentzSpinor< Value >::generalCurrent | ( | const LorentzSpinorBar< ValueB > & | fb, | |
Complex | left, | |||
Complex | right | |||
) | const [inline] |
Calculate a general current with arbitary left and right couplings, i.e.
fb | The barred spinor. | |
left | The left coupling, . | |
right | The right coupling, . |
Definition at line 287 of file LorentzSpinor.h.
complex<typename BinaryOpTraits<Value,ValueB>::MulT> ThePEG::Helicity::LorentzSpinor< Value >::leftScalar | ( | const LorentzSpinorBar< ValueB > & | fb | ) | const [inline] |
Calculate the left-handed scalar .
fb | The barred spinor. |
Definition at line 316 of file LorentzSpinor.h.
complex<typename BinaryOpTraits<Value,ValueB>::MulT> ThePEG::Helicity::LorentzSpinor< Value >::rightScalar | ( | const LorentzSpinorBar< ValueB > & | fb | ) | const [inline] |
Calculate the right-handed scalar .
fb | The barred spinor. |
Definition at line 326 of file LorentzSpinor.h.
complex<typename BinaryOpTraits<Value,ValueB>::MulT> ThePEG::Helicity::LorentzSpinor< Value >::scalar | ( | const LorentzSpinorBar< ValueB > & | fb | ) | const [inline] |
Calculate the scalar .
fb | The barred spinor. |
Definition at line 336 of file LorentzSpinor.h.
complex<typename BinaryOpTraits<Value,ValueB>::MulT> ThePEG::Helicity::LorentzSpinor< Value >::pseudoScalar | ( | const LorentzSpinorBar< ValueB > & | fb | ) | const [inline] |
Calculate the pseudoscalar .
fb | The barred spinor. |
Definition at line 346 of file LorentzSpinor.h.
complex<typename BinaryOpTraits<Value,ValueB>::MulT> ThePEG::Helicity::LorentzSpinor< Value >::generalScalar | ( | const LorentzSpinorBar< ValueB > & | fb, | |
Complex | left, | |||
Complex | right | |||
) | const [inline] |
Calculate a general scalar product with arbitary left and right couplings, i.e.
fb | The barred spinor. | |
left | The left coupling, . | |
right | The right coupling, . |
Definition at line 359 of file LorentzSpinor.h.