ThePEG  1.8.0
Public Member Functions | Private Attributes | List of all members
ThePEG::Helicity::LorentzRSSpinor< Value > Class Template Reference

The LorentzRSSpinor class is designed to store a Rarita-Schwinger spinor for a spin-3/2 particle. More...

#include <LorentzRSSpinor.h>

Inheritance diagram for ThePEG::Helicity::LorentzRSSpinor< Value >:
Inheritance graph
[legend]

Public Member Functions

template<typename ValueB >
complex< typename BinaryOpTraits< Value, ValueB >::MulT > generalScalar (LorentzRSSpinorBar< ValueB > &fbar, Complex left, Complex right)
 Scalar product $\bar{f}^\alpha(c_LP_L+c_RP_R)f_\alpha$for general couplings. More...
 
template<typename ValueB >
LorentzVector< complex< typename BinaryOpTraits< Value, ValueB >::MulT > > generalCurrent (LorentzSpinorBar< ValueB > &fbar, Complex left, Complex right)
 Current $\bar{f}(c_LP_L+c_RP_R)f^\alpha$ for general couplings. More...
 
Standard constructors.
 LorentzRSSpinor (SpinorType t=unknown_spinortype)
 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=unknown_spinortype)
 Constructor with complex numbers specifying the components, optionally specifying t, the type.
 
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.
 
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
 
LorentzRSSpinorboost (double, double, double)
 Standard Lorentz boost specifying the components of the beta vector.
 
LorentzRSSpinorboost (const Boost &)
 Standard Lorentz boost specifying the beta vector.
 
LorentzRSSpinortransform (const LorentzRotation &)
 General transform.
 
Functions related to type.
SpinorType Type () const
 Return the type of the spinor.
 

Private Attributes

SpinorType _type
 Type of spinor.
 
complex< Value > _spin [4][4]
 Storage of the components.
 

Detailed Description

template<typename Value>
class ThePEG::Helicity::LorentzRSSpinor< Value >

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 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 LorentzRSSpinorBar class is also provided to store the barred spinor.

See also
HelicityDefinitions
LorentzRSSpinorBar
Author
Peter Richardson

Definition at line 73 of file LorentzRSSpinor.h.

Member Function Documentation

◆ generalCurrent()

template<typename Value>
template<typename ValueB >
LorentzVector<complex<typename BinaryOpTraits<Value,ValueB>::MulT> > ThePEG::Helicity::LorentzRSSpinor< Value >::generalCurrent ( LorentzSpinorBar< ValueB > &  fbar,
Complex  left,
Complex  right 
)
inline

Current $\bar{f}(c_LP_L+c_RP_R)f^\alpha$ for general couplings.

Parameters
fbarThe barred spinor
leftThe left-handed coupling, $c_L$.
rightThe right-handed coupling, $c_R$.

Definition at line 386 of file LorentzRSSpinor.h.

◆ generalScalar()

template<typename Value>
template<typename ValueB >
complex<typename BinaryOpTraits<Value,ValueB>::MulT> ThePEG::Helicity::LorentzRSSpinor< Value >::generalScalar ( LorentzRSSpinorBar< ValueB > &  fbar,
Complex  left,
Complex  right 
)
inline

Scalar product $\bar{f}^\alpha(c_LP_L+c_RP_R)f_\alpha$for general couplings.

Parameters
fbarThe barred spinor
leftThe left-handed coupling, $c_L$.
rightThe right-handed coupling, $c_R$.

Definition at line 364 of file LorentzRSSpinor.h.


The documentation for this class was generated from the following file: