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

The FermionSpinInfo class inherits from the SpinInfo class and implements the storage of the basis vectors for a spin-1/2 particle. More...

#include <FermionSpinInfo.h>

Inheritance diagram for ThePEG::Helicity::FermionSpinInfo:

Public Member Functions

Standard constructors and destructors.
 FermionSpinInfo ()
 Default constructor.
 
 FermionSpinInfo (const Lorentz5Momentum &p, bool time)
 Standard Constructor.
 
- Public Member Functions inherited from ThePEG::SpinInfo
void productionVertex (VertexPtr in) const
 Set the vertex at which the particle was produced.
 
tcVertexPtr productionVertex () const
 Get the vertex at which the particle was produced.
 
void decayVertex (VertexPtr in) const
 Set the vertex at which the particle decayed or branched.
 
tcVertexPtr decayVertex () const
 Get the vertex at which the particle decayed or branched.
 
bool decayed () const
 Has the particle decayed?
 
void decayed (bool b) const
 Set if the particle has decayed.
 
DevelopedStatus developed () const
 Return true if the decay matrix required to perform the decays of the siblings of a particle has been calculated.
 
void decay (bool recursive=false) const
 Calculate the rho matrix for the decay if not already done.
 
void develop () const
 Set the developed flag and calculate the D matrix for the decay.
 
void needsUpdate () const
 Needs update.
 
void stopUpdate () const
 Used for an unstable particle to temporarily stop redevelop and redecay at that particle.
 
PDT::Spin iSpin () const
 Return 2s+1 for the particle.
 
const Lorentz5MomentumproductionMomentum () const
 Return the momentum of the particle when it was produced.
 
const Lorentz5MomentumcurrentMomentum () const
 The current momentum of the particle.
 
bool timelike () const
 Return true if particle is timelike (rather than spacelike).
 
int productionLocation () const
 Access to the locations.
 
int decayLocation () const
 Decay Location.
 
RhoDMatrix rhoMatrix () const
 Access the rho matrix.
 
RhoDMatrixrhoMatrix ()
 Access the rho matrix.
 
RhoDMatrix DMatrix () const
 Access the D matrix.
 
RhoDMatrixDMatrix ()
 Access the D matrix.
 
bool isNear (const Lorentz5Momentum &p)
 Check if momentum is near to the current momentum.
 
 SpinInfo ()
 Default constructor.
 
 SpinInfo (PDT::Spin s, const Lorentz5Momentum &p=Lorentz5Momentum(), bool time=false)
 Standard Constructor.
 
 SpinInfo (const SpinInfo &)
 Copy-constructor.
 
virtual bool hasPolarization () const
 Returns true if the polarization() has been implemented in a subclass.
 
virtual DPair polarization () const
 Return the angles of the polarization vector as a pair of doubles.
 
virtual void rebind (const EventTranslationMap &trans)
 Rebind to cloned objects.
 
void update () const
 Method to handle the delelation.
 
virtual void rebind (const EventTranslationMap &)
 Rebind to cloned objects.
 
virtual EIPtr clone () const
 Standard clone method.
 
- Public Member Functions inherited from ThePEG::Base
virtual ~Base ()
 The virtual destructor.
 
void debug () const
 Print out debugging information for this object on std::cerr.
 
virtual void debugme () const
 Print out debugging information for this object on std::cerr.
 
- Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted
CounterType referenceCount () const
 Return the reference count.
 

Set and get methods for the basis state.

std::array< LorentzSpinor< SqrtEnergy >, 2 > _productionstates
 basis states in the frame in which the particle was produced
 
std::array< LorentzSpinor< SqrtEnergy >, 2 > _currentstates
 basis states in the current frame of the particle
 
std::array< LorentzSpinor< SqrtEnergy >, 2 > _decaystates
 basis states in the frame in which the particle decays
 
bool _decaycalc
 True if the decay state has been set.
 
void setBasisState (unsigned int hel, const LorentzSpinor< SqrtEnergy > &in) const
 Set the basis state, this is production state.
 
