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>

List of all members.

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.
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.
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

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:
fbar The barred spinor
left The left-handed coupling, $c_L$.
right The right-handed coupling, $c_R$.

Definition at line 364 of file LorentzRSSpinor.h.

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:
fbar The barred spinor
left The left-handed coupling, $c_L$.
right The right-handed coupling, $c_R$.

Definition at line 386 of file LorentzRSSpinor.h.


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

Generated on Thu Apr 29 12:43:26 2010 for ThePEG by  doxygen 1.5.5