ThePEG is hosted by Hepforge, IPPP Durham
ThePEG  2.1.4
ThePEG::ParticleData Class Reference

ParticleData inherits from InterfacedBase and represents the properties of a particle type. More...

#include <ParticleData.h>

Inheritance diagram for ThePEG::ParticleData:

Public Types

typedef Selector< tDMPtrDecaySelector
 A selector of DecayMode objects. More...
 
- Public Types inherited from ThePEG::InterfacedBase
enum  InitState { initializing = -1, uninitialized = 0, initialized = 1, runready = 2 }
 Enumeration reflecting the state of an InterfacedBase object. More...
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 The integer type used for counting.
 

Public Member Functions

Energy mass (Energy)
 Set the nominal mass.
 
Energy mass () const
 Return the nominal mass.
 
Energy hardProcessMass () const
 Return the mass to be used when evaluating hard process cross sections.
 
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. More...
 
Energy width (Energy)
 Set the width.
 
Energy width () const
 Get the width. More...
 
Energy widthCut (Energy wci)
 Set the width cut. More...
 
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. More...
 
Energy hardProcessWidth () const
 Return the width to be used when evaluating hard process cross sections.
 
PDT::Charge iCharge (PDT::Charge)
 Set the charge. More...
 
Charge charge () const
 Get the charge. More...
 
PDT::Charge iCharge () const
 Get the charge. More...
 
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. More...
 
AngularMomentum spin () const
 Get the spin.The spin is returned in standard units.
 
PDT::Spin iSpin () const
 Get the spin. More...
 
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. More...
 
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. More...
 
const string & genericName () const
 Return the generic PDG name. More...
 
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. More...
 
Length generateLifeTime (Energy mass, Energy width) const
 Generate a mass for an instance of this particle type. More...
 
Access the decay modes.
const DecaySelectordecaySelector () const
 Return the nominal decay selector for this particle. More...
 
tDMPtr selectMode (Particle &p) const
 Selects a decay mode randomly according to the branching ratios. More...
 
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. More...
 
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently. More...
 
- Public Member Functions inherited from ThePEG::Interfaced
virtual ~Interfaced ()
 Empty virtual destructor.
 
virtual bool defaultInit ()
 Functions which are to be used during the actual event generation, after the setup is complete. More...
 
PPtr getParticle (PID) const
 Create a new Particle instance given a id number.
 
PDPtr getParticleData (PID) const
 Return a pointer to the ParticleData object corresponding to the given id number.
 
bool used () const
 Returns true if this object has actally been used.
 
void useMe () const
 Should be called to indicate that this object has actually been used.
 
tEGPtr generator () const
 Return a pointer to the EventGenerator controlling the run. More...
 
void persistentOutput (PersistentOStream &os) const
 Function used to write out object persistently. More...
 
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently. More...
 
- Public Member Functions inherited from ThePEG::InterfacedBase
virtual ~InterfacedBase ()
 The virtual (empty) destructor;.
 
string fullName () const
 Returns the full name of this object including its path, e.g. More...
 
string name () const
 Returns the name of this object, without the path.
 
string path () const
 Returns the path to this object including the trailing '/'. More...
 
string comment () const
 Returns a comment assigned to this object.
 
void setup (istream &is)
 Read setup info from a standard istream is. More...
 
virtual void debugme () const
 Print out debugging information for this object on std::cerr. More...
 
void update ()
 Calls the doupdate() function with recursion prevention.
 
void init ()
 Calls the doinit() function with recursion prevention.
 
virtual bool preInitialize () const
 Return true if this object needs to be initialized before all other objects (except those for which this function also returns true). More...
 
void initrun ()
 Calls the doinitrun() function with recursion prevention.
 
void finish ()
 Calls the dofinish() function with recursion prevention.
 
void touch ()
 This function should be called every time something in this object has changed in a way that a sanity check with update() is needed.
 
void reset ()
 Set the state of this object to uninitialized.
 
void clear ()
 Calls reset() and unTouch().
 
InitState state () const
 Return the state of initialization of this object.
 
bool locked () const
 Return true if the BaseRepository is not allowed to change the state of this object.
 
bool touched () const
 Return true if the state of this object has been changed since the last call to update().
 