void setDecayState (unsigned int hel, const LorentzSpinor< SqrtEnergy > &in) const
 Set the basis state for the decay.
 
const LorentzSpinor< SqrtEnergy > & getProductionBasisState (unsigned int hel) const
 Get the basis state for the production for the given helicity, hel (which is 0 or 1 as described above.)
 
const LorentzSpinor< SqrtEnergy > & getCurrentBasisState (unsigned int hel) const
 Get the current basis state for the given helicity, hel (which is 0 or 1 as described above.)
 
const LorentzSpinor< SqrtEnergy > & getDecayBasisState (unsigned int hel) const
 Get the basis state for the decay for the given helicity, hel (which is 0 or 1 as described above.)
 
virtual void transform (const LorentzMomentum &, const LorentzRotation &)
 Perform a lorentz rotation of the spin information.
 
virtual void undecay () const
 Undecay.
 
virtual void reset ()
 Reset.
 
virtual EIPtr clone () const
 Standard clone method.
 
static void Init ()
 Standard Init function.
 
FermionSpinInfooperator= (const FermionSpinInfo &)=delete
 Private and non-existent assignment operator.
 

Additional Inherited Members

- Public Types inherited from ThePEG::SpinInfo
enum  DevelopedStatus { Undeveloped =0 , Developed =1 , NeedsUpdate =2 , StopUpdate =3 }
 Status for the implementation of spin correlations. More...
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 The integer type used for counting.
 
- Static Public Member Functions inherited from ThePEG::SpinInfo
static void Init ()
 Standard Init function.
 
- Static Public Member Functions inherited from ThePEG::EventInfoBase
static void Init ()
 Standard Init function.
 
- Static Public Member Functions inherited from ThePEG::Base
static void Init ()
 The standard Init function used to initialize the interfaces.
 
- Public Attributes inherited from ThePEG::Pointer::ReferenceCounted
const unsigned long uniqueId
 The unique ID.
 
- Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted
 ReferenceCounted ()
 Default constructor.
 
 ReferenceCounted (const ReferenceCounted &)
 Copy-constructor.
 
ReferenceCountedoperator= (const ReferenceCounted &)
 Assignment.
 

Detailed Description

The FermionSpinInfo class inherits from the SpinInfo class and implements the storage of the basis vectors for a spin-1/2 particle.

The basis states are the u-spinors for a particle and the v-spinors for an antiparticle. The barred spinors can be obtained from these.

These basis states should be set by either matrixelements or decayers which are capable of generating spin correlation information.

The basis states in the rest frame of the particles can then be accessed by decayers to produce the correct correlations.

N.B. in our convention 0 is the \(-\frac12\) helicity state and 1 is the \(+\frac12\) helicity state.

Author
Peter Richardson

Definition at line 40 of file FermionSpinInfo.h.

Constructor & Destructor Documentation

◆ FermionSpinInfo() [1/2]

ThePEG::Helicity::FermionSpinInfo::FermionSpinInfo ( )
inline

Default constructor.

Definition at line 49 of file FermionSpinInfo.h.

◆ FermionSpinInfo() [2/2]

ThePEG::Helicity::FermionSpinInfo::FermionSpinInfo ( const Lorentz5Momentum p,
bool  time 
)
inline

Standard Constructor.

Parameters
pthe production momentum.
timetrue if the particle is time-like.

Definition at line 57 of file FermionSpinInfo.h.

Member Function Documentation

◆ clone()

virtual EIPtr ThePEG::Helicity::FermionSpinInfo::clone ( ) const
virtual

Standard clone method.

Reimplemented from ThePEG::SpinInfo.

◆ getCurrentBasisState()

const LorentzSpinor< SqrtEnergy > & ThePEG::Helicity::FermionSpinInfo::getCurrentBasisState ( unsigned int  hel) const
inline

Get the current basis state for the given helicity, hel (which is 0 or 1 as described above.)

