ThePEG
2.2.1
|
The LorentzSpinorBar class implements the storage of a barred LorentzSpinor. More...
#include <LorentzSpinorBar.h>
Public Member Functions | |
Standard constructors. | |
LorentzSpinorBar (SpinorType t=SpinorType::unknown) | |
Default zero constructor, optionally specifying t, the type. | |
LorentzSpinorBar (complex< Value > a, complex< Value > b, complex< Value > c, complex< Value > d, SpinorType t=SpinorType::unknown) | |
Constructor with complex numbers specifying the components, optionally specifying t, the type. | |
template<typename U > | |
LorentzSpinorBar (const LorentzSpinorBar< U > &other) | |
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. | |
Mathematical assignment operators. | |
template<typename ValueB > | |
LorentzSpinorBar< Value > & | operator+= (const LorentzSpinorBar< ValueB > &a) |
template<typename ValueB > | |
LorentzSpinorBar< Value > & | operator-= (const LorentzSpinorBar< ValueB > &a) |
LorentzSpinorBar< Value > & | operator*= (double a) |
LorentzSpinorBar< Value > & | operator/= (double a) |
Transformations. | |
LorentzSpinor< Value > | bar () const |
Return the barred spinor. | |
LorentzSpinorBar | conjugate () const |
Return the conjugated spinor . More... | |
LorentzSpinorBar & | boost (double, double, double) |
Standard Lorentz boost specifying the components of the beta vector. | |
LorentzSpinorBar & | boost (const Boost &) |
Standard Lorentz boost specifying the beta vector. | |
LorentzSpinorBar & | transform (const SpinHalfLorentzRotation &) |
General Lorentz transformation. | |
LorentzSpinorBar & | transform (const LorentzRotation &r) |
General Lorentz transformation. | |
Functions related to type. | |
SpinorType | Type () const |
Return the type of the spinor. | |
Functions to apply the projection operator | |
template<typename ValueB > | |
auto | projectionOperator (const LorentzVector< ValueB > &p, const ValueB &m) const -> LorentzSpinorBar< decltype(m *Value())> |
Apply . | |
LorentzSpinorBar | helicityProjectionOperator (const Complex &gL, const Complex &gR) const |
Apply . | |
Private Attributes | |
SpinorType | _type |
Type of spinor. | |
std::array< complex< Value >, 4 > | _spin |
Storage of the components. | |
The LorentzSpinorBar class implements the storage of a barred LorentzSpinor.
The design is based on that of the LorentzSpinor class where the details of the implemented are discussed in more detail.
Definition at line 35 of file LorentzSpinorBar.h.
LorentzSpinorBar ThePEG::Helicity::LorentzSpinorBar< 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::LorentzSpinorBar< double >::setS4().