thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
ThePEG::Helicity::LorentzRSSpinorBar< Value > Class Template Reference

The LorentzRSSpinorBar class implements the storage of a barred Lorentz Rarita-Schwinger Spinor for a spin-3/2 particle. More...

#include <LorentzRSSpinorBar.h>

Inheritance diagram for ThePEG::Helicity::LorentzRSSpinorBar< Value >:

Public Member Functions

Standard constructors.
 LorentzRSSpinorBar (SpinorType t=SpinorType::unknown)
 Default zero constructor, optionally specifying t, the type.
 
 LorentzRSSpinorBar (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 >
 LorentzRSSpinorBar (const LorentzRSSpinorBar< 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 >
LorentzRSSpinorBar< Value > & operator+= (const LorentzRSSpinorBar< ValueB > &a)
 
template<typename ValueB >
LorentzRSSpinorBar< Value > & operator-= (const LorentzRSSpinorBar< ValueB > &a)
 
LorentzRSSpinorBar< Value > & operator*= (double a)
 
LorentzRSSpinorBar< Value > & operator/= (double a)
 
Arithmetic operators.
LorentzSpinorBar< Value > dot (const LorentzPolarizationVector &vec) const
 dot product with a polarization vector
 
LorentzSpinorBar< Value > dot (const LorentzMomentum &invec) const
 dot product with a 4-momentum
 
Transformations.
LorentzRSSpinor< Value > bar () const
 return the barred spinor
 
LorentzRSSpinorBarboost (double, double, double)
 Standard Lorentz boost specifying the components of the beta vector.
 
LorentzRSSpinorBarboost (const Boost &)
 Standard Lorentz boost specifying the beta vector.
 
LorentzRSSpinorBartransform (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 generalCurrent (LorentzSpinor< ValueB > &f, Complex left, Complex right) -> LorentzVector< decltype(left *this->ts1() *f.s1())>
 Current \(\bar{f}^\alpha(c_LP_L+c_RP_R)f\) for general couplings.
 

Detailed Description

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

The LorentzRSSpinorBar class implements the storage of a barred Lorentz Rarita-Schwinger Spinor for a spin-3/2 particle.

The design is based on that of the LorentzRSSpinor class and the details of the implemented are discussed in more detail in the header file for that class.

See also
LorentzRSSpinor
Author
Peter Richardson

Definition at line 38 of file LorentzRSSpinorBar.h.

Constructor & Destructor Documentation

◆ LorentzRSSpinorBar() [1/3]

template<typename Value >
ThePEG::Helicity::LorentzRSSpinorBar< Value >::LorentzRSSpinorBar ( SpinorType  t = SpinorType::unknown)
inline

Default zero constructor, optionally specifying t, the type.

Definition at line 47 of file LorentzRSSpinorBar.h.

◆ LorentzRSSpinorBar() [2/3]

template<typename Value >
ThePEG::Helicity::LorentzRSSpinorBar< Value >::LorentzRSSpinorBar ( 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 
)
inline

Constructor with complex numbers specifying the components, optionally specifying t, the type.

Definition at line 53 of file LorentzRSSpinorBar.h.

◆ LorentzRSSpinorBar() [3/3]

template<typename Value >
template<typename U >
ThePEG::Helicity::LorentzRSSpinorBar< Value >::LorentzRSSpinorBar ( const LorentzRSSpinorBar< U > &  other)
inline

Definition at line 69 of file LorentzRSSpinorBar.h.

Member Function Documentation

◆ dot() [1/2]

template<typename Value >
LorentzSpinorBar< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::dot ( const LorentzMomentum invec) const
inline

dot product with a 4-momentum

Definition at line 302 of file LorentzRSSpinorBar.h.

◆ dot() [2/2]

template<typename Value >
LorentzSpinorBar< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::dot ( const LorentzPolarizationVector vec) const
inline

dot product with a polarization vector

Definition at line 290 of file LorentzRSSpinorBar.h.

◆ generalCurrent()

template<typename Value >
template<typename ValueB >
auto ThePEG::Helicity::LorentzRSSpinorBar< Value >::generalCurrent ( LorentzSpinor< ValueB > &  f,
Complex  left,
Complex  right 
) -> LorentzVector<decltype(left*this->ts1()*f.s1())>
inline

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

Parameters
fThe unbarred spinor
leftThe left-handed coupling, \(c_L\).
rightThe right-handed coupling, \(c_R\).

Definition at line 352 of file LorentzRSSpinorBar.h.

References ThePEG::left(), and ThePEG::right().

◆ operator()() [1/2]

template<typename Value >
complex< Value > & ThePEG::Helicity::LorentzRSSpinorBar< Value >::operator() ( int  i,
int  j 
)
inline

Set components by index.

Definition at line 86 of file LorentzRSSpinorBar.h.

◆ operator()() [2/2]

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::operator() ( int  i,
int  j 
) const
inline

Subscript operator to return spinor components.

Definition at line 78 of file LorentzRSSpinorBar.h.

◆ operator*=()

template<typename Value >
LorentzRSSpinorBar< Value > & ThePEG::Helicity::LorentzRSSpinorBar< Value >::operator*= ( double  a)
inline

Definition at line 270 of file LorentzRSSpinorBar.h.

◆ operator+=()

template<typename Value >
template<typename ValueB >
LorentzRSSpinorBar< Value > & ThePEG::Helicity::LorentzRSSpinorBar< Value >::operator+= ( const LorentzRSSpinorBar< ValueB > &  a)
inline

Definition at line 255 of file LorentzRSSpinorBar.h.

◆ operator-=()

template<typename Value >
template<typename ValueB >
LorentzRSSpinorBar< Value > & ThePEG::Helicity::LorentzRSSpinorBar< Value >::operator-= ( const LorentzRSSpinorBar< ValueB > &  a)
inline

Definition at line 263 of file LorentzRSSpinorBar.h.

◆ operator/=()

template<typename Value >
LorentzRSSpinorBar< Value > & ThePEG::Helicity::LorentzRSSpinorBar< Value >::operator/= ( double  a)
inline

Definition at line 277 of file LorentzRSSpinorBar.h.

◆ setTS1()

template<typename Value >
void ThePEG::Helicity::LorentzRSSpinorBar< Value >::setTS1 ( complex< Value >  in)
inline

Set first spinor component for the t vector.

Definition at line 234 of file LorentzRSSpinorBar.h.

◆ setTS2()

template<typename Value >
void ThePEG::Helicity::LorentzRSSpinorBar< Value >::setTS2 ( complex< Value >  in)
inline

Set second spinor component for the t vector.

Definition at line 239 of file LorentzRSSpinorBar.h.

◆ setTS3()

template<typename Value >
void ThePEG::Helicity::LorentzRSSpinorBar< Value >::setTS3 ( complex< Value >  in)
inline

Set third spinor component for the t vector.

Definition at line 244 of file LorentzRSSpinorBar.h.

◆ setTS4()

template<typename Value >
void ThePEG::Helicity::LorentzRSSpinorBar< Value >::setTS4 ( complex< Value >  in)
inline

Set fourth spinor component for the t vector.

Definition at line 249 of file LorentzRSSpinorBar.h.

◆ setXS1()

template<typename Value >
void ThePEG::Helicity::LorentzRSSpinorBar< Value >::setXS1 ( complex< Value >  in)
inline

Set first spinor component for the x vector.

Definition at line 174 of file LorentzRSSpinorBar.h.

◆ setXS2()

template<typename Value >
void ThePEG::Helicity::LorentzRSSpinorBar< Value >::setXS2 ( complex< Value >  in)
inline

Set second spinor component for the x vector.

Definition at line 179 of file LorentzRSSpinorBar.h.

◆ setXS3()

template<typename Value >
void ThePEG::Helicity::LorentzRSSpinorBar< Value >::setXS3 ( complex< Value >  in)
inline

Set third spinor component for the x vector.

Definition at line 184 of file LorentzRSSpinorBar.h.

◆ setXS4()

template<typename Value >
void ThePEG::Helicity::LorentzRSSpinorBar< Value >::setXS4 ( complex< Value >  in)
inline

Set fourth spinor component for the x vector.

Definition at line 189 of file LorentzRSSpinorBar.h.

◆ setYS1()

template<typename Value >
void ThePEG::Helicity::LorentzRSSpinorBar< Value >::setYS1 ( complex< Value >  in)
inline

Set first spinor component for the y vector.

Definition at line 194 of file LorentzRSSpinorBar.h.

◆ setYS2()

template<typename Value >
void ThePEG::Helicity::LorentzRSSpinorBar< Value >::setYS2 ( complex< Value >  in)
inline

Set second spinor component for the y vector.

Definition at line 199 of file LorentzRSSpinorBar.h.

◆ setYS3()

template<typename Value >
void ThePEG::Helicity::LorentzRSSpinorBar< Value >::setYS3 ( complex< Value >  in)
inline

Set third spinor component for the y vector.

Definition at line 204 of file LorentzRSSpinorBar.h.

◆ setYS4()

template<typename Value >
void ThePEG::Helicity::LorentzRSSpinorBar< Value >::setYS4 ( complex< Value >  in)
inline

Set fourth spinor component for the y vector.

Definition at line 209 of file LorentzRSSpinorBar.h.

◆ setZS1()

template<typename Value >
void ThePEG::Helicity::LorentzRSSpinorBar< Value >::setZS1 ( complex< Value >  in)
inline

Set first spinor component for the z vector.

Definition at line 214 of file LorentzRSSpinorBar.h.

◆ setZS2()

template<typename Value >
void ThePEG::Helicity::LorentzRSSpinorBar< Value >::setZS2 ( complex< Value >  in)
inline

Set second spinor component for the z vector.

Definition at line 219 of file LorentzRSSpinorBar.h.

◆ setZS3()

template<typename Value >
void ThePEG::Helicity::LorentzRSSpinorBar< Value >::setZS3 ( complex< Value >  in)
inline

Set third spinor component for the z vector.

Definition at line 224 of file LorentzRSSpinorBar.h.

◆ setZS4()

template<typename Value >
void ThePEG::Helicity::LorentzRSSpinorBar< Value >::setZS4 ( complex< Value >  in)
inline

Set fourth spinor component for the z vector.

Definition at line 229 of file LorentzRSSpinorBar.h.

◆ ts1()

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::ts1 ( ) const
inline

Get first spinor component for the t vector.

Definition at line 154 of file LorentzRSSpinorBar.h.

Referenced by ThePEG::Helicity::RSSpinorBarWaveFunction::ts1().

◆ ts2()

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::ts2 ( ) const
inline

Get second spinor component for the t vector.

Definition at line 159 of file LorentzRSSpinorBar.h.

Referenced by ThePEG::Helicity::RSSpinorBarWaveFunction::ts2().

◆ ts3()

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::ts3 ( ) const
inline

Get third spinor component for the t vector.

Definition at line 164 of file LorentzRSSpinorBar.h.

Referenced by ThePEG::Helicity::RSSpinorBarWaveFunction::ts3().

◆ ts4()

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::ts4 ( ) const
inline

Get fourth spinor component for the t vector.

Definition at line 169 of file LorentzRSSpinorBar.h.

Referenced by ThePEG::Helicity::RSSpinorBarWaveFunction::ts4().

◆ Type()

template<typename Value >
SpinorType ThePEG::Helicity::LorentzRSSpinorBar< Value >::Type ( ) const
inline

Return the type of the spinor.

Definition at line 342 of file LorentzRSSpinorBar.h.

Referenced by ThePEG::Helicity::RSSpinorBarWaveFunction::dimensionedWf().

◆ xs1()

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::xs1 ( ) const
inline

Get first spinor component for the x vector.

Definition at line 94 of file LorentzRSSpinorBar.h.

Referenced by ThePEG::Helicity::RSSpinorBarWaveFunction::xs1().

◆ xs2()

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::xs2 ( ) const
inline

Get second spinor component for the x vector.

Definition at line 99 of file LorentzRSSpinorBar.h.

Referenced by ThePEG::Helicity::RSSpinorBarWaveFunction::xs2().

◆ xs3()

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::xs3 ( ) const
inline

Get third spinor component for the x vector.

Definition at line 104 of file LorentzRSSpinorBar.h.

Referenced by ThePEG::Helicity::RSSpinorBarWaveFunction::xs3().

◆ xs4()

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::xs4 ( ) const
inline

Get fourth spinor component for the x vector.

Definition at line 109 of file LorentzRSSpinorBar.h.

Referenced by ThePEG::Helicity::RSSpinorBarWaveFunction::xs4().

◆ ys1()

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::ys1 ( ) const
inline

Get first spinor component for the y vector.

Definition at line 114 of file LorentzRSSpinorBar.h.

Referenced by ThePEG::Helicity::RSSpinorBarWaveFunction::ys1().

◆ ys2()

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::ys2 ( ) const
inline

Get second spinor component for the y vector.

Definition at line 119 of file LorentzRSSpinorBar.h.

Referenced by ThePEG::Helicity::RSSpinorBarWaveFunction::ys2().

◆ ys3()

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::ys3 ( ) const
inline

Get third spinor component for the y vector.

Definition at line 124 of file LorentzRSSpinorBar.h.

Referenced by ThePEG::Helicity::RSSpinorBarWaveFunction::ys3().

◆ ys4()

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::ys4 ( ) const
inline

Get fourth spinor component for the y vector.

Definition at line 129 of file LorentzRSSpinorBar.h.

Referenced by ThePEG::Helicity::RSSpinorBarWaveFunction::ys4().

◆ zs1()

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::zs1 ( ) const
inline

Get first spinor component for the z vector.

Definition at line 134 of file LorentzRSSpinorBar.h.

Referenced by ThePEG::Helicity::RSSpinorBarWaveFunction::zs1().

◆ zs2()

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::zs2 ( ) const
inline

Get second spinor component for the z vector.

Definition at line 139 of file LorentzRSSpinorBar.h.

Referenced by ThePEG::Helicity::RSSpinorBarWaveFunction::zs2().

◆ zs3()

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::zs3 ( ) const
inline

Get third spinor component for the z vector.

Definition at line 144 of file LorentzRSSpinorBar.h.

Referenced by ThePEG::Helicity::RSSpinorBarWaveFunction::zs3().

◆ zs4()

template<typename Value >
complex< Value > ThePEG::Helicity::LorentzRSSpinorBar< Value >::zs4 ( ) const
inline

Get fourth spinor component for the z vector.

Definition at line 149 of file LorentzRSSpinorBar.h.

Referenced by ThePEG::Helicity::RSSpinorBarWaveFunction::zs4().

Member Data Documentation

◆ _spin

template<typename Value >
std::array<std::array<complex<Value>,4>,4> ThePEG::Helicity::LorentzRSSpinorBar< Value >::_spin
private

Storage of the components.

Definition at line 376 of file LorentzRSSpinorBar.h.

◆ _type

template<typename Value >
SpinorType ThePEG::Helicity::LorentzRSSpinorBar< Value >::_type
private

Type of spinor.

Definition at line 371 of file LorentzRSSpinorBar.h.


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