thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
ThePEG::Helicity::RSSpinorWaveFunction Class Reference

The RSSpinorWaveFunction class is designed to store the wavefunction of a spin-3/2 particle in a form suitable for use in helicity amplitude calculations of the matrix element using a similar philosophy to the FORTRAN HELAS code. More...

#include <RSSpinorWaveFunction.h>

Inheritance diagram for ThePEG::Helicity::RSSpinorWaveFunction:

Standard constructors and destructors.

LorentzRSSpinor< double > _wf
 storage of the Lorentz RSSpinor
 
 RSSpinorWaveFunction (const Lorentz5Momentum &p, tcPDPtr part, complex< double > xs1, complex< double > xs2, complex< double > xs3, complex< double > xs4, complex< double > ys1, complex< double > ys2, complex< double > ys3, complex< double > ys4, complex< double > zs1, complex< double > zs2, complex< double > zs3, complex< double > zs4, complex< double > ts1, complex< double > ts2, complex< double > ts3, complex< double > ts4)
 Constructor, set the momentum and the components of the spinor.
 
 RSSpinorWaveFunction (const Lorentz5Momentum &p, tcPDPtr part, const LorentzRSSpinor< double > &wave, Direction dir=intermediate)
 Constructor, set the momentum and the wavefunction.
 
 RSSpinorWaveFunction (const tPPtr &p, const LorentzRSSpinor< SqrtEnergy > &wave, Direction dir=intermediate)
 Constructor, set the momentum and the wavefunction.
 
 RSSpinorWaveFunction (const Lorentz5Momentum &p, tcPDPtr part, unsigned int ihel, Direction dir)
 Constructor, set the momentum, helicity, direction.
 
 RSSpinorWaveFunction (const Lorentz5Momentum &p, tcPDPtr part, Direction dir)
 Constructor, set the momentum, direction, zero the wavefunction.
 
 RSSpinorWaveFunction ()
 Default constructor.
 
 RSSpinorWaveFunction (vector< RSSpinorWaveFunction > &wave, tPPtr part, Direction dir, bool time, bool=true)
 Special for spin correlations.
 
complex< double > operator() (int i, int j) const
 Access to the wavefunction and its components.
 
const LorentzRSSpinor< double > & wave () const
 return wavefunction as LorentzRSSpinor
 
LorentzRSSpinor< SqrtEnergydimensionedWf () const
 Return wavefunction as LorentzRSSpinor<SqrtEnergy>
 
complex< double > xs1 () const
 Get first spinor component for the x vector.
 
complex< double > xs2 () const
 Get second spinor component for the x vector.
 
complex< double > xs3 () const
 Get third spinor component for the x vector.
 
complex< double > xs4 () const
 Get fourth spinor component for the x vector.
 
complex< double > ys1 () const
 Get first spinor component for the y vector.
 
complex< double > ys2 () const
 Get second spinor component for the y vector.
 
complex< double > ys3 () const
 Get third spinor component for the y vector.
 
complex< double > ys4 () const
 Get fourth spinor component for the y vector.
 
complex< double > zs1 () const
 Get first spinor component for the z vector.
 
complex< double > zs2 () const
 Get second spinor component for the z vector.
 
complex< double > zs3 () const
 Get third spinor component for the z vector.
 
complex< double > zs4 () const
 Get fourth spinor component for the z vector.
 
complex< double > ts1 () const
 Get first spinor component for the t vector.
 
complex< double > ts2 () const
 Get second spinor component for the t vector.
 
complex< double > ts3 () const
 Get third spinor component for the t vector.
 
complex< double > ts4 () const
 Get fourth spinor component for the t vector.
 
void reset (unsigned int ihel)
 reset functions
 
void transform (const LorentzRotation &r)
 Perform the Lorentz transformation of the wave function.
 
static void calculateWaveFunctions (vector< LorentzRSSpinor< SqrtEnergy > > &waves, tPPtr particle, Direction)
 Calculate the wavefunctions.
 
static void calculateWaveFunctions (vector< RSSpinorWaveFunction > &waves, tPPtr particle, Direction)
 Calculate the wavefunctions.
 
static void calculateWaveFunctions (vector< RSSpinorWaveFunction > &waves, const Lorentz5Momentum &momentum, tcPDPtr parton, Direction)
 Calculate the wavefunctions.
 
static void calculateWaveFunctions (vector< LorentzRSSpinor< SqrtEnergy > > &waves, RhoDMatrix &rho, tPPtr particle, Direction)
 Calculate the wavefunctions.
 
static void calculateWaveFunctions (vector< RSSpinorWaveFunction > &waves, RhoDMatrix &rho, tPPtr particle, Direction)
 Calculate the wavefunctions.
 
