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

#include <SpinorWaveFunction.h>

Inheritance diagram for ThePEG::Helicity::SpinorWaveFunction:

Standard constructors and destructors.

LorentzSpinor< double > _wf
 Storage of the Lorentz Spinor.
 
 SpinorWaveFunction (const Lorentz5Momentum &p, tcPDPtr part, complex< double > s1, complex< double > s2, complex< double > s3, complex< double > s4)
 Constructor, set the momentum and the components of the spinor.
 
 SpinorWaveFunction (const Lorentz5Momentum &p, tcPDPtr part, const LorentzSpinor< double > &wave, Direction dir=intermediate)
 Constructor, set the momentum and the wavefunction.
 
 SpinorWaveFunction (const tPPtr &p, const LorentzSpinor< SqrtEnergy > &wave, Direction dir=intermediate)
 Constructor, set the momentum and the wavefunction.
 
 SpinorWaveFunction (const Lorentz5Momentum &p, tcPDPtr part, unsigned int ihel, Direction dir)
 Constructor, set the momentum, helicity, direction.
 
 SpinorWaveFunction (const Lorentz5Momentum &p, tcPDPtr part, Direction dir)
 Constructor, set the momentum, direction, zero the wavefunction.
 
 SpinorWaveFunction ()
 Default constructor.
 
 SpinorWaveFunction (vector< SpinorWaveFunction > &wave, tPPtr part, Direction dir, bool time, bool=true)
 Special for spin correlations.
 
complex< double > operator() (int i) const
 Access to the wavefunction and its components.
 
const LorentzSpinor< double > & wave () const
 Return wavefunction as LorentzSpinor<double>.
 
LorentzSpinor< SqrtEnergydimensionedWave () const
 Return wavefunction as LorentzSpinor<SqrtEnergy>.
 
complex< double > s1 () const
 Get the first spin component component.
 
complex< double > s2 () const
 Get the second spin component component.
 
complex< double > s3 () const
 Get the third spin component component.
 
complex< double > s4 () const
 Get the fourth spin component component.
 
void conjugate ()
 Take the conjugate of the spinor \(u_c=C\bar{u}^T\).
 
SpinorBarWaveFunction bar ()
 Return the barred spinor.
 
void reset (unsigned int ihel)
 Reset functions.
 
void transform (const LorentzRotation &r)
 Perform the Lorentz transformation of the wave function.
 
static void calculateWaveFunctions (vector< LorentzSpinor< SqrtEnergy > > &waves, tPPtr particle, Direction)
 Calculate the wavefunctions.
 
static void calculateWaveFunctions (vector< SpinorWaveFunction > &waves, tPPtr particle, Direction)
 Calculate the wavefunctions.
 
static void calculateWaveFunctions (vector< SpinorWaveFunction > &waves, const Lorentz5Momentum &momentum, tcPDPtr parton, Direction)
 Calculate the wavefunctions.
 
static void calculateWaveFunctions (vector< LorentzSpinor< SqrtEnergy > > &waves, RhoDMatrix &rho, tPPtr particle, Direction)
 Calculate the wavefunctions.
 
static void calculateWaveFunctions (vector< SpinorWaveFunction > &waves, RhoDMatrix &rho, tPPtr particle, Direction)
 Calculate the wavefunctions.
 
static void constructSpinInfo (const vector< LorentzSpinor< SqrtEnergy > > &waves, tPPtr part, Direction dir, bool time)
 Construct the SpinInfo object.
 
static void constructSpinInfo (const vector< SpinorWaveFunction > &waves, tPPtr part, Direction dir, bool time)
 Construct the SpinInfo object.
 
void calculateWaveFunction (unsigned int ihel)
 Calcuate the wavefunction.
 
LorentzSpinor< SqrtEnergydimensionedWf () const
 Return wavefunction as LorentzSpinor<SqrtEnergy>
 

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

Author
Peter Richardson

The SpinorWaveFunction class is designed to store the wavefunction of a spinor 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 LorentzSpinor class it inherits from the WaveFunctionBase class to provide storage of the momentum and getParticleData 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.

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

See also
WaveFunctionBase
LorentzSpinor
HelicityDefinitions

Definition at line 56 of file SpinorWaveFunction.h.

Constructor & Destructor Documentation

◆ SpinorWaveFunction() [1/7]

ThePEG::Helicity::SpinorWaveFunction::SpinorWaveFunction ( const Lorentz5Momentum p,
tcPDPtr  part,
complex< double >  s1,
complex< double >  s2,
complex< double >  s3,
complex< double >  s4 
)
inline

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

Parameters
pThe momentum.
partThe ParticleData pointer.
s1The first component
s2The second component
s3The third component
s4The fourth component

