ThePEG 2.3.0
|
#include <TensorWaveFunction.h>
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. | |
Complex & | operator() (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 Lorentz5Momentum & | momentum () 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. | |
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.
Definition at line 67 of file TensorWaveFunction.h.
|
inline |
Constructor, set the momentum and Wavefunction, the direction can also be specified.
p | The momentum. |
part | The ParticleData pointer |
wave | The wavefunction, i.e. the polarization vector. |
dir | The direction of the particle. |
Definition at line 81 of file TensorWaveFunction.h.
References ThePEG::Helicity::WaveFunctionBase::iSpin(), and ThePEG::PDT::Spin2.
|
inline |
Constructor, set the momentum and the components of the tensor.
p | The momentum. |
part | The ParticleData pointer |
xx | The \(xx\) component. |
xy | The \(xy\) component. |
xz | The \(xz\) component. |
xt | The \(xt\) component. |
yx | The \(yx\) component. |
yy | The \(yy\) component. |
yz | The \(yz\) component. |
yt | The \(yt\) component. |
zx | The \(zx\) component. |
zy | The \(zy\) component. |
zz | The \(zz\) component. |
zt | The \(zt\) component. |
tx | The \(tx\) component. |
ty | The \(ty\) component. |
tz | The \(tz\) component. |
tt | The \(tt\) component. |
Definition at line 110 of file TensorWaveFunction.h.
References ThePEG::Helicity::WaveFunctionBase::iSpin(), and ThePEG::PDT::Spin2.
|
inline |
Constructor, set the momentum, helicity, direction and optionally the phase.
p | The momentum. |
part | The ParticleData pointer |
ihel | The helicity (0,1,2,3,4 as described above.) |
dir | The direction. |
phase | The phase choice. |
Definition at line 131 of file TensorWaveFunction.h.
References calculateWaveFunction(), ThePEG::Helicity::WaveFunctionBase::iSpin(), and ThePEG::PDT::Spin2.
|
inline |
Constructor, set the 5-momentum and direction, zero the wavefunction.
p | The momentum. |
part | The ParticleData pointer. |
dir | The direction. |
Definition at line 146 of file TensorWaveFunction.h.
References ThePEG::Helicity::WaveFunctionBase::iSpin(), and ThePEG::PDT::Spin2.
|
inline |
Default constructor.
Definition at line 156 of file TensorWaveFunction.h.
|
inline |
Special for spin correlations.
Definition at line 161 of file TensorWaveFunction.h.
References calculateWaveFunctions(), constructSpinInfo(), and wave().
|
private |
Calculate the wavefunction.
ihel | The helicity (0,1,2,3,4 as described above.) |
phase | The phase choice. |
Referenced by reset(), and TensorWaveFunction().
|
inline |
|
inline |
Access to the wavefunction and its components.
Subscript operator for the wavefunction.
Definition at line 177 of file TensorWaveFunction.h.
References _wf.
|
inline |
Reset functions.
Reset helicity (recalculate the tensor ).
ihel | The new helicity (0,1,2,3,4 as described above.) |
phase | The phase choice. |
Definition at line 284 of file TensorWaveFunction.h.
References calculateWaveFunction().
|
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().
|
inline |
Get the \(tt\) component.
Definition at line 271 of file TensorWaveFunction.h.
References _wf, and ThePEG::Helicity::LorentzTensor< Value >::tt().
|
inline |
Get the \(tx\) component.
Definition at line 211 of file TensorWaveFunction.h.
References _wf, and ThePEG::Helicity::LorentzTensor< Value >::tx().
|
inline |
Get the \(ty\) component.
Definition at line 231 of file TensorWaveFunction.h.
References _wf, and ThePEG::Helicity::LorentzTensor< Value >::ty().
|
inline |
Get the \(tz\) component.
Definition at line 251 of file TensorWaveFunction.h.
References _wf, and ThePEG::Helicity::LorentzTensor< Value >::tz().
|
inline |
Return wavefunction as polarization vector.
Definition at line 191 of file TensorWaveFunction.h.
References _wf.
Referenced by TensorWaveFunction().
|
inline |
Get the \(xt\) component.
Definition at line 256 of file TensorWaveFunction.h.
References _wf, and ThePEG::Helicity::LorentzTensor< Value >::xt().
|
inline |
Get the \(xx\) component.
Definition at line 196 of file TensorWaveFunction.h.
References _wf, and ThePEG::Helicity::LorentzTensor< Value >::xx().
|
inline |
Get the \(xy\) component.
Definition at line 216 of file TensorWaveFunction.h.
References _wf, and ThePEG::Helicity::LorentzTensor< Value >::xy().
|
inline |
Get the \(xz\) component.
Definition at line 236 of file TensorWaveFunction.h.
References _wf, and ThePEG::Helicity::LorentzTensor< Value >::xz().
|
inline |
Get the \(yt\) component.
Definition at line 261 of file TensorWaveFunction.h.
References _wf, and ThePEG::Helicity::LorentzTensor< Value >::yt().
|
inline |
Get the \(yx\) component.
Definition at line 201 of file TensorWaveFunction.h.
References _wf, and ThePEG::Helicity::LorentzTensor< Value >::yx().
|
inline |
Get the \(yy\) component.
Definition at line 221 of file TensorWaveFunction.h.
References _wf, and ThePEG::Helicity::LorentzTensor< Value >::yy().
|
inline |
Get the \(yz\) component.
Definition at line 241 of file TensorWaveFunction.h.
References _wf, and ThePEG::Helicity::LorentzTensor< Value >::yz().
|
inline |
Get the \(zt\) component.
Definition at line 266 of file TensorWaveFunction.h.
References _wf, and ThePEG::Helicity::LorentzTensor< Value >::zt().
|
inline |
Get the \(zx\) component.
Definition at line 206 of file TensorWaveFunction.h.
References _wf, and ThePEG::Helicity::LorentzTensor< Value >::zx().
|
inline |
Get the \(zy\) component.
Definition at line 226 of file TensorWaveFunction.h.
References _wf, and ThePEG::Helicity::LorentzTensor< Value >::zy().
|
inline |
Get the \(zz\) component.
Definition at line 246 of file TensorWaveFunction.h.
References _wf, and ThePEG::Helicity::LorentzTensor< Value >::zz().
|
private |