static void constructSpinInfo (const vector< LorentzRSSpinor< SqrtEnergy > > &waves, tPPtr part, Direction dir, bool time)
 Construct the SpinInfo object.
 
static void constructSpinInfo (const vector< RSSpinorWaveFunction > &waves, tPPtr part, Direction dir, bool time)
 Construct the SpinInfo object.
 
void calculateWaveFunction (unsigned int ihel)
 Calcuate the wavefunction.
 

Additional Inherited Members

- Public Member Functions inherited from ThePEG::Helicity::WaveFunctionBase
 WaveFunctionBase ()
 Constructors.
 
 WaveFunctionBase (const Lorentz5Momentum &p, tcPDPtr pd, Direction dir=intermediate)
 
Energy px () const
 Access to the momentum components and mass.
 
Energy py () const
 Get the y component of the momentum.
 
Energy pz () const
 Get the z component of the momentum.
 
Energy e () const
 Get the energy.
 
Energy mass () const
 Get the mass.
 
Energy2 m2 () const
 Get off-shell mass squared.
 
const Lorentz5Momentummomentum () const
 Access to the 5-momentum.
 
long id () const
 Access to the particle properties.
 
PDT::Spin iSpin () const
 Get 2s+1 for the particle.
 
tcPDPtr particle () const
 Get the particle pointer.
 
ThePEG::Helicity::Direction direction () const
 Get the direction of particle.
 
void direction (ThePEG::Helicity::Direction in)
 Set the direction of the particle.
 
- Protected Member Functions inherited from ThePEG::Helicity::WaveFunctionBase
void transformMomentum (const LorentzRotation &r)
 Perform the Lorentz transformation of the wave function.
 

Detailed Description

The RSSpinorWaveFunction class is designed to store the wavefunction of a spin-3/2 particle in a form suitable for use in helicity amplitude calculations of the matrix element using a similar philosophy to the FORTRAN HELAS code.

In addition to storing the spinor using the LorentzRSSpinor class it inherits from the WaveFunctionBase class to provide storage of the momentum and ParticleData for the fermion.

This class also contains the code which does the actually calculation of the spinor for an external particle.

When calculating the wavefunction the direction of the particle is used,

i.e.

  • incoming calculates a \(u\) spinor.
  • outgoing calculates a \(v\) spinor.

The spinors are calculated using a Clebsch-Gordon decomposition in the rest-frame for a massive particle and boosted to the lab-frame. For massless particles the calculation is performed in the lab-frame (N.B. there are only two helicities \(\pm\frac32\) in this case.)

N.B. In our convention 0 is the \(-\frac32\) helicity state, 1 is the \(-\frac12\) helicity state, 2 is the \(+\frac12\) helicity state 3 is the \(+\frac32\) helicity state and

See also
WaveFunctionBase
LorentzRSSpinor
HelicityDefinitions

Definition at line 58 of file RSSpinorWaveFunction.h.

Constructor & Destructor Documentation

◆ RSSpinorWaveFunction() [1/7]

ThePEG::Helicity::RSSpinorWaveFunction::RSSpinorWaveFunction ( const Lorentz5Momentum p,
tcPDPtr  part,
complex< double >  xs1,
complex< double >  xs2,
complex< double >  xs3,
complex< double >  xs4,
complex< double >  ys1,
complex< double >  ys2,
complex< double >  ys3,
complex< double >  ys4,
complex< double >  zs1,
complex< double >  zs2,
complex< double >  zs3,
complex< double >  zs4,
complex< double >  ts1,
complex< double >  ts2,
complex< double >  ts3,
complex< double >  ts4 
)
inline

Constructor, set the momentum and the components of the spinor.

Parameters
pThe momentum.
partThe ParticleData pointer.
xs1The first spinor component of the \(x\) vector.
xs2The second spinor component of the \(x\) vector.
xs3The third spinor component of the \(x\) vector.
xs4The fourth spinor component of the \(x\) vector.
ys1The first spinor component of the \(y\) vector.
ys2The second spinor component of the \(y\) vector.
ys3The third spinor component of the \(y\) vector.
ys4The fourth spinor component of the \(y\) vector.
zs1The first spinor component of the \(z\) vector.
zs2The second spinor component of the \(z\) vector.
zs3The third spinor component of the \(z\) vector.
zs4The fourth spinor component of the \(z\) vector.
ts1The first spinor component of the \(t\) vector.
ts2The second spinor component of the \(t\) vector.
ts3The third spinor component of the \(t\) vector.
ts4The fourth spinor component of the \(t\) vector.

Definition at line 85 of file RSSpinorWaveFunction.h.

References ThePEG::Helicity::WaveFunctionBase::iSpin().

◆ RSSpinorWaveFunction() [2/7]

