#include <ParticleData.h>
Public Types | |
typedef Selector< tDMPtr > | DecaySelector |
A selector of DecayMode objects. | |
Public Member Functions | |
Energy | mass () const |
Return the nominal mass. | |
Energy | massMax () const |
Return the maximum possible mass of this particle type. | |
Energy | massMin () const |
Return the minimum possible mass of this particle type. | |
virtual Energy | constituentMass () const |
Return the constituent mass of this particle if relevant. | |
Energy | width (Energy) |
Set the width. | |
Energy | width () const |
Get the width. | |
Energy | widthCut (Energy wci) |
Set the width cut. | |
Energy | widthCut () const |
Get the width cut. | |
Energy | widthUpCut (Energy) |
Set the upper width cut. | |
Energy | widthUpCut () const |
Get the upper width cut. | |
Energy | widthLoCut (Energy) |
Set the lower width cut. | |
Energy | widthLoCut () const |
Get the lower width cut. | |
Length | cTau (Length) |
Set the life time cTau. | |
Length | cTau () const |
Get the life time cTau cTau. | |
PDT::Charge | iCharge (PDT::Charge) |
Set the charge. | |
Charge | charge () const |
Get the charge. | |
PDT::Charge | iCharge () const |
Get the charge. | |
bool | charged () const |
Return true if charged. | |
bool | positive () const |
Return true if positively charged. | |
bool | negative () const |
Return true if negatively charged. | |
PDT::Spin | iSpin (PDT::Spin) |
Set the spin. | |
AngularMomentum | spin () const |
Get the spin.The spin is returned in standard units. | |
PDT::Spin | iSpin () const |
Get the spin. | |
PDT::Colour | iColour (PDT::Colour) |
Set the colour of the particle in units of PDT::Colour. | |
PDT::Colour | iColour () const |
Get the colour of the particle in units of PDT::Colour. | |
bool | coloured () const |
Return true if coloured. | |
bool | hasColour (bool anti=false) const |
Return true if (anti) coloured or colour-octet. | |
bool | hasAntiColour () const |
Return true if anti coloured or colour-octet. | |
void | stable (bool stab) |
Specify if particle is to be considered stable according to stab. | |
bool | stable () const |
Return true if particle is to be considered stable. | |
tPDPtr | CC () const |
Get the pointer to the corresponding anti partner. | |
void | synchronized (bool sync) |
Specify if the anti partner chould be changed automatically when this object is changed according to sync. | |
bool | synchronized () const |
Return true if the anti partner chould be changed automatically when this object is changed. | |
void | synchronize () |
If there is an anti-partner, update this object to have correct anti-properties. | |
void | massGenerator (tMassGenPtr) |
Set the mass generator object. | |
tMassGenPtr | massGenerator () const |
Get the mass generator object. | |
void | widthGenerator (tWidthGeneratorPtr) |
Set the width generator object. | |
tWidthGeneratorPtr | widthGenerator () const |
Get the width generator object. | |
void | variableRatio (bool varRatio) |
Specify if the branching ratio of the Particle instances should vary with their masses. | |
bool | variableRatio () const |
Return true if the branching ratio should vary with the mass of the Particle instance. | |
Standard constructors and destructors. | |
ParticleData () | |
Default constructor. | |
virtual | ~ParticleData () |
Destructor. | |
Acces to number and name. | |
long | id () const |
Return the PDG id number. | |
const string & | PDGName () const |
Return the generic PDG name. | |
const string & | genericName () const |
Return the generic PDG name. | |
Functions used for producing Particle instances. | |
PPtr | produceParticle (const Lorentz5Momentum &) const |
Produce a particle specifying momentum. | |
PPtr | produceParticle (const LorentzMomentum &) const |
Produce a particle specifying momentum. | |
PPtr | produceParticle (const LorentzMomentum &, Energy m) const |
Produce a particle specifying 4-momentum and a mass. | |
PPtr | produceParticle (const Momentum3 &pp=Momentum3()) const |
Produce a particle specifying 3-momentum. | |
PPtr | produceParticle (Energy m, const Momentum3 &pp=Momentum3()) const |
Produce a particle specifying mass and 3-momentum. | |
PPtr | produceParticle (Energy plus, Energy minus, Energy px, Energy py) const |
Produce a particle specifying light-cone momentum components and transverse momentum components. | |
Energy | generateMass () const |
Generate a mass for an instance of this particle type. | |
Energy | generateWidth (Energy mass) const |
Generate a width for an instance of this particle type. | |
Length | generateLifeTime (Energy mass, Energy width) const |
Generate a mass for an instance of this particle type. | |
Access the decay modes. | |
const DecaySelector & | decaySelector () const |
Return the nominal decay selector for this particle. | |
tDMPtr | selectMode (Particle &p) const |
Selects a decay mode randomly according to the branching ratios. | |
const DecaySet & | decayModes () const |
Access all the decay modes, including those which are switched off, or have zero branching ratio. | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
Static Public Member Functions | |
static void | Init () |
Standard Init function. | |
The Create methods are special interfaces for ParticleData | |
classes. | |
static PDPtr | Create (long newId, const string &newPDGName) |
Create a Particle which is its own anti-particle. | |
static PDPair | Create (long newId, const string &newPDGName, const string &newAntiPDGName) |
Create a particle - anti particle pair. | |
Protected Member Functions | |
virtual PDPtr | pdclone () const |
Special clone function used by the Repository. | |
ParticleData (long newId, const string &newPDGName) | |
Protected constructor only to be used by subclasses or by the Create method. | |
virtual void | readSetup (istream &is) |
Read setup info from a standard stream. | |
void | addDecayMode (tDMPtr) |
Add a decay mode for this particle. | |
void | removeDecayMode (tDMPtr) |
Remove a decay mode for this particle. | |
Clone Methods. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. | |
Standard Interfaced functions. | |
virtual void | doupdate () |
Check sanity of the object during the setup phase. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving an EventGenerator to disk. | |
virtual void | rebind (const TranslationMap &trans) |
Rebind pointer to other Interfaced objects. | |
virtual IVector | getReferences () |
Return a vector of all pointers to Interfaced objects used in this object. | |
virtual void | doinitrun () |
Initialize this object. | |
Static Protected Member Functions | |
static void | antiSetup (const PDPair &pap) |
Used by subclasses or by the Create method to setup anti-relationship. | |
Private Member Functions | |
void | setMass (Energy) |
Utility function for the interface. | |
Energy | defMass () const |
Utility function for the interface. | |
void | setWidth (Energy) |
Utility function for the interface. | |
Energy | getWidth () const |
Utility function for the interface. | |
Energy | defWidth () const |
Utility function for the interface. | |
void | setCut (Energy) |
Utility function for the interface. | |
Energy | getCut () const |
Utility function for the interface. | |
Energy | defCut () const |
Utility function for the interface. | |
void | setUpCut (Energy) |
Utility function for the interface. | |
Energy | getUpCut () const |
Utility function for the interface. | |
void | setLoCut (Energy) |
Utility function for the interface. | |
Energy | getLoCut () const |
Utility function for the interface. | |
void | setCTau (Length) |
Utility function for the interface. | |
Length | getCTau () const |
Utility function for the interface. | |
Length | defCTau () const |
Utility function for the interface. | |
void | setStable (long) |
Utility function for the interface. | |
long | getStable () const |
Utility function for the interface. | |
void | setSync (long) |
Utility function for the interface. | |
long | getSync () const |
Utility function for the interface. | |
void | setVariableRatio (long) |
Utility function for the interface. | |
long | getVariableRatio () const |
Utility function for the interface. | |
string | doSync (string) |
Utility function for the interface. | |
void | setMassGenerator (MassGenPtr) |
Utility function for the interface. | |
void | setWidthGenerator (WidthGeneratorPtr) |
Utility function for the interface. | |
void | setCharge (int) |
Utility function for the interface. | |
string | ssetCharge (string) |
Utility function for the interface. | |
int | getCharge () const |
Utility function for the interface. | |
int | defCharge () const |
Utility function for the interface. | |
void | setSpin (int) |
Utility function for the interface. | |
int | getSpin () const |
Utility function for the interface. | |
int | defSpin () const |
Utility function for the interface. | |
void | setColour (long) |
Utility function for the interface. | |
long | getColour () const |
Utility function for the interface. | |
long | defColour () const |
Utility function for the interface. | |
void | insDecayModes (DMPtr dm, int) |
Utility function for the interface. | |
void | delDecayModes (int i) |
Utility function for the interface. | |
vector< DMPtr > | getDecayModes () const |
Utility function for the interface. | |
Private Attributes | |
long | theId |
Id number according to the STDHEP/PDG standard. | |
string | thePDGName |
Name and Id number according to the STDHEP/PDG standard. | |
Energy | theMass |
Nominal mass. | |
Energy | theWidth |
Width. | |
Energy | theWidthUpCut |
Upper width cut. | |
Energy | theWidthLoCut |
Lower width cut. | |
Length | theCTau |
Lifetime. | |
PDT::Charge | theCharge |
Three times the charge. | |
PDT::Spin | theSpin |
2 times the spin plus one. | |
PDT::Colour | theColour |
The colour for this particle. | |
MassGenPtr | theMassGenerator |
A pointer to an object capable to generate a mass for a particle of this type. | |
bool | isStable |
True if the particle is considered stable. | |
DecaySelector | theDecaySelector |
A selector of decay modes weighted by the nominal branching ratios. | |
DecaySet | theDecayModes |
The set of all decay modes. | |
WidthGeneratorPtr | theWidthGenerator |
A pointer to an object capable to generate the branching fractions for different decay modes for this particle type. | |
bool | theVariableRatio |
Determine whether the branching fractions are allowed to change on a particle-by-particle basis. | |
tPDPtr | theAntiPartner |
Pointer to the object corresponding to the antiparticle. | |
bool | syncAnti |
If syncAnti is true all changes to this object will be transfered to the antiParticle. | |
Energy | theDefMass |
Helper variable to keep track of the default mass. | |
Energy | theDefWidth |
Helper variable to keep track of the default width. | |
Energy | theDefCut |
Helper variable to keep track of the default width cut. | |
Length | theDefCTau |
Helper variable to keep track of the default lifetime. | |
PDT::Charge | theDefCharge |
Helper variable to keep track of the default charge. | |
PDT::Spin | theDefSpin |
Helper variable to keep track of the default spin. | |
PDT::Colour | theDefColour |
Helper variable to keep track of the default colour. | |
Static Private Attributes | |
static ClassDescription < ParticleData > | initParticleData |
Describe a concrete class with persistent data. | |
Friends | |
class | Repository |
The Repository is a friend. | |
class | EventGenerator |
The EventGenerator is a friend. | |
class | DecayMode |
DecayMode is a friend. |
It is also able to produce instances of this Particle type and, among other things, to decay them.
Definition at line 35 of file ParticleData.h.
const string& ThePEG::ParticleData::PDGName | ( | ) | const [inline] |
Return the generic PDG name.
Note that this is not really standardised.
Definition at line 93 of file ParticleData.h.
References thePDGName.
Referenced by ThePEG::Particle::PDGName().
const string& ThePEG::ParticleData::genericName | ( | ) | const [inline] |
Return the generic PDG name.
Note that this is not really standardised.
Definition at line 99 of file ParticleData.h.
References thePDGName.
Energy ThePEG::ParticleData::generateWidth | ( | Energy | mass | ) | const |
Generate a width for an instance of this particle type.
Given a mass of an instance of this particle type, calculate its width.
Length ThePEG::ParticleData::generateLifeTime | ( | Energy | mass, | |
Energy | width | |||
) | const |
Generate a mass for an instance of this particle type.
Given a mass and a width of an instance of this particle type, generate a life time.
const DecaySelector& ThePEG::ParticleData::decaySelector | ( | ) | const [inline] |
Return the nominal decay selector for this particle.
Ie. the decay modes weighted by their nominal branching ratios.
Definition at line 162 of file ParticleData.h.
References theDecaySelector.
Selects a decay mode randomly according to the branching ratios.
The nominal branching ratios may be changed for the particular Particle instance p, iether by an assigned WidthGenerator or the respective Decayers.
virtual Energy ThePEG::ParticleData::constituentMass | ( | ) | const [inline, virtual] |
Return the constituent mass of this particle if relevant.
This version simply returns the nominal mass.
Reimplemented in ThePEG::ConstituentParticleData.
Definition at line 198 of file ParticleData.h.
References mass().
Energy ThePEG::ParticleData::width | ( | ) | const [inline] |
Get the width.
If no width is specified, it is calculated from the lifetime.
Definition at line 209 of file ParticleData.h.
References ThePEG::Units::hbarc, ThePEG::Constants::MaxEnergy, theCTau, theWidth, and ThePEG::ZERO.
Energy ThePEG::ParticleData::widthCut | ( | Energy | wci | ) | [inline] |
Set the width cut.
Both upper and lower cut is set.
Definition at line 218 of file ParticleData.h.
References widthLoCut(), and widthUpCut().
Length ThePEG::ParticleData::cTau | ( | ) | const [inline] |
Get the life time cTau cTau.
If no life time is specified, it is calculated from the width.
Definition at line 261 of file ParticleData.h.
References ThePEG::Units::hbarc, ThePEG::Constants::MaxLength, theCTau, theWidth, and ThePEG::ZERO.
PDT::Charge ThePEG::ParticleData::iCharge | ( | PDT::Charge | ) |
Set the charge.
The charge should be given in units of e/3 using the PDT::Charge enum.
Referenced by ThePEG::NegativeMatcher::Check(), ThePEG::NeutralMatcher::Check(), ThePEG::PositiveMatcher::Check(), and ThePEG::ChargedMatcher::Check().
Charge ThePEG::ParticleData::charge | ( | ) | const [inline] |
Get the charge.
The charge is returned in standard units and in iCharge the charge is returned in units of e/3.
Definition at line 277 of file ParticleData.h.
References theCharge.
PDT::Charge ThePEG::ParticleData::iCharge | ( | ) | const [inline] |
Get the charge.
The charge is returned in units of e/3.
Definition at line 282 of file ParticleData.h.
References theCharge.
Set the spin.
The spin should be given as 2J+1 (in units of hbar/2) using the PDT::Spin enum.
PDT::Spin ThePEG::ParticleData::iSpin | ( | ) | const [inline] |
Get the spin.
The spin is returned as 2J+1 in units of hbar/2.
Definition at line 313 of file ParticleData.h.
References theSpin.
bool ThePEG::ParticleData::stable | ( | ) | const [inline] |
Return true if particle is to be considered stable.
If the decay table is empty the function always returns true, even if the member variable is false.
Definition at line 356 of file ParticleData.h.
References isStable, and theDecayModes.
void ThePEG::ParticleData::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Reimplemented from ThePEG::Interfaced.
Reimplemented in ThePEG::BeamParticleData, ThePEG::ConstituentParticleData, and ThePEG::RemnantData.
void ThePEG::ParticleData::persistentInput | ( | PersistentIStream & | is, | |
int | version | |||
) |
Function used to read in object persistently.
is | the persistent input stream read from. | |
version | the version number of the object when written. |
Reimplemented from ThePEG::Interfaced.
Reimplemented in ThePEG::BeamParticleData, ThePEG::ConstituentParticleData, and ThePEG::RemnantData.
virtual IBPtr ThePEG::ParticleData::clone | ( | ) | const [protected, virtual] |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Reimplemented in ThePEG::RemnantData.
virtual IBPtr ThePEG::ParticleData::fullclone | ( | ) | const [protected, virtual] |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Reimplemented in ThePEG::RemnantData.
virtual PDPtr ThePEG::ParticleData::pdclone | ( | ) | const [protected, virtual] |
Special clone function used by the Repository.
Also makes copies the decay modes and the anti-partner if it exists and if synchronized() is true.
Reimplemented in ThePEG::BeamParticleData, and ThePEG::ConstituentParticleData.
virtual void ThePEG::ParticleData::readSetup | ( | istream & | is | ) | [protected, virtual] |
Read setup info from a standard stream.
The following information must be supplied in a white-space separated list: PDG number, generic name, default mass (GeV), default width (GeV), width cut (GeV), the lifetime ctau (mm), the charge, the colour, the spin, stable (true) or not (false). Note that if a minus sign is given instead of a generic name, the name of the object will be used instead.
Reimplemented from ThePEG::InterfacedBase.
Reimplemented in ThePEG::ConstituentParticleData.
virtual void ThePEG::ParticleData::doinit | ( | ) | [protected, virtual] |
Initialize this object after the setup phase before saving an EventGenerator to disk.
InitException | if object could not be initialized properly. |
Reimplemented from ThePEG::InterfacedBase.
virtual void ThePEG::ParticleData::rebind | ( | const TranslationMap & | trans | ) | [protected, virtual] |
Rebind pointer to other Interfaced objects.
Called in the setup phase after all objects used in an EventGenerator has been cloned so that the pointers will refer to the cloned objects afterwards.
trans | a TranslationMap relating the original objects to their respective clones. |
RebindException | if no cloned object was found for a given pointer. |
Reimplemented from ThePEG::InterfacedBase.
virtual IVector ThePEG::ParticleData::getReferences | ( | ) | [protected, virtual] |
Return a vector of all pointers to Interfaced objects used in this object.
Reimplemented from ThePEG::InterfacedBase.
virtual void ThePEG::ParticleData::doinitrun | ( | ) | [protected, virtual] |
Initialize this object.
Called in the run phase just before a run begins.
Reimplemented from ThePEG::InterfacedBase.
friend class Repository [friend] |
The Repository is a friend.
Reimplemented from ThePEG::Interfaced.
Definition at line 40 of file ParticleData.h.
friend class EventGenerator [friend] |
The EventGenerator is a friend.
Reimplemented from ThePEG::Interfaced.
Definition at line 43 of file ParticleData.h.
friend class DecayMode [friend] |
A pointer to an object capable to generate the branching fractions for different decay modes for this particle type.
The object will be asked to generate branching fractions every time the ParticleData object it updated and will modify the branching fractions for every particle instance if variableRatio is true.
Definition at line 620 of file ParticleData.h.
Referenced by widthGenerator().
tPDPtr ThePEG::ParticleData::theAntiPartner [private] |
Pointer to the object corresponding to the antiparticle.
Set to null if it is its own antiparticle.
Definition at line 632 of file ParticleData.h.
Referenced by CC().