9 #ifndef ThePEG_TensorWaveFunction_H 10 #define ThePEG_TensorWaveFunction_H 14 #include "WaveFunctionBase.h" 15 #include "VectorWaveFunction.h" 16 #include <ThePEG/Helicity/LorentzTensor.h> 17 #include <ThePEG/Helicity/TensorSpinInfo.h> 18 #include <ThePEG/EventRecord/Particle.h> 19 #include <ThePEG/EventRecord/RhoDMatrix.h> PDT::Spin iSpin() const
Get 2s+1 for the particle.
Complex ty() const
Get the component.
complex< Value > zt() const
Get z,t component.
void reset(unsigned int ihel, TensorPhase phase=default_tensor_phase)
Reset functions.
complex< Value > xz() const
Get x,z component.
Complex zt() const
Get the component.
Complex zy() const
Get the component.
complex< Value > yy() const
Get y,y component.
Complex operator()(int i, int j) const
Access to the wavefunction and its components.
std::complex< double > Complex
ThePEG code should use Complex for all complex scalars.
complex< Value > ty() const
Get t,y component.
TensorWaveFunction()
Default constructor.
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
The LorentzRotation class combine a SpinOneLorentzRotation and a spin SpinHalfLorentzRotation to prov...
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
Complex yx() const
Get the component.
complex< Value > zy() const
Get z,y component.
static void constructSpinInfo(const vector< LorentzTensor< double > > &waves, tPPtr part, Direction dir, bool time, bool massless)
Construct the SpinInfo object.
This is the main namespace within which all identifiers in ThePEG are declared.
complex< Value > yz() const
Get y,z component.
complex< Value > xy() const
Get x,y component.
complex< Value > tz() const
Get t,z component.
Complex yz() const
Get the component.
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.
An intermediate particle.
static void calculateWaveFunctions(vector< LorentzTensor< double > > &waves, tPPtr particle, Direction, bool massless, TensorPhase phase=default_tensor_phase)
Calculate the wavefunctions.
Complex tx() const
Get the component.
TensorWaveFunction(const Lorentz5Momentum &p, tcPDPtr part, Direction dir)
Constructor, set the 5-momentum and direction, zero the wavefunction.
TensorPhase
Definition of the enumerated values of the phase to include in the calculation of the polarization te...
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.
complex< Value > zz() const
Get z,z component.
void calculateWaveFunction(unsigned int ihel, TensorPhase phase=default_tensor_phase)
Calculate the wavefunction.
complex< Value > yt() const
Get y,t component.
void transform(const LorentzRotation &r)
Perform the Lorentz transformation of the wave function.
complex< Value > tx() const
Get t,x component.
LorentzTensor< double > _wf
Storage of the wavefunction as a Lorentz Tensor.
const LorentzTensor< double > & wave() const
Return wavefunction as polarization vector.
complex< Value > tt() const
Get t,t component.
Include the phase factor.
tcPDPtr particle() const
Get the particle pointer.
Complex xt() const
Get the component.
complex< Value > zx() const
Get z,x component.
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.
Complex zz() const
Get the component.
Complex yt() const
Get the component.
Complex zx() const
Get the component.
Complex yy() const
Get the component.
complex< Value > xt() const
Get x,t component.
TensorWaveFunction(vector< TensorWaveFunction > &wave, tPPtr part, Direction dir, bool time, bool massless, bool=true, TensorPhase phase=default_tensor_phase)
Special for spin correlations.
Complex xx() const
Get the component.
complex< Value > xx() const
Get x,x component.
A Direction object can be used to specify that some following operations should be assumed to be perf...
Complex xz() const
Get the component.
complex< Value > yx() const
Get y,x component.
LorentzTensor & transform(const SpinOneLorentzRotation &r)
General Lorentz transformation.
The RhoDMatrix class is designed to implement the storage of the rho and D matrices which are require...
Complex xy() const
Get the component.
Complex tt() const
Get the component.
Complex tz() const
Get the component.
void transformMomentum(const LorentzRotation &r)
Perform the Lorentz transformation of the wave function.