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

The TensorSpinInfo class is the implementation of the spin information for tensor particles. More...

#include <TensorSpinInfo.h>

Inheritance diagram for ThePEG::Helicity::TensorSpinInfo:

Public Member Functions

Standard constructors and destructors.
 TensorSpinInfo ()
 Default constructor.
 
 TensorSpinInfo (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.
 

Access the basis states.

std::array< LorentzTensor< double >, 5 > _productionstates
 Basis states in the frame in which the particle was produced.
 
std::array< LorentzTensor< double >, 5 > _decaystates
 Basis states in the frame in which the particle decays.
 
std::array< LorentzTensor< double >, 5 > _currentstates
 Basis states in the current frame of the particle.
 
bool _decaycalc
 True if the decay state has been set.
 
void setBasisState (unsigned int hel, LorentzTensor< double > in) const
 Set the basis state, this is production state.
 
void setDecayState (unsigned int hel, LorentzTensor< double > in) const
 Set the basis state for the decay.
 
const LorentzTensor< double > & getProductionBasisState (unsigned int hel) const
 Get the basis state for the production for the given helicity, hel (0,1,2,3,4 as described above.)
 
const LorentzTensor< double > & getCurrentBasisState (unsigned int hel) const
 Get the basis state for the current for the given helicity, hel (0,1,2,3,4 as described above.)
 
const LorentzTensor< double > & getDecayBasisState (unsigned int hel) const
 Get the basis state for the decay for the given helicity, hel (0,1,2,3,4 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.
 
TensorSpinInfooperator= (const TensorSpinInfo &)=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 TensorSpinInfo class is the implementation of the spin information for tensor particles.

It inherits from the SpinInfo class and implements the storage of the basis tensors.

These basis states should be set by either matrix elements 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 correlation.

N.B. in our convention 0 is the \(-2\) helicity state, 1 is the \(-1\) helicity state, 2 is the \(0\) helicity state, 3 is the \(+1\) helicity state and 4 is the \(+2\) helicity state.

Author
Peter Richardson

Definition at line 43 of file TensorSpinInfo.h.

Constructor & Destructor Documentation

◆ TensorSpinInfo() [1/2]

ThePEG::Helicity::TensorSpinInfo::TensorSpinInfo ( )
inline

Default constructor.

Definition at line 52 of file TensorSpinInfo.h.

◆ TensorSpinInfo() [2/2]

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

Standard Constructor.

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

Definition at line 59 of file TensorSpinInfo.h.

Member Function Documentation

◆ clone()

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

Standard clone method.

Reimplemented from ThePEG::SpinInfo.

◆ getCurrentBasisState()

const LorentzTensor< double > & ThePEG::Helicity::TensorSpinInfo::getCurrentBasisState ( unsigned int  hel) const
inline

Get the basis state for the current for the given helicity, hel (0,1,2,3,4 as described above.)

Definition at line 102 of file TensorSpinInfo.h.

References _currentstates.

◆ getDecayBasisState()

const LorentzTensor< double > & ThePEG::Helicity::TensorSpinInfo::getDecayBasisState ( unsigned int  hel) const
inline

Get the basis state for the decay for the given helicity, hel (0,1,2,3,4 as described above.)

Definition at line 111 of file TensorSpinInfo.h.

References _currentstates, _decaycalc, and _decaystates.

◆ getProductionBasisState()

const LorentzTensor< double > & ThePEG::Helicity::TensorSpinInfo::getProductionBasisState ( unsigned int  hel) const
inline

Get the basis state for the production for the given helicity, hel (0,1,2,3,4 as described above.)

Definition at line 93 of file TensorSpinInfo.h.

References _productionstates.

◆ reset()

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

Reset.

Reimplemented from ThePEG::SpinInfo.

Definition at line 138 of file TensorSpinInfo.h.

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

◆ setBasisState()

void ThePEG::Helicity::TensorSpinInfo::setBasisState ( unsigned int  hel,
LorentzTensor< double >  in 
) const
inline

Set the basis state, this is production state.

Parameters
helthe helicity (0,1,2,3,4 as described above.)
inthe LorentzTensor for the given helicity.

Definition at line 72 of file TensorSpinInfo.h.

References _currentstates, and _productionstates.

◆ setDecayState()

void ThePEG::Helicity::TensorSpinInfo::setDecayState ( unsigned int  hel,
LorentzTensor< double >  in 
) const
inline

Set the basis state for the decay.

Parameters
helthe helicity (0,1,2,3,4 as described above.)
inthe LorentzTensor for the given helicity.

Definition at line 83 of file TensorSpinInfo.h.

References _decaycalc, and _decaystates.

◆ transform()

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

Perform a lorentz rotation of the spin information.

Reimplemented from ThePEG::SpinInfo.

◆ undecay()

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

Undecay.

Reimplemented from ThePEG::SpinInfo.

Definition at line 130 of file TensorSpinInfo.h.

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

Referenced by reset().

Member Data Documentation

◆ _currentstates

std::array<LorentzTensor<double>,5> ThePEG::Helicity::TensorSpinInfo::_currentstates
mutableprivate

Basis states in the current frame of the particle.

Definition at line 178 of file TensorSpinInfo.h.

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

◆ _decaycalc

bool ThePEG::Helicity::TensorSpinInfo::_decaycalc
mutableprivate

True if the decay state has been set.

Definition at line 183 of file TensorSpinInfo.h.

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

◆ _decaystates

std::array<LorentzTensor<double>,5> ThePEG::Helicity::TensorSpinInfo::_decaystates
mutableprivate

Basis states in the frame in which the particle decays.

Definition at line 173 of file TensorSpinInfo.h.

Referenced by getDecayBasisState(), and setDecayState().

◆ _productionstates

std::array<LorentzTensor<double>,5> ThePEG::Helicity::TensorSpinInfo::_productionstates
mutableprivate

Basis states in the frame in which the particle was produced.

Definition at line 168 of file TensorSpinInfo.h.

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


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