ThePEG::Helicity::RSSpinorWaveFunction::RSSpinorWaveFunction ( const Lorentz5Momentum p,
tcPDPtr  part,
const LorentzRSSpinor< double > &  wave,
Direction  dir = intermediate 
)
inline

Constructor, set the momentum and the wavefunction.

Parameters
pThe momentum.
partThe ParticleData pointer.
waveThe wavefunction.
dirThe direction of the particle

Definition at line 109 of file RSSpinorWaveFunction.h.

References ThePEG::Helicity::WaveFunctionBase::iSpin().

◆ RSSpinorWaveFunction() [3/7]

ThePEG::Helicity::RSSpinorWaveFunction::RSSpinorWaveFunction ( const tPPtr p,
const LorentzRSSpinor< SqrtEnergy > &  wave,
Direction  dir = intermediate 
)
inline

Constructor, set the momentum and the wavefunction.

Parameters
pThe Particle pointer.
waveThe wavefunction.
dirThe direction of the particle

Definition at line 123 of file RSSpinorWaveFunction.h.

References _wf, ThePEG::Helicity::WaveFunctionBase::iSpin(), and wave().

◆ RSSpinorWaveFunction() [4/7]

ThePEG::Helicity::RSSpinorWaveFunction::RSSpinorWaveFunction ( const Lorentz5Momentum p,
tcPDPtr  part,
unsigned int  ihel,
Direction  dir 
)
inline

Constructor, set the momentum, helicity, direction.

Parameters
pThe momentum.
partThe ParticleData pointer.
ihelThe helicity (0,1,2,3 as described above.)
dirThe direction.

Definition at line 141 of file RSSpinorWaveFunction.h.

References calculateWaveFunction(), and ThePEG::Helicity::WaveFunctionBase::iSpin().

◆ RSSpinorWaveFunction() [5/7]

ThePEG::Helicity::RSSpinorWaveFunction::RSSpinorWaveFunction ( const Lorentz5Momentum p,
tcPDPtr  part,
Direction  dir 
)
inline

Constructor, set the momentum, direction, zero the wavefunction.

Parameters
pThe momentum.
partThe ParticleData pointer.
dirThe direction.

Definition at line 156 of file RSSpinorWaveFunction.h.

References ThePEG::Helicity::WaveFunctionBase::iSpin().

◆ RSSpinorWaveFunction() [6/7]

ThePEG::Helicity::RSSpinorWaveFunction::RSSpinorWaveFunction ( )
inline

Default constructor.

Definition at line 165 of file RSSpinorWaveFunction.h.

◆ RSSpinorWaveFunction() [7/7]

ThePEG::Helicity::RSSpinorWaveFunction::RSSpinorWaveFunction ( vector< RSSpinorWaveFunction > &  wave,
tPPtr  part,
Direction  dir,
bool  time,
bool  = true 
)
inline

Special for spin correlations.

Definition at line 172 of file RSSpinorWaveFunction.h.

References calculateWaveFunctions(), constructSpinInfo(), and wave().

Member Function Documentation

◆ calculateWaveFunction()

void ThePEG::Helicity::RSSpinorWaveFunction::calculateWaveFunction ( unsigned int  ihel)
private

Calcuate the wavefunction.

Parameters
ihelThe helicity (0,1,2,3 as described above.)

Referenced by reset(), and RSSpinorWaveFunction().

◆ dimensionedWf()

LorentzRSSpinor< SqrtEnergy > ThePEG::Helicity::RSSpinorWaveFunction::dimensionedWf ( ) const
inline

Return wavefunction as LorentzRSSpinor<SqrtEnergy>

Definition at line 198 of file RSSpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzRSSpinor< Value >::Type().

◆ operator()()

complex< double > ThePEG::Helicity::RSSpinorWaveFunction::operator() ( int  i,
int  j 
) const
inline

Access to the wavefunction and its components.

subscript operator for the wavefunction Set components by index.

Definition at line 187 of file RSSpinorWaveFunction.h.

References _wf.

◆ reset()

void ThePEG::Helicity::RSSpinorWaveFunction::reset ( unsigned int  ihel)
inline

reset functions

Reset the helicity (calculates the new spinor).

Parameters
ihelThe helicity (0,1,2,3 as described above.)

Definition at line 295 of file RSSpinorWaveFunction.h.

References calculateWaveFunction().

◆ transform()

void ThePEG::Helicity::RSSpinorWaveFunction::transform ( const LorentzRotation r)
inline

Perform the Lorentz transformation of the wave function.

Definition at line 305 of file RSSpinorWaveFunction.h.

References _wf, ThePEG::Helicity::LorentzRSSpinor< Value >::transform(), and ThePEG::Helicity::WaveFunctionBase::transformMomentum().

◆ ts1()