Definition at line 102 of file FermionSpinInfo.h.

References _currentstates.

◆ getDecayBasisState()

const LorentzSpinor< SqrtEnergy > & ThePEG::Helicity::FermionSpinInfo::getDecayBasisState ( unsigned int  hel) const
inline

Get the basis state for the decay for the given helicity, hel (which is 0 or 1 as described above.)

Definition at line 111 of file FermionSpinInfo.h.

References _currentstates, _decaycalc, and _decaystates.

◆ getProductionBasisState()

const LorentzSpinor< SqrtEnergy > & ThePEG::Helicity::FermionSpinInfo::getProductionBasisState ( unsigned int  hel) const
inline

Get the basis state for the production for the given helicity, hel (which is 0 or 1 as described above.)

Definition at line 93 of file FermionSpinInfo.h.

References _productionstates.

◆ reset()

virtual void ThePEG::Helicity::FermionSpinInfo::reset ( )
inlinevirtual

Reset.

Reimplemented from ThePEG::SpinInfo.

Definition at line 137 of file FermionSpinInfo.h.

References _currentstates, _productionstates, ThePEG::SpinInfo::reset(), and undecay().

◆ setBasisState()

void ThePEG::Helicity::FermionSpinInfo::setBasisState ( unsigned int  hel,
const LorentzSpinor< SqrtEnergy > &  in 
) const
inline

Set the basis state, this is production state.

Parameters
helthe helicity (0 or 1 as described above.)
inthe LorentzSpinor for the given helicity.

Definition at line 70 of file FermionSpinInfo.h.

References _currentstates, and _productionstates.

◆ setDecayState()

void ThePEG::Helicity::FermionSpinInfo::setDecayState ( unsigned int  hel,
const LorentzSpinor< SqrtEnergy > &  in 
) const
inline

Set the basis state for the decay.

Parameters
helthe helicity (0 or 1 as described above.)
inthe LorentzSpinor for the given helicity.

Definition at line 82 of file FermionSpinInfo.h.

References _decaycalc, and _decaystates.

◆ transform()

virtual void ThePEG::Helicity::FermionSpinInfo::transform ( const LorentzMomentum ,
const LorentzRotation  
)
virtual

Perform a lorentz rotation of the spin information.

Reimplemented from ThePEG::SpinInfo.

◆ undecay()

virtual void ThePEG::Helicity::FermionSpinInfo::undecay ( ) const
inlinevirtual

Undecay.

Reimplemented from ThePEG::SpinInfo.

Definition at line 129 of file FermionSpinInfo.h.

References _decaycalc, and ThePEG::SpinInfo::undecay().

Referenced by reset().

Member Data Documentation

◆ _currentstates

std::array<LorentzSpinor<SqrtEnergy>,2> ThePEG::Helicity::FermionSpinInfo::_currentstates
mutableprivate

basis states in the current frame of the particle

Definition at line 172 of file FermionSpinInfo.h.

Referenced by getCurrentBasisState(), getDecayBasisState(), reset(), and setBasisState().

◆ _decaycalc

bool ThePEG::Helicity::FermionSpinInfo::_decaycalc
mutableprivate

True if the decay state has been set.

Definition at line 182 of file FermionSpinInfo.h.

Referenced by getDecayBasisState(), setDecayState(), and undecay().

◆ _decaystates

std::array<LorentzSpinor<SqrtEnergy>,2> ThePEG::Helicity::FermionSpinInfo::_decaystates
mutableprivate

basis states in the frame in which the particle decays

Definition at line 177 of file FermionSpinInfo.h.

Referenced by getDecayBasisState(), and setDecayState().

◆ _productionstates

std::array<LorentzSpinor<SqrtEnergy>,2> ThePEG::Helicity::FermionSpinInfo::_productionstates
mutableprivate

basis states in the frame in which the particle was produced

Definition at line 167 of file FermionSpinInfo.h.

Referenced by getProductionBasisState(), reset(), and setBasisState().


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