Definition at line 71 of file SpinorWaveFunction.h.

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

◆ SpinorWaveFunction() [2/7]

ThePEG::Helicity::SpinorWaveFunction::SpinorWaveFunction ( const Lorentz5Momentum p,
tcPDPtr  part,
const LorentzSpinor< 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 85 of file SpinorWaveFunction.h.

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

◆ SpinorWaveFunction() [3/7]

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

Constructor, set the momentum and the wavefunction.

Parameters
pThe particle
waveThe wavefunction.
dirThe direction of the particle

Definition at line 99 of file SpinorWaveFunction.h.

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

◆ SpinorWaveFunction() [4/7]

ThePEG::Helicity::SpinorWaveFunction::SpinorWaveFunction ( 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 as described above.)
dirThe direction.

Definition at line 115 of file SpinorWaveFunction.h.

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

◆ SpinorWaveFunction() [5/7]

ThePEG::Helicity::SpinorWaveFunction::SpinorWaveFunction ( 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 131 of file SpinorWaveFunction.h.

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

◆ SpinorWaveFunction() [6/7]

ThePEG::Helicity::SpinorWaveFunction::SpinorWaveFunction ( )
inline

Default constructor.

Definition at line 141 of file SpinorWaveFunction.h.

◆ SpinorWaveFunction() [7/7]

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

Special for spin correlations.

Definition at line 148 of file SpinorWaveFunction.h.

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

Member Function Documentation

◆ calculateWaveFunction()

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

Calcuate the wavefunction.

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

Referenced by reset(), and SpinorWaveFunction().

◆ conjugate()

void ThePEG::Helicity::SpinorWaveFunction::conjugate ( )
inline

Take the conjugate of the spinor \(u_c=C\bar{u}^T\).

This operation transforms u-spinors to v-spinors and vice-versa and is required when dealing with majorana particles.

Definition at line 203 of file SpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzSpinor< Value >::conjugate().

◆ dimensionedWave()

LorentzSpinor< SqrtEnergy > ThePEG::Helicity::SpinorWaveFunction::dimensionedWave ( ) const
inline

Return wavefunction as LorentzSpinor<SqrtEnergy>.

Definition at line 175 of file SpinorWaveFunction.h.

References dimensionedWf().

◆ dimensionedWf()

LorentzSpinor< SqrtEnergy > ThePEG::Helicity::SpinorWaveFunction::dimensionedWf ( ) const
inlineprivate

Return wavefunction as LorentzSpinor<SqrtEnergy>

Definition at line 299 of file SpinorWaveFunction.h.

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

Referenced by dimensionedWave().

◆ operator()()

complex< double > ThePEG::Helicity::SpinorWaveFunction::operator() ( int  i) const
inline

Access to the wavefunction and its components.

Subscript operator for the wavefunction.

Definition at line 162 of file SpinorWaveFunction.h.

References _wf.

◆ reset()

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

Reset functions.

Reset the helicity (calculates the new spinor).

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

Definition at line 220 of file SpinorWaveFunction.h.

References calculateWaveFunction().

◆ s1()

complex< double > ThePEG::Helicity::SpinorWaveFunction::s1 ( ) const
inline

Get the first spin component component.

Definition at line 180 of file SpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzSpinor< Value >::s1().

◆ s2()

complex< double > ThePEG::Helicity::SpinorWaveFunction::s2 ( ) const
inline

Get the second spin component component.

Definition at line 185 of file SpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzSpinor< Value >::s2().

◆ s3()

complex< double > ThePEG::Helicity::SpinorWaveFunction::s3 ( ) const
inline

Get the third spin component component.

Definition at line 190 of file SpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzSpinor< Value >::s3().

◆ s4()

complex< double > ThePEG::Helicity::SpinorWaveFunction::s4 ( ) const
inline

Get the fourth spin component component.

Definition at line 195 of file SpinorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzSpinor< Value >::s4().

◆ transform()

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

Perform the Lorentz transformation of the wave function.

Definition at line 230 of file SpinorWaveFunction.h.

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

◆ wave()

const LorentzSpinor< double > & ThePEG::Helicity::SpinorWaveFunction::wave ( ) const
inline

Return wavefunction as LorentzSpinor<double>.

Definition at line 170 of file SpinorWaveFunction.h.

References _wf.

Referenced by SpinorWaveFunction().

Member Data Documentation

◆ _wf

LorentzSpinor<double> ThePEG::Helicity::SpinorWaveFunction::_wf
private

Storage of the Lorentz Spinor.

Definition at line 296 of file SpinorWaveFunction.h.

Referenced by conjugate(), dimensionedWf(), operator()(), s1(), s2(), s3(), s4(), SpinorWaveFunction(), transform(), and wave().


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