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

#include <TensorWaveFunction.h>

Inheritance diagram for ThePEG::Helicity::TensorWaveFunction:

Standard constructors and destructors.

LorentzTensor< double > _wf
 Storage of the wavefunction as a Lorentz Tensor.
 
 TensorWaveFunction (const Lorentz5Momentum &p, tcPDPtr part, const LorentzTensor< double > &wave, Direction dir=intermediate)
 Constructor, set the momentum and Wavefunction, the direction can also be specified.
 
 TensorWaveFunction (const Lorentz5Momentum &p, tcPDPtr part, Complex xx, Complex xy, Complex xz, Complex xt, Complex yx, Complex yy, Complex yz, Complex yt, Complex zx, Complex zy, Complex zz, Complex zt, Complex tx, Complex ty, Complex tz, Complex tt)
 Constructor, set the momentum and the components of the tensor.
 
 TensorWaveFunction (const Lorentz5Momentum &p, tcPDPtr part, unsigned int ihel, Direction dir, TensorPhase phase=default_tensor_phase)
 Constructor, set the momentum, helicity, direction and optionally the phase.
 
 TensorWaveFunction (const Lorentz5Momentum &p, tcPDPtr part, Direction dir)
 Constructor, set the 5-momentum and direction, zero the wavefunction.
 
 TensorWaveFunction ()
 Default constructor.
 
 TensorWaveFunction (vector< TensorWaveFunction > &wave, tPPtr part, Direction dir, bool time, bool massless, bool=true, TensorPhase phase=default_tensor_phase)
 Special for spin correlations.
 
Complex operator() (int i, int j) const
 Access to the wavefunction and its components.
 
Complexoperator() (int i, int j)
 Set components by index.
 
const LorentzTensor< double > & wave () const
 Return wavefunction as polarization vector.
 
Complex xx () const
 Get the \(xx\) component.
 
Complex yx () const
 Get the \(yx\) component.
 
Complex zx () const
 Get the \(zx\) component.
 
Complex tx () const
 Get the \(tx\) component.
 
Complex xy () const
 Get the \(xy\) component.
 
Complex yy () const
 Get the \(yy\) component.
 
Complex zy () const
 Get the \(zy\) component.
 
Complex ty () const
 Get the \(ty\) component.
 
Complex xz () const
 Get the \(xz\) component.
 
Complex yz () const
 Get the \(yz\) component.
 
Complex zz () const
 Get the \(zz\) component.
 
Complex tz () const
 Get the \(tz\) component.
 
Complex xt () const
 Get the \(xt\) component.
 
Complex yt () const
 Get the \(yt\) component.
 
Complex zt () const
 Get the \(zt\) component.
 
Complex tt () const
 Get the \(tt\) component.
 
void reset (unsigned int ihel, TensorPhase phase=default_tensor_phase)
 Reset functions.
 
void transform (const LorentzRotation &r)
 Perform the Lorentz transformation of the wave function.
 
static void calculateWaveFunctions (vector< LorentzTensor< double > > &waves, tPPtr particle, Direction, bool massless, TensorPhase phase=default_tensor_phase)
 Calculate the wavefunctions.
 
static void calculateWaveFunctions (vector< TensorWaveFunction > &waves, tPPtr particle, Direction, bool massless, TensorPhase phase=default_tensor_phase)
 Calculate the wavefunctions.
 
static void calculateWaveFunctions (vector< LorentzTensor< double > > &waves, RhoDMatrix &rho, tPPtr particle, Direction, bool massless, TensorPhase phase=default_tensor_phase)
 Calculate the wavefunctions.
 
static void calculateWaveFunctions (vector< TensorWaveFunction > &waves, RhoDMatrix &rho, tPPtr particle, Direction, bool massless, TensorPhase phase=default_tensor_phase)
 Calculate the wavefunctions.
 
static void constructSpinInfo (const vector< LorentzTensor< double > > &waves, tPPtr part, Direction dir, bool time, bool massless)
 Construct the SpinInfo object.
 
static void constructSpinInfo (const vector< TensorWaveFunction > &waves, tPPtr part, Direction dir, bool time, bool massless)
 Construct the SpinInfo object.
 
void calculateWaveFunction (unsigned int ihel, TensorPhase phase=default_tensor_phase)
 Calculate 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

Author
Peter Richardson

The TensorWaveFunction class is designed to store the wavefunction of a tensor 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 tensor using the LorentzTensor class it inherits from the WaveFunctionBase class to provide storage of the momentum and ParticleData for the tensor particle.

This class also contains the code which does the actually calculation of the tensor wavefunction.