void persistentOutput (PersistentOStream &os) const
 Function used to write out object persistently. More...
 
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently. More...
 
- 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...
 
- Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted
CounterType referenceCount () const
 Return the reference count.
 
- Public Member Functions inherited from ThePEG::Named
 Named (const string &newName=string())
 Constructor with name.
 
const string & name () const
 Return name.
 
bool operator== (const Named &other) const
 Test for equality.
 
bool operator< (const Named &other) const
 Lexicographical comparison.
 

Static Public Member Functions

static void Init ()
 
The Create methods are special interfaces for ParticleData

classes.

static PDPtr Create (PID newId, const string &newPDGName)
 Create a Particle which is its own anti-particle.
 
static PDPair Create (PID newId, const string &newPDGName, const string &newAntiPDGName)
 Create a particle - anti particle pair.
 
- Static Public Member Functions inherited from ThePEG::Interfaced
static void Init ()
 Standard Init function.
 
- Static Public Member Functions inherited from ThePEG::InterfacedBase
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. More...
 

Protected Member Functions

virtual PDPtr pdclone () const
 Special clone function used by the Repository. More...
 
 ParticleData (PID 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. More...
 
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. More...
 
virtual IBPtr fullclone () const
 Make a clone of this object, possibly modifying the cloned object to make it sane. More...
 
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. More...
 
virtual void rebind (const TranslationMap &trans)
 Rebind pointer to other Interfaced objects. More...
 
virtual IVector getReferences ()
 Return a vector of all pointers to Interfaced objects used in this object. More...
 
virtual void doinitrun ()
 Initialize this object. More...
 
- Protected Member Functions inherited from ThePEG::Interfaced
void reporeg (IBPtr object, string name) const
 Register the given object in the Repository with the given name in a subdirectory with the same name as this object. More...
 
template<typename PtrT >
bool setDefaultReference (PtrT &ptr, string classname, string objectname)
 If the pointer, ptr, to an object is not set, create an object of class classname and register it with the Repository with the given objectname in a sib-directory with the same name as this object.
 
 Interfaced ()
 Protected default constructor.
 
 Interfaced (const string &newName)
 Protected constructor taking a name as argument.
 
 Interfaced (const Interfaced &i)
 Protected copy-constructor.
 
void setGenerator (tEGPtr generator)
 Protected function to reset the generator pointer, required for automatic decayer generation in Herwig++ BSM models.
 
- Protected Member Functions inherited from ThePEG::InterfacedBase
 InterfacedBase ()
 Protected default constructor.
 
 InterfacedBase (string newName)
 Protected constructor with the name given as argument.
 
 InterfacedBase (const InterfacedBase &i)
 Protected copy-constructor.
 
virtual void dofinish ()
 Finalize this object. More...
 
- Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted
 ReferenceCounted ()
 Default constructor.
 
 ReferenceCounted (const ReferenceCounted &)
 Copy-constructor.
 
ReferenceCountedoperator= (const ReferenceCounted &)
 Assignment.
 
- Protected Member Functions inherited from ThePEG::Named
const Namedoperator= (const Named &other)
 Assignment.
 
const string & name (const string &newName)
 Set new name.
 

Static Protected Member Functions

static void antiSetup (const PDPair &pap)
 Used by subclasses or by the Create method to setup anti-relationship.
 
- Static Protected Member Functions inherited from ThePEG::Interfaced
static void registerRepository (IBPtr)
 Register an Interfaced object with the Repository.
 
static void registerRepository (IBPtr, string newName)
 Register an Interfaced object with the Repository, giving it a name.
 

Private Member Functions

void setMass (Energy)
 Utility function for the interface.
 
void setHardProcessMass (Energy)
 Utility function for the interface.
 
string doUnsetHardProcessMass (string)
 Reset the hard process mass.
 
string doAdjustNominalMass (string)
 Adjust the nominal mass to the hard process mass if a reshuffling is not desirable.
 
Energy defMass () const
 Utility function for the interface.
 
void setWidth (Energy)
 Utility function for the interface.
 
void setHardProcessWidth (Energy)
 Utility function for the interface.
 
string doUnsetHardProcessWidth (string)
 Reset the hard process mass.
 
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< DMPtrgetDecayModes () const
 Utility function for the interface.
 
string doSelectDecayModes (string)
 Utility function for the interface.
 
string doPrintDecayModes (string)
 Utility function for the interface.
 

Private Attributes

PID 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 theHardProcessMass
 The mass to be used when evaluating hard process cross sections.
 
bool hardProcessMassSet
 True, if a hard process mass has been set.
 
Energy theHardProcessWidth
 The width to be used when evaluating hard process cross sections.
 
bool hardProcessWidthSet
 True, if a hard process width has been set.
 
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. More...
 
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. More...
 
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< ParticleDatainitParticleData
 Describe a concrete class with persistent data.
 

Friends

class Repository
 The Repository is a friend. More...
 
class EventGenerator
 The EventGenerator is a friend. More...
 
class DecayMode
 DecayMode is a friend. More...
 

Additional Inherited Members

- Public Attributes inherited from ThePEG::Pointer::ReferenceCounted
const unsigned long uniqueId
 The unique ID. More...
 

Detailed Description

ParticleData inherits from InterfacedBase and represents the properties of a particle type.

It is also able to produce instances of this Particle type and, among other things, to decay them.

See also
The interfaces defined for ParticleData.

Definition at line 36 of file ParticleData.h.

Member Typedef Documentation

◆ DecaySelector

A selector of DecayMode objects.

Definition at line 50 of file ParticleData.h.

Member Function Documentation

◆ charge()

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 301 of file ParticleData.h.

References theCharge.

◆ clone()

virtual IBPtr ThePEG::ParticleData::clone ( ) const
protectedvirtual

Make a simple clone of this object.

Returns
a pointer to the new object.

Implements ThePEG::InterfacedBase.

Reimplemented in ThePEG::RemnantData.

Referenced by variableRatio().

◆ constituentMass()

virtual Energy ThePEG::ParticleData::constituentMass ( ) const
inlinevirtual

Return the constituent mass of this particle if relevant.

This version simply returns the nominal mass.

Reimplemented in ThePEG::ConstituentParticleData.

Definition at line 212 of file ParticleData.h.

References mass(), and width().

◆ cTau()

Length ThePEG::ParticleData::cTau ( ) const
inline

Get the life time cTau cTau.

If no life time is specified, it is calculated from the width. If the width is also not specified, the lifetime is assumed to be zero for ustable particles and infinite for stable ones.

Definition at line 277 of file ParticleData.h.

References ThePEG::Units::hbarc, ThePEG::Constants::MaxLength, stable(), theCTau, theWidth, and ThePEG::ZERO.

Referenced by widthLoCut().

◆ decaySelector()

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 163 of file ParticleData.h.

References selectMode(), and theDecaySelector.

◆ doinit()

virtual void ThePEG::ParticleData::doinit ( )
protectedvirtual

Initialize this object after the setup phase before saving an EventGenerator to disk.

Exceptions
InitExceptionif object could not be initialized properly.

Reimplemented from ThePEG::InterfacedBase.

Reimplemented in ThePEG::MixedParticleData.

Referenced by variableRatio().

◆ doinitrun()

virtual void ThePEG::ParticleData::doinitrun ( )
protectedvirtual

Initialize this object.

Called in the run phase just before a run begins.

Reimplemented from ThePEG::InterfacedBase.

Referenced by variableRatio().

◆ fullclone()

virtual IBPtr ThePEG::ParticleData::fullclone ( ) const
protectedvirtual

Make a clone of this object, possibly modifying the cloned object to make it sane.

Returns
a pointer to the new object.

Reimplemented from ThePEG::InterfacedBase.

Reimplemented in ThePEG::RemnantData.

Referenced by variableRatio().

◆ generateLifeTime()

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.

Referenced by genericName().

◆ generateWidth()

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.

Referenced by genericName().

◆ genericName()

const string& ThePEG::ParticleData::genericName ( ) const
inline

Return the generic PDG name.

Note that this is not really standardised.

Definition at line 100 of file ParticleData.h.

References generateLifeTime(), generateMass(), generateWidth(), mass(), produceParticle(), thePDGName, and width().

◆ getReferences()

virtual IVector ThePEG::ParticleData::getReferences ( )
protectedvirtual

Return a vector of all pointers to Interfaced objects used in this object.

Returns
a vector of pointers.

Reimplemented from ThePEG::InterfacedBase.

Referenced by variableRatio().

◆ iCharge() [1/2]

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::ChargedMatcher::Check(), ThePEG::PositiveMatcher::Check(), ThePEG::NeutralMatcher::Check(), and ThePEG::NegativeMatcher::Check().

◆ iCharge() [2/2]

PDT::Charge ThePEG::ParticleData::iCharge ( ) const
inline

Get the charge.

The charge is returned in units of e/3.

Definition at line 306 of file ParticleData.h.

References theCharge.

Referenced by hardProcessWidth().

◆ iSpin() [1/2]

PDT::Spin ThePEG::ParticleData::iSpin ( PDT::Spin  )

Set the spin.

The spin should be given as 2J+1 (in units of hbar/2) using the PDT::Spin enum.

◆ iSpin() [2/2]

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 337 of file ParticleData.h.

References iColour(), and theSpin.

Referenced by negative().

◆ pdclone()

virtual PDPtr ThePEG::ParticleData::pdclone ( ) const
protectedvirtual

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::MixedParticleData, ThePEG::PolarizedBeamParticleData, ThePEG::ConstituentParticleData, and ThePEG::BeamParticleData.

Referenced by variableRatio().

◆ PDGName()

const string& ThePEG::ParticleData::PDGName ( ) const
inline

Return the generic PDG name.

Note that this is not really standardised.

Definition at line 94 of file ParticleData.h.

References thePDGName.

Referenced by ThePEG::Particle::PDGName().

◆ persistentInput()

void ThePEG::ParticleData::persistentInput ( PersistentIStream is,
int  version 
)

Function used to read in object persistently.

Parameters
isthe persistent input stream read from.
versionthe version number of the object when written.

Referenced by variableRatio().

◆ persistentOutput()

void ThePEG::ParticleData::persistentOutput ( PersistentOStream os) const

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

Referenced by variableRatio().

◆ readSetup()

virtual void ThePEG::ParticleData::readSetup ( istream &  is)
protectedvirtual

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.

Referenced by variableRatio().

◆ rebind()

virtual void ThePEG::ParticleData::rebind ( const TranslationMap trans)
protectedvirtual

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.

Parameters
transa TranslationMap relating the original objects to their respective clones.
Exceptions
RebindExceptionif no cloned object was found for a given pointer.

Reimplemented from ThePEG::InterfacedBase.

Referenced by variableRatio().

◆ selectMode()

tDMPtr ThePEG::ParticleData::selectMode ( Particle p) const

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.

Referenced by decaySelector().

◆ stable()

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 382 of file ParticleData.h.

References isStable.

Referenced by cTau(), and hasAntiColour().

◆ width()

Energy ThePEG::ParticleData::width ( ) const
inline

Get the width.

If no width is specified, it is calculated from the lifetime.

Definition at line 223 of file ParticleData.h.

References ThePEG::Units::hbarc, ThePEG::Constants::MaxEnergy, theCTau, theWidth, and ThePEG::ZERO.

Referenced by constituentMass(), genericName(), and hardProcessWidth().

◆ widthCut()

Energy ThePEG::ParticleData::widthCut ( Energy  wci)
inline

Set the width cut.

Both upper and lower cut is set.

Definition at line 232 of file ParticleData.h.

References widthLoCut(), and widthUpCut().

Friends And Related Function Documentation

◆ DecayMode

friend class DecayMode
friend

DecayMode is a friend.

Definition at line 47 of file ParticleData.h.

◆ EventGenerator

friend class EventGenerator
friend

The EventGenerator is a friend.

Definition at line 44 of file ParticleData.h.

◆ Repository

friend class Repository
friend

The Repository is a friend.

Definition at line 41 of file ParticleData.h.

Member Data Documentation

◆ theAntiPartner

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 675 of file ParticleData.h.

Referenced by CC().

◆ theWidthGenerator

WidthGeneratorPtr ThePEG::ParticleData::theWidthGenerator
private

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 663 of file ParticleData.h.

Referenced by widthGenerator().


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