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;
complex< Value > s2() const
Get second component.
complex< double > s2() const
Get the second spin component component.
LorentzSpinor conjugate() const
Return the conjugated spinor .
LorentzSpinor< double > _wf
Storage of the Lorentz Spinor.
void transform(const LorentzRotation &r)
Perform the Lorentz transformation of the wave function.
static void constructSpinInfo(const vector< LorentzSpinor< SqrtEnergy > > &waves, tPPtr part, Direction dir, bool time)
Construct the SpinInfo object.
complex< double > s3() const
Get the third spin component component.
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.
const LorentzSpinor< double > & wave() const
Return wavefunction as LorentzSpinor<double>.
complex< double > s1() const
Get the first spin component component.
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.
This is the main namespace within which all identifiers in ThePEG are declared.
complex< double > operator()(int i) const
Access to the wavefunction and its components.
An intermediate particle.
complex< Value > s4() const
Get fourth component.
SpinorWaveFunction(const Lorentz5Momentum &p, tcPDPtr part, const LorentzSpinor< double > &wave, Direction dir=intermediate)
Constructor, set the momentum and the wavefunction.
complex< Value > s3() const
Get third component.
complex< Value > s1() const
Get first component.
complex< double > s4() const
Get the fourth spin component component.
SpinorWaveFunction(vector< SpinorWaveFunction > &wave, tPPtr part, Direction dir, bool time, bool=true)
Special for spin correlations.
static void calculateWaveFunctions(vector< LorentzSpinor< SqrtEnergy > > &waves, tPPtr particle, Direction)
Calculate the wavefunctions.
LorentzSpinor & transform(const SpinHalfLorentzRotation &)
General Lorentz transformation.
LorentzSpinor< SqrtEnergy > dimensionedWf() const
Return wavefunction as LorentzSpinor<SqrtEnergy>
PDT::Spin iSpin() const
Get 2s+1 for the particle.
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.
LorentzSpinor< SqrtEnergy > dimensionedWave() const
Return wavefunction as LorentzSpinor<SqrtEnergy>.
const Lorentz5Momentum & momentum() const
Access to the 5-momentum.
A Direction object can be used to specify that some following operations should be assumed to be perf...
SpinorWaveFunction()
Default constructor.
tcPDPtr particle() const
Get the particle pointer.
The RhoDMatrix class is designed to implement the storage of the rho and D matrices which are require...
SpinorType Type() const
Return the type of the spinor.
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.