There are two choices available for the calculation of the wavefunction. These are set using the TensorPhase enumeration which specifies a default choice. The first choice, tensor_phase, includes a phase factor \(\exp(\pm i \phi)\) for the \(\pm\) helicity states while the second, tensor_nophase, does not.

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

See also
WaveFunctionBase
LorentzTensor
VectorWaveFunction

Definition at line 67 of file TensorWaveFunction.h.

Constructor & Destructor Documentation

◆ TensorWaveFunction() [1/6]

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

Constructor, set the momentum and Wavefunction, the direction can also be specified.

Parameters
pThe momentum.
partThe ParticleData pointer
waveThe wavefunction, i.e. the polarization vector.
dirThe direction of the particle.

Definition at line 81 of file TensorWaveFunction.h.

References ThePEG::Helicity::WaveFunctionBase::iSpin(), and ThePEG::PDT::Spin2.

◆ TensorWaveFunction() [2/6]

ThePEG::Helicity::TensorWaveFunction::TensorWaveFunction ( const Lorentz5Momentum p,
tcPDPtr  part,
Complex  xx,
Complex  xy,
Complex  xz,
Complex  xt,
Complex  yx,
Complex  yy,
Complex  yz,
Complex  yt,
Complex  zx,
Complex  zy,
Complex  zz,
Complex  zt,
Complex  tx,
Complex  ty,
Complex  tz,
Complex  tt 
)
inline

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

Parameters
pThe momentum.
partThe ParticleData pointer
xxThe \(xx\) component.
xyThe \(xy\) component.
xzThe \(xz\) component.
xtThe \(xt\) component.
yxThe \(yx\) component.
yyThe \(yy\) component.
yzThe \(yz\) component.
ytThe \(yt\) component.
zxThe \(zx\) component.
zyThe \(zy\) component.
zzThe \(zz\) component.
ztThe \(zt\) component.
txThe \(tx\) component.
tyThe \(ty\) component.
tzThe \(tz\) component.
ttThe \(tt\) component.

Definition at line 110 of file TensorWaveFunction.h.

References ThePEG::Helicity::WaveFunctionBase::iSpin(), and ThePEG::PDT::Spin2.

◆ TensorWaveFunction() [3/6]

ThePEG::Helicity::TensorWaveFunction::TensorWaveFunction ( const Lorentz5Momentum p,
tcPDPtr  part,
unsigned int  ihel,
Direction  dir,
TensorPhase  phase = default_tensor_phase 
)
inline

Constructor, set the momentum, helicity, direction and optionally the phase.

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

Definition at line 131 of file TensorWaveFunction.h.

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

◆ TensorWaveFunction() [4/6]

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

Constructor, set the 5-momentum and direction, zero the wavefunction.

Parameters
pThe momentum.
partThe ParticleData pointer.
dirThe direction.

Definition at line 146 of file TensorWaveFunction.h.

References ThePEG::Helicity::WaveFunctionBase::iSpin(), and ThePEG::PDT::Spin2.

◆ TensorWaveFunction() [5/6]

ThePEG::Helicity::TensorWaveFunction::TensorWaveFunction ( )
inline

Default constructor.

Definition at line 156 of file TensorWaveFunction.h.

◆ TensorWaveFunction() [6/6]

ThePEG::Helicity::TensorWaveFunction::TensorWaveFunction ( vector< TensorWaveFunction > &  wave,
tPPtr  part,
Direction  dir,
bool  time,
bool  massless,
bool  = true,
TensorPhase  phase = default_tensor_phase 
)
inline

Special for spin correlations.

Todo:
make static?

Definition at line 161 of file TensorWaveFunction.h.

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

Member Function Documentation

◆ calculateWaveFunction()

void ThePEG::Helicity::TensorWaveFunction::calculateWaveFunction ( unsigned int  ihel,
TensorPhase  phase = default_tensor_phase 
)
private

Calculate the wavefunction.

Parameters
ihelThe helicity (0,1,2,3,4 as described above.)
phaseThe phase choice.

Referenced by reset(), and TensorWaveFunction().

◆ operator()() [1/2]

Complex & ThePEG::Helicity::TensorWaveFunction::operator() ( int  i,
int  j 
)
inline

Set components by index.

Definition at line 184 of file TensorWaveFunction.h.

References _wf.

◆ operator()() [2/2]

Complex ThePEG::Helicity::TensorWaveFunction::operator() ( int  i,
int  j 
) const
inline

Access to the wavefunction and its components.

Subscript operator for the wavefunction.

Definition at line 177 of file TensorWaveFunction.h.

References _wf.

◆ reset()

