ThePEG 2.3.0
|
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>
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 Lorentz5Momentum & | productionMomentum () const |
Return the momentum of the particle when it was produced. | |
const Lorentz5Momentum & | currentMomentum () 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. | |
RhoDMatrix & | rhoMatrix () |
Access the rho matrix. | |
RhoDMatrix | DMatrix () const |
Access the D matrix. | |
RhoDMatrix & | DMatrix () |
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. | |
FermionSpinInfo & | operator= (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. | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Assignment. | |
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.
Definition at line 40 of file FermionSpinInfo.h.
|
inline |
Default constructor.
Definition at line 49 of file FermionSpinInfo.h.
|
inline |
Standard Constructor.
p | the production momentum. |
time | true if the particle is time-like. |
Definition at line 57 of file FermionSpinInfo.h.
|
virtual |
Standard clone method.
Reimplemented from ThePEG::SpinInfo.
|
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.
|
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.
|
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.
|
inlinevirtual |
Reset.
Reimplemented from ThePEG::SpinInfo.
Definition at line 137 of file FermionSpinInfo.h.
References _currentstates, _productionstates, ThePEG::SpinInfo::reset(), and undecay().
|
inline |
Set the basis state, this is production state.
hel | the helicity (0 or 1 as described above.) |
in | the LorentzSpinor for the given helicity. |
Definition at line 70 of file FermionSpinInfo.h.
References _currentstates, and _productionstates.
|
inline |
Set the basis state for the decay.
hel | the helicity (0 or 1 as described above.) |
in | the LorentzSpinor for the given helicity. |
Definition at line 82 of file FermionSpinInfo.h.
References _decaycalc, and _decaystates.
|
virtual |
Perform a lorentz rotation of the spin information.
Reimplemented from ThePEG::SpinInfo.
|
inlinevirtual |
Undecay.
Reimplemented from ThePEG::SpinInfo.
Definition at line 129 of file FermionSpinInfo.h.
References _decaycalc, and ThePEG::SpinInfo::undecay().
Referenced by reset().
|
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().
|
mutableprivate |
True if the decay state has been set.
Definition at line 182 of file FermionSpinInfo.h.
Referenced by getDecayBasisState(), setDecayState(), and undecay().
|
mutableprivate |
basis states in the frame in which the particle decays
Definition at line 177 of file FermionSpinInfo.h.
Referenced by getDecayBasisState(), and setDecayState().
|
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().