9 #ifndef ThePEG_SpinorWaveFunction_H 10 #define ThePEG_SpinorWaveFunction_H 14 #include "WaveFunctionBase.h" 15 #include <ThePEG/Helicity/LorentzSpinor.h> 16 #include <ThePEG/Helicity/FermionSpinInfo.h> 17 #include <ThePEG/EventRecord/Particle.h> 18 #include <ThePEG/EventRecord/RhoDMatrix.h> 27 class SpinorBarWaveFunction;
72 complex<double>
s2,complex<double>
s3,complex<double>
s4)
104 for (
unsigned int i=0; i<4; ++i)
105 _wf[i]=wave[i]*UnitRemoval::InvSqrtE;
294 for (
unsigned int i=0; i<4; ++i)
295 temp(i) =
_wf(i)*UnitRemoval::SqrtE;
PDT::Spin iSpin() const
Get 2s+1 for the particle.
LorentzSpinor< double > _wf
Storage of the Lorentz Spinor.
void transform(const LorentzRotation &r)
Perform the Lorentz transformation of the wave function.
complex< Value > s3() const
Get third component.
static void constructSpinInfo(const vector< LorentzSpinor< SqrtEnergy > > &waves, tPPtr part, Direction dir, bool time)
Construct the SpinInfo object.
SpinorBarWaveFunction bar()
Return the barred spinor.
SpinorWaveFunction(const Lorentz5Momentum &p, tcPDPtr part, Direction dir)
Constructor, set the momentum, direction, zero the wavefunction.
void conjugate()
Take the conjugate of the spinor .
SpinorWaveFunction(const Lorentz5Momentum &p, tcPDPtr part, unsigned int ihel, Direction dir)
Constructor, set the momentum, helicity, direction.
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
void calculateWaveFunction(unsigned int ihel)
Calcuate the wavefunction.
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...
void reset(unsigned int ihel)
Reset functions.
const LorentzSpinor< double > & wave() const
Return wavefunction as LorentzSpinor<double>.
const Lorentz5Momentum & momentum() const
Access to the 5-momentum.
This is the main namespace within which all identifiers in ThePEG are declared.
An intermediate particle.
SpinorWaveFunction(const Lorentz5Momentum &p, tcPDPtr part, const LorentzSpinor< double > &wave, Direction dir=intermediate)
Constructor, set the momentum and the wavefunction.
SpinorWaveFunction(vector< SpinorWaveFunction > &wave, tPPtr part, Direction dir, bool time, bool=true)
Special for spin correlations.
LorentzSpinor conjugate() const
Return the conjugated spinor .
static void calculateWaveFunctions(vector< LorentzSpinor< SqrtEnergy > > &waves, tPPtr particle, Direction)
Calculate the wavefunctions.
LorentzSpinor & transform(const SpinHalfLorentzRotation &)
General Lorentz transformation.
complex< double > s2() const
Get the second spin component component.
LorentzSpinor< SqrtEnergy > dimensionedWave() const
Return wavefunction as LorentzSpinor<SqrtEnergy>.
complex< double > s3() const
Get the third spin component component.
complex< Value > s1() const
Get first component.
LorentzSpinor< SqrtEnergy > dimensionedWf() const
Return wavefunction as LorentzSpinor<SqrtEnergy>
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.
tcPDPtr particle() const
Get the particle pointer.
complex< double > s4() const
Get the fourth spin component component.
complex< double > s1() const
Get the first spin component component.
A Direction object can be used to specify that some following operations should be assumed to be perf...
complex< Value > s4() const
Get fourth component.
SpinorType Type() const
Return the type of the spinor.
SpinorWaveFunction()
Default constructor.
The RhoDMatrix class is designed to implement the storage of the rho and D matrices which are require...
complex< Value > s2() const
Get second component.
complex< double > operator()(int i) const
Access to the wavefunction and its components.
void transformMomentum(const LorentzRotation &r)
Perform the Lorentz transformation of the wave function.
SpinorWaveFunction(const tPPtr &p, const LorentzSpinor< SqrtEnergy > &wave, Direction dir=intermediate)
Constructor, set the momentum and the wavefunction.