void ThePEG::Helicity::TensorWaveFunction::reset ( unsigned int  ihel,
TensorPhase  phase = default_tensor_phase 
)
inline

Reset functions.

Reset helicity (recalculate the tensor ).

Parameters
ihelThe new helicity (0,1,2,3,4 as described above.)
phaseThe phase choice.

Definition at line 284 of file TensorWaveFunction.h.

References calculateWaveFunction().

◆ transform()

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

Perform the Lorentz transformation of the wave function.

Definition at line 294 of file TensorWaveFunction.h.

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

◆ tt()

Complex ThePEG::Helicity::TensorWaveFunction::tt ( ) const
inline

Get the \(tt\) component.

Definition at line 271 of file TensorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzTensor< Value >::tt().

◆ tx()

Complex ThePEG::Helicity::TensorWaveFunction::tx ( ) const
inline

Get the \(tx\) component.

Definition at line 211 of file TensorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzTensor< Value >::tx().

◆ ty()

Complex ThePEG::Helicity::TensorWaveFunction::ty ( ) const
inline

Get the \(ty\) component.

Definition at line 231 of file TensorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzTensor< Value >::ty().

◆ tz()

Complex ThePEG::Helicity::TensorWaveFunction::tz ( ) const
inline

Get the \(tz\) component.

Definition at line 251 of file TensorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzTensor< Value >::tz().

◆ wave()

const LorentzTensor< double > & ThePEG::Helicity::TensorWaveFunction::wave ( ) const
inline

Return wavefunction as polarization vector.

Definition at line 191 of file TensorWaveFunction.h.

References _wf.

Referenced by TensorWaveFunction().

◆ xt()

Complex ThePEG::Helicity::TensorWaveFunction::xt ( ) const
inline

Get the \(xt\) component.

Definition at line 256 of file TensorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzTensor< Value >::xt().

◆ xx()

Complex ThePEG::Helicity::TensorWaveFunction::xx ( ) const
inline

Get the \(xx\) component.

Definition at line 196 of file TensorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzTensor< Value >::xx().

◆ xy()

Complex ThePEG::Helicity::TensorWaveFunction::xy ( ) const
inline

Get the \(xy\) component.

Definition at line 216 of file TensorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzTensor< Value >::xy().

◆ xz()

Complex ThePEG::Helicity::TensorWaveFunction::xz ( ) const
inline

Get the \(xz\) component.

Definition at line 236 of file TensorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzTensor< Value >::xz().

◆ yt()

Complex ThePEG::Helicity::TensorWaveFunction::yt ( ) const
inline

Get the \(yt\) component.

Definition at line 261 of file TensorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzTensor< Value >::yt().

◆ yx()

Complex ThePEG::Helicity::TensorWaveFunction::yx ( ) const
inline

Get the \(yx\) component.

Definition at line 201 of file TensorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzTensor< Value >::yx().

◆ yy()

Complex ThePEG::Helicity::TensorWaveFunction::yy ( ) const
inline

Get the \(yy\) component.

Definition at line 221 of file TensorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzTensor< Value >::yy().

◆ yz()

Complex ThePEG::Helicity::TensorWaveFunction::yz ( ) const
inline

Get the \(yz\) component.

Definition at line 241 of file TensorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzTensor< Value >::yz().

◆ zt()

Complex ThePEG::Helicity::TensorWaveFunction::zt ( ) const
inline

Get the \(zt\) component.

Definition at line 266 of file TensorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzTensor< Value >::zt().

◆ zx()

Complex ThePEG::Helicity::TensorWaveFunction::zx ( ) const
inline

Get the \(zx\) component.

Definition at line 206 of file TensorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzTensor< Value >::zx().

◆ zy()

Complex ThePEG::Helicity::TensorWaveFunction::zy ( ) const
inline

Get the \(zy\) component.

Definition at line 226 of file TensorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzTensor< Value >::zy().

◆ zz()

Complex ThePEG::Helicity::TensorWaveFunction::zz ( ) const
inline

Get the \(zz\) component.

Definition at line 246 of file TensorWaveFunction.h.

References _wf, and ThePEG::Helicity::LorentzTensor< Value >::zz().

Member Data Documentation

◆ _wf

LorentzTensor<double> ThePEG::Helicity::TensorWaveFunction::_wf
private

Storage of the wavefunction as a Lorentz Tensor.

Definition at line 358 of file TensorWaveFunction.h.

Referenced by operator()(), transform(), tt(), tx(), ty(), tz(), wave(), xt(), xx(), xy(), xz(), yt(), yx(), yy(), yz(), zt(), zx(), zy(), and zz().


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