ThePEG 2.3.0
|
The LorentzRSSpinor class is designed to store a Rarita-Schwinger spinor for a spin-3/2 particle. More...
#include <LorentzRSSpinor.h>
Public Member Functions | |
Standard constructors. | |
LorentzRSSpinor (SpinorType t=SpinorType::unknown) | |
Default zero constructor, optionally specifying t, the type. | |
LorentzRSSpinor (complex< Value > a1, complex< Value > b1, complex< Value > c1, complex< Value > d1, complex< Value > a2, complex< Value > b2, complex< Value > c2, complex< Value > d2, complex< Value > a3, complex< Value > b3, complex< Value > c3, complex< Value > d3, complex< Value > a4, complex< Value > b4, complex< Value > c4, complex< Value > d4, SpinorType t=SpinorType::unknown) | |
Constructor with complex numbers specifying the components, optionally specifying t, the type. | |
template<typename U > | |
LorentzRSSpinor (const LorentzRSSpinor< U > &other) | |
Access the components. | |
complex< Value > | operator() (int i, int j) const |
Subscript operator to return spinor components. | |
complex< Value > & | operator() (int i, int j) |
Set components by index. | |
complex< Value > | xs1 () const |
Get first spinor component for the x vector. | |
complex< Value > | xs2 () const |
Get second spinor component for the x vector. | |
complex< Value > | xs3 () const |
Get third spinor component for the x vector. | |
complex< Value > | xs4 () const |
Get fourth spinor component for the x vector. | |
complex< Value > | ys1 () const |
Get first spinor component for the y vector. | |
complex< Value > | ys2 () const |
Get second spinor component for the y vector. | |
complex< Value > | ys3 () const |
Get third spinor component for the y vector. | |
complex< Value > | ys4 () const |
Get fourth spinor component for the y vector. | |
complex< Value > | zs1 () const |
Get first spinor component for the z vector. | |
complex< Value > | zs2 () const |
Get second spinor component for the z vector. | |
complex< Value > | zs3 () const |
Get third spinor component for the z vector. | |
complex< Value > | zs4 () const |
Get fourth spinor component for the z vector. | |
complex< Value > | ts1 () const |
Get first spinor component for the t vector. | |
complex< Value > | ts2 () const |
Get second spinor component for the t vector. | |
complex< Value > | ts3 () const |
Get third spinor component for the t vector. | |
complex< Value > | ts4 () const |
Get fourth spinor component for the t vector. | |
void | setXS1 (complex< Value > in) |
Set first spinor component for the x vector. | |
void | setXS2 (complex< Value > in) |
Set second spinor component for the x vector. | |
void | setXS3 (complex< Value > in) |
Set third spinor component for the x vector. | |
void | setXS4 (complex< Value > in) |
Set fourth spinor component for the x vector. | |
void | setYS1 (complex< Value > in) |
Set first spinor component for the y vector. | |
void | setYS2 (complex< Value > in) |
Set second spinor component for the y vector. | |
void | setYS3 (complex< Value > in) |
Set third spinor component for the y vector. | |
void | setYS4 (complex< Value > in) |
Set fourth spinor component for the y vector. | |
void | setZS1 (complex< Value > in) |
Set first spinor component for the z vector. | |
void | setZS2 (complex< Value > in) |
Set second spinor component for the z vector. | |
void | setZS3 (complex< Value > in) |
Set third spinor component for the z vector. | |
void | setZS4 (complex< Value > in) |
Set fourth spinor component for the z vector. | |
void | setTS1 (complex< Value > in) |
Set first spinor component for the t vector. | |
void | setTS2 (complex< Value > in) |
Set second spinor component for the t vector. | |
void | setTS3 (complex< Value > in) |
Set third spinor component for the t vector. | |
void | setTS4 (complex< Value > in) |
Set fourth spinor component for the t vector. | |
Mathematical assignment operators. | |
template<typename ValueB > | |
LorentzRSSpinor< Value > & | operator+= (const LorentzRSSpinor< ValueB > &a) |
template<typename ValueB > | |
LorentzRSSpinor< Value > & | operator-= (const LorentzRSSpinor< ValueB > &a) |
LorentzRSSpinor< Value > & | operator*= (double a) |
LorentzRSSpinor< Value > & | operator/= (double a) |
Arithmetic operators. | |
LorentzSpinor< Value > | dot (const LorentzPolarizationVector &vec) const |
dot product with a polarization vector | |
LorentzSpinor< Value > | dot (const LorentzMomentum &invec) const |
dot product with a 4-vector | |
Transformations. | |
LorentzRSSpinorBar< Value > | bar () const |
return the barred spinor | |
LorentzRSSpinor & | boost (double, double, double) |
Standard Lorentz boost specifying the components of the beta vector. | |
LorentzRSSpinor & | boost (const Boost &) |
Standard Lorentz boost specifying the beta vector. | |
LorentzRSSpinor & | transform (const LorentzRotation &) |
General transform. | |
Functions related to type. | |
SpinorType | _type |
Type of spinor. | |
std::array< std::array< complex< Value >, 4 >, 4 > | _spin |
Storage of the components. | |
SpinorType | Type () const |
Return the type of the spinor. | |
template<typename ValueB > | |
auto | generalScalar (LorentzRSSpinorBar< ValueB > &fbar, Complex left, Complex right) -> decltype(left *fbar(3, 0) *this->ts1()) |
Scalar product \(\bar{f}^\alpha(c_LP_L+c_RP_R)f_\alpha\) for general couplings. | |
template<typename ValueB > | |
auto | generalCurrent (LorentzSpinorBar< ValueB > &fbar, Complex left, Complex right) -> LorentzVector< decltype(left *fbar.s1() *this->ts1())> |
Current \(\bar{f}(c_LP_L+c_RP_R)f^\alpha\) for general couplings. | |
The LorentzRSSpinor class is designed to store a Rarita-Schwinger spinor for a spin-3/2 particle.
In addition to storing the components of the spinor information is stored on 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
\[ \gamma_{i=1,2,3}=\left(\begin{array}{cc} 0 & \sigma_i \\ -\sigma_i & 0 \end{array}\right) \quad \gamma_0=\left(\begin{array}{cc} 0 & 1 \\ 1 & 0 \end{array}\right) \quad \gamma_5=\left(\begin{array}{cc} -1 & 0 \\ 0 & 1 \end{array}\right) \]
The type of the spinor is also stored using the SpinorType enumeration. There are three types supported SpinorType::u, SpinorType::v, SpinorType::unknown. 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 SpinorType::unknowne 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 LorentzRSSpinorBar class is also provided to store the barred spinor.
Definition at line 73 of file LorentzRSSpinor.h.
|
inline |
Default zero constructor, optionally specifying t, the type.
Definition at line 82 of file LorentzRSSpinor.h.
|
inline |
Constructor with complex numbers specifying the components, optionally specifying t, the type.
Definition at line 88 of file LorentzRSSpinor.h.
|
inline |
Definition at line 104 of file LorentzRSSpinor.h.
|
inline |
dot product with a 4-vector
Definition at line 342 of file LorentzRSSpinor.h.
|
inline |
dot product with a polarization vector
Definition at line 325 of file LorentzRSSpinor.h.
|
inline |
Current \(\bar{f}(c_LP_L+c_RP_R)f^\alpha\) for general couplings.
fbar | The barred spinor |
left | The left-handed coupling, \(c_L\). |
right | The right-handed coupling, \(c_R\). |
Definition at line 419 of file LorentzRSSpinor.h.
References ThePEG::left(), and ThePEG::right().
|
inline |
Scalar product \(\bar{f}^\alpha(c_LP_L+c_RP_R)f_\alpha\) for general couplings.
fbar | The barred spinor |
left | The left-handed coupling, \(c_L\). |
right | The right-handed coupling, \(c_R\). |
Definition at line 395 of file LorentzRSSpinor.h.
References ThePEG::left(), and ThePEG::right().
|
inline |
Set components by index.
Definition at line 121 of file LorentzRSSpinor.h.
|
inline |
Subscript operator to return spinor components.
Definition at line 113 of file LorentzRSSpinor.h.
|
inline |
Definition at line 305 of file LorentzRSSpinor.h.
|
inline |
Definition at line 290 of file LorentzRSSpinor.h.
|
inline |
Definition at line 298 of file LorentzRSSpinor.h.
|
inline |
Definition at line 312 of file LorentzRSSpinor.h.
|
inline |
Set first spinor component for the t vector.
Definition at line 269 of file LorentzRSSpinor.h.
|
inline |
Set second spinor component for the t vector.
Definition at line 274 of file LorentzRSSpinor.h.
|
inline |
Set third spinor component for the t vector.
Definition at line 279 of file LorentzRSSpinor.h.
|
inline |
Set fourth spinor component for the t vector.
Definition at line 284 of file LorentzRSSpinor.h.
|
inline |
Set first spinor component for the x vector.
Definition at line 209 of file LorentzRSSpinor.h.
|
inline |
Set second spinor component for the x vector.
Definition at line 214 of file LorentzRSSpinor.h.
|
inline |
Set third spinor component for the x vector.
Definition at line 219 of file LorentzRSSpinor.h.
|
inline |
Set fourth spinor component for the x vector.
Definition at line 224 of file LorentzRSSpinor.h.
|
inline |
Set first spinor component for the y vector.
Definition at line 229 of file LorentzRSSpinor.h.
|
inline |
Set second spinor component for the y vector.
Definition at line 234 of file LorentzRSSpinor.h.
|
inline |
Set third spinor component for the y vector.
Definition at line 239 of file LorentzRSSpinor.h.
|
inline |
Set fourth spinor component for the y vector.
Definition at line 244 of file LorentzRSSpinor.h.
|
inline |
Set first spinor component for the z vector.
Definition at line 249 of file LorentzRSSpinor.h.
|
inline |
Set second spinor component for the z vector.
Definition at line 254 of file LorentzRSSpinor.h.
|
inline |
Set third spinor component for the z vector.
Definition at line 259 of file LorentzRSSpinor.h.
|
inline |
Set fourth spinor component for the z vector.
Definition at line 264 of file LorentzRSSpinor.h.
|
inline |
Get first spinor component for the t vector.
Definition at line 189 of file LorentzRSSpinor.h.
Referenced by ThePEG::Helicity::RSSpinorWaveFunction::ts1().
|
inline |
Get second spinor component for the t vector.
Definition at line 194 of file LorentzRSSpinor.h.
Referenced by ThePEG::Helicity::RSSpinorWaveFunction::ts2().
|
inline |
Get third spinor component for the t vector.
Definition at line 199 of file LorentzRSSpinor.h.
Referenced by ThePEG::Helicity::RSSpinorWaveFunction::ts3().
|
inline |
Get fourth spinor component for the t vector.
Definition at line 204 of file LorentzRSSpinor.h.
Referenced by ThePEG::Helicity::RSSpinorWaveFunction::ts4().
|
inline |
Return the type of the spinor.
Definition at line 385 of file LorentzRSSpinor.h.
Referenced by ThePEG::Helicity::RSSpinorWaveFunction::dimensionedWf().
|
inline |
Get first spinor component for the x vector.
Definition at line 129 of file LorentzRSSpinor.h.
Referenced by ThePEG::Helicity::RSSpinorWaveFunction::xs1().
|
inline |
Get second spinor component for the x vector.
Definition at line 134 of file LorentzRSSpinor.h.
Referenced by ThePEG::Helicity::RSSpinorWaveFunction::xs2().
|
inline |
Get third spinor component for the x vector.
Definition at line 139 of file LorentzRSSpinor.h.
Referenced by ThePEG::Helicity::RSSpinorWaveFunction::xs3().
|
inline |
Get fourth spinor component for the x vector.
Definition at line 144 of file LorentzRSSpinor.h.
Referenced by ThePEG::Helicity::RSSpinorWaveFunction::xs4().
|
inline |
Get first spinor component for the y vector.
Definition at line 149 of file LorentzRSSpinor.h.
Referenced by ThePEG::Helicity::RSSpinorWaveFunction::ys1().
|
inline |
Get second spinor component for the y vector.
Definition at line 154 of file LorentzRSSpinor.h.
Referenced by ThePEG::Helicity::RSSpinorWaveFunction::ys2().
|
inline |
Get third spinor component for the y vector.
Definition at line 159 of file LorentzRSSpinor.h.
Referenced by ThePEG::Helicity::RSSpinorWaveFunction::ys3().
|
inline |
Get fourth spinor component for the y vector.
Definition at line 164 of file LorentzRSSpinor.h.
Referenced by ThePEG::Helicity::RSSpinorWaveFunction::ys4().
|
inline |
Get first spinor component for the z vector.
Definition at line 169 of file LorentzRSSpinor.h.
Referenced by ThePEG::Helicity::RSSpinorWaveFunction::zs1().
|
inline |
Get second spinor component for the z vector.
Definition at line 174 of file LorentzRSSpinor.h.
Referenced by ThePEG::Helicity::RSSpinorWaveFunction::zs2().
|
inline |
Get third spinor component for the z vector.
Definition at line 179 of file LorentzRSSpinor.h.
Referenced by ThePEG::Helicity::RSSpinorWaveFunction::zs3().
|
inline |
Get fourth spinor component for the z vector.
Definition at line 184 of file LorentzRSSpinor.h.
Referenced by ThePEG::Helicity::RSSpinorWaveFunction::zs4().
|
private |
Storage of the components.
Definition at line 441 of file LorentzRSSpinor.h.
|
private |
Type of spinor.
Definition at line 436 of file LorentzRSSpinor.h.