complex< double > ThePEG::Helicity::RSSpinorWaveFunction::ts1 ( ) const
inline

Get first spinor component for the t vector.

Definition at line 269 of file RSSpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzRSSpinor< Value >::ts1().

◆ ts2()

complex< double > ThePEG::Helicity::RSSpinorWaveFunction::ts2 ( ) const
inline

Get second spinor component for the t vector.

Definition at line 274 of file RSSpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzRSSpinor< Value >::ts2().

◆ ts3()

complex< double > ThePEG::Helicity::RSSpinorWaveFunction::ts3 ( ) const
inline

Get third spinor component for the t vector.

Definition at line 279 of file RSSpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzRSSpinor< Value >::ts3().

◆ ts4()

complex< double > ThePEG::Helicity::RSSpinorWaveFunction::ts4 ( ) const
inline

Get fourth spinor component for the t vector.

Definition at line 284 of file RSSpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzRSSpinor< Value >::ts4().

◆ wave()

const LorentzRSSpinor< double > & ThePEG::Helicity::RSSpinorWaveFunction::wave ( ) const
inline

return wavefunction as LorentzRSSpinor

Definition at line 195 of file RSSpinorWaveFunction.h.

References _wf.

Referenced by RSSpinorWaveFunction().

◆ xs1()

complex< double > ThePEG::Helicity::RSSpinorWaveFunction::xs1 ( ) const
inline

Get first spinor component for the x vector.

Definition at line 209 of file RSSpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzRSSpinor< Value >::xs1().

◆ xs2()

complex< double > ThePEG::Helicity::RSSpinorWaveFunction::xs2 ( ) const
inline

Get second spinor component for the x vector.

Definition at line 214 of file RSSpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzRSSpinor< Value >::xs2().

◆ xs3()

complex< double > ThePEG::Helicity::RSSpinorWaveFunction::xs3 ( ) const
inline

Get third spinor component for the x vector.

Definition at line 219 of file RSSpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzRSSpinor< Value >::xs3().

◆ xs4()

complex< double > ThePEG::Helicity::RSSpinorWaveFunction::xs4 ( ) const
inline

Get fourth spinor component for the x vector.

Definition at line 224 of file RSSpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzRSSpinor< Value >::xs4().

◆ ys1()

complex< double > ThePEG::Helicity::RSSpinorWaveFunction::ys1 ( ) const
inline

Get first spinor component for the y vector.

Definition at line 229 of file RSSpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzRSSpinor< Value >::ys1().

◆ ys2()

complex< double > ThePEG::Helicity::RSSpinorWaveFunction::ys2 ( ) const
inline

Get second spinor component for the y vector.

Definition at line 234 of file RSSpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzRSSpinor< Value >::ys2().

◆ ys3()

complex< double > ThePEG::Helicity::RSSpinorWaveFunction::ys3 ( ) const
inline

Get third spinor component for the y vector.

Definition at line 239 of file RSSpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzRSSpinor< Value >::ys3().

◆ ys4()

complex< double > ThePEG::Helicity::RSSpinorWaveFunction::ys4 ( ) const
inline

Get fourth spinor component for the y vector.

Definition at line 244 of file RSSpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzRSSpinor< Value >::ys4().

◆ zs1()

complex< double > ThePEG::Helicity::RSSpinorWaveFunction::zs1 ( ) const
inline

Get first spinor component for the z vector.

Definition at line 249 of file RSSpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzRSSpinor< Value >::zs1().

◆ zs2()

complex< double > ThePEG::Helicity::RSSpinorWaveFunction::zs2 ( ) const
inline

Get second spinor component for the z vector.

Definition at line 254 of file RSSpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzRSSpinor< Value >::zs2().

◆ zs3()

complex< double > ThePEG::Helicity::RSSpinorWaveFunction::zs3 ( ) const
inline

Get third spinor component for the z vector.

Definition at line 259 of file RSSpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzRSSpinor< Value >::zs3().

◆ zs4()

complex< double > ThePEG::Helicity::RSSpinorWaveFunction::zs4 ( ) const
inline

Get fourth spinor component for the z vector.

Definition at line 264 of file RSSpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzRSSpinor< Value >::zs4().

Member Data Documentation

◆ _wf

LorentzRSSpinor<double> ThePEG::Helicity::RSSpinorWaveFunction::_wf
private

storage of the Lorentz RSSpinor

Definition at line 370 of file RSSpinorWaveFunction.h.

Referenced by dimensionedWf(), operator()(), RSSpinorWaveFunction(), transform(), ts1(), ts2(), ts3(), ts4(), wave(), xs1(), xs2(), xs3(), xs4(), ys1(), ys2(), ys3(), ys4(), zs1(), zs2(), zs3(), and zs4().


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