ThePEG 2.3.0
|
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 \(u_c=C\bar{u}^T\). | |
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 \(p\!\!\!\!\!\not\,\,\,+m\). | |
LorentzSpinorBar | helicityProjectionOperator (const Complex &gL, const Complex &gR) const |
Apply \(g^LP_L+g^RP_R\). | |
Functions to apply the slash operator | |
SpinorType | _type |
Type of spinor. | |
std::array< complex< Value >, 4 > | _spin |
Storage of the components. | |
template<typename ValueB > | |
auto | slash (const LorentzVector< ValueB > &p) const -> LorentzSpinorBar< decltype(p.t() *Value())> |
Apply \(p\!\!\!\!\!\not\). | |
template<typename ValueB > | |
auto | slash (const LorentzVector< complex< ValueB > > &p) const -> LorentzSpinor< decltype(ValueB() *Value())> |
Apply \(p\!\!\!\!\!\not\). | |
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.
|
inline |
Default zero constructor, optionally specifying t, the type.
Definition at line 43 of file LorentzSpinorBar.h.
|
inline |
Constructor with complex numbers specifying the components, optionally specifying t, the type.
Definition at line 49 of file LorentzSpinorBar.h.
|
inline |
Definition at line 55 of file LorentzSpinorBar.h.
LorentzSpinorBar ThePEG::Helicity::LorentzSpinorBar< Value >::conjugate | ( | ) | const |
Return the conjugated spinor \(u_c=C\bar{u}^T\).
This operation transforms u-spinors to v-spinors and vice-versa and is required when dealing with majorana particles.
|
inline |
Apply \(g^LP_L+g^RP_R\).
Definition at line 236 of file LorentzSpinorBar.h.
References ThePEG::Helicity::LorentzSpinorBar< Value >::setS1(), ThePEG::Helicity::LorentzSpinorBar< Value >::setS2(), ThePEG::Helicity::LorentzSpinorBar< Value >::setS3(), and ThePEG::Helicity::LorentzSpinorBar< Value >::setS4().
|
inline |
Set components by index.
Definition at line 81 of file LorentzSpinorBar.h.
|
inline |
Subscript operator to return spinor components.
Definition at line 73 of file LorentzSpinorBar.h.
|
inline |
Definition at line 149 of file LorentzSpinorBar.h.
|
inline |
Definition at line 138 of file LorentzSpinorBar.h.
|
inline |
Definition at line 144 of file LorentzSpinorBar.h.
|
inline |
Definition at line 154 of file LorentzSpinorBar.h.
|
inline |
Set components by index.
Definition at line 89 of file LorentzSpinorBar.h.
|
inline |
Subscript operator to return spinor components.
Definition at line 65 of file LorentzSpinorBar.h.
|
inline |
Apply \(p\!\!\!\!\!\not\,\,\,+m\).
Definition at line 214 of file LorentzSpinorBar.h.
|
inline |
Get first component.
Definition at line 97 of file LorentzSpinorBar.h.
Referenced by ThePEG::Helicity::SpinorBarWaveFunction::s1().
|
inline |
Get second component.
Definition at line 102 of file LorentzSpinorBar.h.
Referenced by ThePEG::Helicity::SpinorBarWaveFunction::s2().
|
inline |
Get third component.
Definition at line 107 of file LorentzSpinorBar.h.
Referenced by ThePEG::Helicity::SpinorBarWaveFunction::s3().
|
inline |
Get fourth component.
Definition at line 112 of file LorentzSpinorBar.h.
Referenced by ThePEG::Helicity::SpinorBarWaveFunction::s4().
|
inline |
Set first component.
Definition at line 117 of file LorentzSpinorBar.h.
Referenced by ThePEG::Helicity::LorentzSpinorBar< Value >::helicityProjectionOperator().
|
inline |
Set second component.
Definition at line 122 of file LorentzSpinorBar.h.
Referenced by ThePEG::Helicity::LorentzSpinorBar< Value >::helicityProjectionOperator().
|
inline |
Set third component.
Definition at line 127 of file LorentzSpinorBar.h.
Referenced by ThePEG::Helicity::LorentzSpinorBar< Value >::helicityProjectionOperator().
|
inline |
Set fourth component.
Definition at line 132 of file LorentzSpinorBar.h.
Referenced by ThePEG::Helicity::LorentzSpinorBar< Value >::helicityProjectionOperator().
|
inline |
Apply \(p\!\!\!\!\!\not\).
Definition at line 272 of file LorentzSpinorBar.h.
|
inline |
Apply \(p\!\!\!\!\!\not\).
Definition at line 252 of file LorentzSpinorBar.h.
|
inline |
General Lorentz transformation.
Definition at line 192 of file LorentzSpinorBar.h.
References ThePEG::LorentzRotation::half().
|
inline |
Return the type of the spinor.
Definition at line 203 of file LorentzSpinorBar.h.
Referenced by ThePEG::Helicity::SpinorBarWaveFunction::dimensionedWf().
|
private |
Storage of the components.
Definition at line 298 of file LorentzSpinorBar.h.
|
private |
Type of spinor.
Definition at line 293 of file LorentzSpinorBar.h.