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

#include <SpinorWaveFunction.h>

Inheritance diagram for ThePEG::Helicity::SpinorWaveFunction:

Public Member Functions

void conjugate ()
 Take the conjugate of the spinor $u_c=C\bar{u}^T$. More...
 
SpinorBarWaveFunction bar ()
 Return the barred spinor.
 
void transform (const LorentzRotation &r)
 Perform the Lorentz transformation of the wave function.
 
Standard constructors and destructors.
 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. More...
 
 SpinorWaveFunction (const Lorentz5Momentum &p, tcPDPtr part, const LorentzSpinor< double > &wave, Direction dir=intermediate)
 Constructor, set the momentum and the wavefunction. More...
 
 SpinorWaveFunction (const tPPtr &p, const LorentzSpinor< SqrtEnergy > &wave, Direction dir=intermediate)
 Constructor, set the momentum and the wavefunction. More...
 
 SpinorWaveFunction (const Lorentz5Momentum &p, tcPDPtr part, unsigned int ihel, Direction dir)
 Constructor, set the momentum, helicity, direction. More...
 
 SpinorWaveFunction (const Lorentz5Momentum &p, tcPDPtr part, Direction dir)
 Constructor, set the momentum, direction, zero the wavefunction. More...
 
 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. More...
 
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 reset (unsigned int ihel)
 Reset functions. More...
 
- Public Member Functions inherited from ThePEG::Helicity::WaveFunctionBase
 WaveFunctionBase ()
 Constructors. More...
 
 WaveFunctionBase (const Lorentz5Momentum &p, tcPDPtr pd, Direction dir=intermediate)
 
Energy px () const
 Access to the momentum components and mass. More...
 
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. More...
 
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.
 

Static Public Member Functions

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.
 

Private Member Functions

void calculateWaveFunction (unsigned int ihel)
 Calcuate the wavefunction. More...
 
LorentzSpinor< SqrtEnergydimensionedWf () const
 Return wavefunction as LorentzSpinor<SqrtEnergy>
 

Private Attributes

LorentzSpinor< double > _wf
 Storage of the Lorentz Spinor.
 

Additional Inherited Members

- 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/5]

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/5]

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/5]

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, and ThePEG::Helicity::WaveFunctionBase::iSpin().

◆ SpinorWaveFunction() [4/5]

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/5]

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

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(), SpinorWaveFunction(), and transform().

◆ 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, bar(), and ThePEG::Helicity::LorentzSpinor< Value >::conjugate().

◆ 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().


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