thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.1.5
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

virtual void transform (const LorentzMomentum &, const LorentzRotation &)
 Perform a lorentz rotation of the spin information.
 
virtual void undecay () const
 Undecay.
 
virtual EIPtr clone () const
 Standard clone method.
 
Standard constructors and destructors.
 FermionSpinInfo ()
 Default constructor.
 
 FermionSpinInfo (const Lorentz5Momentum &p, bool time)
 Standard Constructor. More...
 
Set and get methods for the basis state.
void setBasisState (unsigned int hel, const LorentzSpinor< SqrtEnergy > &in) const
 Set the basis state, this is production state. More...
 
void setDecayState (unsigned int hel, const LorentzSpinor< SqrtEnergy > &in) const
 Set the basis state for the decay. More...
 
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.)
 
- Public Member Functions inherited from ThePEG::SpinInfo
virtual bool hasPolarization () const
 Returns true if the polarization() has been implemented in a subclass. More...
 
virtual DPair polarization () const
 Return the angles of the polarization vector as a pair of doubles. More...
 
virtual void rebind (const EventTranslationMap &trans)
 Rebind to cloned objects. More...
 
void update () const
 Method to handle the delelation.
 
 SpinInfo ()
 Default constructor.
 
 SpinInfo (PDT::Spin s, const Lorentz5Momentum &p=Lorentz5Momentum(), bool time=false)
 Standard Constructor. More...
 
 SpinInfo (const SpinInfo &)
 Copy-constructor.
 
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.
 
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. More...
 
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.
 
- 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. More...
 
virtual void debugme () const
 Print out debugging information for this object on std::cerr. More...
 
- Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted
CounterType referenceCount () const
 Return the reference count.
 

Static Public Member Functions

static void Init ()
 Standard Init function.
 
- 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. More...
 
- Static Public Member Functions inherited from ThePEG::Base
static void Init ()
 The standard Init function used to initialize the interfaces. More...
 

Private Member Functions

FermionSpinInfooperator= (const FermionSpinInfo &)=delete
 Private and non-existent assignment operator.
 

Private Attributes

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.
 

Additional Inherited Members

- Public Types inherited from ThePEG::SpinInfo
enum  DevelopedStatus { Undeveloped =0, Developed =1, NeedsUpdate =2 }
 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.
 
- Public Attributes inherited from ThePEG::Pointer::ReferenceCounted
const unsigned long uniqueId
 The unique ID. More...
 
- Protected Member Functions inherited from ThePEG::SpinInfo
bool isNear (const Lorentz5Momentum &p)
 Check if momentum is near to the current momentum.
 
- 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()

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

◆ 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.


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