#include <DecayMode.h>
Public Types | |
typedef vector< tcDMPtr > | ModeVector |
A vector of DecayMode pointers. | |
typedef vector< tPDPair > | LinkVector |
A vector of pairs of ParticleData pointers. | |
Public Member Functions | |
virtual DMPtr | clone (tPDPtr pd) const |
Return a clone of this decay mode with pd as the decaying particle. | |
const string & | tag () const |
Return the tag for this decay mode. | |
tcPDPtr | parent () const |
Get a pointer to the particle data object corresponding to the decaying particle. | |
const ParticleMSet & | products () const |
The set of identified decay products. | |
const tPDVector & | orderedProducts () const |
The set of identified decay products in the order they were specified. | |
PVector | produceProducts () const |
Produce particles corresponding to the identified decay products. | |
const ModeMSet & | cascadeProducts () const |
The set of identified resonance products with specified decay modes. | |
const MatcherMSet & | productMatchers () const |
The set of matchers each corresponding to one decay product. | |
tPMPtr | wildProductMatcher () const |
The pointer to a matcher corresponding to any number of decay products. | |
const ParticleMSet & | excluded () const |
The set particles corresponding to excluded intermediate resonances. | |
double | brat () const |
Return the branching ratio to be used. | |
double | brat (const Particle &) const |
Calculate the branching ratio for a particular particle instance. | |
tDecayerPtr | decayer () const |
Get the decayer assigned to this mode. | |
bool | includes (const DecayMode &) const |
Check if another decay mode is included in this one. | |
tDMPtr | CC () const |
Return a pointer to the corresponding decaymode for the antiparticle decay. | |
bool | operator== (const DecayMode &d) const |
Check if another decay mode has the same final state as this one. | |
const LinkVector & | links () const |
Return a vector of pairs of decay products which are linked together (e.g. | |
const ModeVector & | overlap () const |
Return the list of overlapping decay modes. | |
void | synchronize () |
Modify this mode to have properties corresponding to its anti-partner. | |
bool | on () const |
Check whether this decay mode is switched on. | |
Standard constructors and destructors. | |
DecayMode () | |
Default constructor. | |
DecayMode (const DecayMode &) | |
Copy-constructor. | |
~DecayMode () | |
Destructor. | |
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 DMPtr | constructDecayMode (string &tag, vector< DMPtr > *save=0) |
Create a decay mode from a given tag. | |
static void | Init () |
Standard Init function used to initialize the interface. | |
Protected Member Functions | |
void | parent (tPDPtr pd) |
Set a pointer to the particle data object corresponding to the decaying particle. | |
void | brat (double) |
Set the branching ratio to be used. | |
void | switchOn () |
Switch on this decay mode. | |
void | switchOff () |
Switch off this decay mode. | |
void | decayer (tDecayerPtr) |
Set the decayer. | |
void | addProduct (tPDPtr) |
Add identified decay products. | |
void | addLink (tPDPtr a, tPDPtr b) |
Add a pair of decay products which are linked together (e.g. | |
void | addCascadeProduct (tDMPtr) |
Add identified resonant product with specified decay mode. | |
void | addProductMatcher (tPMPtr) |
Add a mathcer corresponding to one decay product. | |
void | setWildMatcher (tPMPtr) |
Add a matcher corresponding to any number of decay products. | |
void | addExcluded (tPDPtr) |
Add a particle corresponding to an excluded intermediate resonance. | |
DecayMode (tPDPtr newParticle, double newBrat, bool newOn) | |
Protected constructor. | |
DMPtr | dmclone () const |
Protected special clone function. | |
virtual void | readSetup (istream &is) |
Read setup info from a standard stream used by the Repository. | |
ParticleMSet & | products () |
The set of identified decay products. | |
ModeMSet & | cascadeProducts () |
The set of identified resonant products with specified decay modes. | |
MatcherMSet & | productMatchers () |
The set of matchers each corresponding to one decay product. | |
tPMPtr & | wildProductMatcher () |
The pointer to a matcher corresponding to any number of decay products. | |
ParticleMSet & | excluded () |
The set particles corresponding to excluded intermediate resonances. | |
Standard Interfaced functions. | |
virtual void | doupdate () |
Check sanity of the object during the setup phase. | |
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. | |
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. | |
Static Protected Member Functions | |
static DMPtr | Create (tPDPtr newParent, double newBrat=0.0, bool newOn=false) |
Protected creation and clone methods. | |
Private Member Functions | |
bool | addOverlap (tcDMPtr) |
Add a decay mode to the list of overlapping modes if included. | |
void | resetOverlap () |
Remove all decay modes from the list of overlapping modes. | |
bool | compareId (const ParticleMSet &, const ParticleMSet &) const |
Check if two sets of particles have equivalent types. | |
ParticleMSet::const_iterator | findId (const ParticleMSet &, const ParticleData &) const |
Check if a particle set contains a given particle ID. | |
string | makeTag () const |
Use the members in this decay channel and generate the corresponding tag. | |
void | resetTag () |
Delete the tag (it will be regenerated later if asked for). | |
void | setOn (long) |
Utility function for the interface. | |
long | getOn () const |
Utility function for the interface. | |
void | setDecayer (DecayerPtr) |
Utility function for the interface. | |
DecayMode & | operator= (const DecayMode &) |
Private and non-existent assignment operator. | |
Private Attributes | |
string | theTag |
The tag. | |
double | theBrat |
The branching ratio. | |
bool | isOn |
True if this mode is switched on. | |
tPDPtr | theParent |
Pointer to a particle data object corresponding to the decaying particle. | |
ParticleMSet | theProducts |
The set of specified decay particles. | |
tPDVector | theOrderedProducts |
The set of specified decay particles in the order they was specified. | |
ModeMSet | theCascadeProducts |
The set of matching decay channels corresponding to a specified with a specified subsequent decay mode. | |
MatcherMSet | theMatchers |
The set of matching decay products. | |
tPMPtr | theWildMatcher |
A particle matcher which corresponds to zero or more particles. | |
ParticleMSet | theExcluded |
A set of particles which are not allowed as intermediate resonances. | |
ModeVector | theOverlap |
A list of decay modes which are included in this one. | |
DecayerPtr | theDecayer |
The decayer object responsible for performing the decay. | |
tDMPtr | theAntiPartner |
The corresponding decay mode of the anti particle. | |
LinkVector | theLinks |
The vector of pairs of decay products which are linked together (e.g. | |
Static Private Attributes | |
static ClassDescription < DecayMode > | initDecayMode |
Describe a concrete class with persistent data. | |
Friends | |
class | ParticleData |
ParticleData is a friend. | |
class | RemnantData |
RemnantData is a friend. | |
class | EventGenerator |
The EventGenerator is a friend. |
In its simplest form it contains simply a parent ParticleData object and a list of decay products, but it can also specify a set of MatcherBase objects each representing one of a set of possible decay products. A matcher can also be specified to represents an unlimited set of decay products. Decay chains can be represented by specifying other decay channels where the parents are taken to be intermediate resonances. It is also possible to specify the absence of intermediate resonances.
Each decay mode can be uniquely described by a character string on the form {decaying-particle-name}->{decay-product-specifier}[,{decay-product-specifier},...];
where no spaces are allowed anywhere. The decaying-particle-name should be a path to a particle in the Repository or a PDG-standardized particle name (see ParticleData::PDGName()) and the decay-product-specifier can be one of the following:
Note that the order of the specified decay products will be preserved when the corresponding particles are produced in a decay.
The possibility of specifying matchers as decay products means that one decay mode may overlap with another one. When an EventGenerator is initialized all decay modes are checked so that a given decay mode afterwards will report if there are other modes which are matched by its matchers through the overlap() function.
Definition at line 87 of file DecayMode.h.
typedef vector<tcDMPtr> ThePEG::DecayMode::ModeVector |
typedef vector<tPDPair> ThePEG::DecayMode::LinkVector |
static DMPtr ThePEG::DecayMode::constructDecayMode | ( | string & | tag, | |
vector< DMPtr > * | save = 0 | |||
) | [static] |
Create a decay mode from a given tag.
This function is used directly by the Repository. If name of the decaying particle is a valid path to a particle object, the decaymode will be added to that particle, otherwise it will be added to the default particle of that name.
const string& ThePEG::DecayMode::tag | ( | ) | const [inline] |
Return the tag for this decay mode.
This string is a unique identifier for this decay mode.
Definition at line 148 of file DecayMode.h.
References makeTag(), and theTag.
Referenced by operator==().
PVector ThePEG::DecayMode::produceProducts | ( | ) | const |
Produce particles corresponding to the identified decay products.
They will be orderd in the same order they were sspecified.
const LinkVector& ThePEG::DecayMode::links | ( | ) | const [inline] |
Return a vector of pairs of decay products which are linked together (e.g.
colourless q-qbar pairs).
Definition at line 236 of file DecayMode.h.
References theLinks.
void ThePEG::DecayMode::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Reimplemented from ThePEG::Interfaced.
void ThePEG::DecayMode::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.
virtual void ThePEG::DecayMode::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::DecayMode::getReferences | ( | ) | [protected, virtual] |
Return a vector of all pointers to Interfaced objects used in this object.
Reimplemented from ThePEG::InterfacedBase.
void ThePEG::DecayMode::decayer | ( | tDecayerPtr | ) | [protected] |
Set the decayer.
The set method returns false if the decayer does not claim to be able to handle the decay.
Add a pair of decay products which are linked together (e.g.
colourless q-qbar pairs).
virtual IBPtr ThePEG::DecayMode::clone | ( | ) | const [protected, virtual] |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
virtual IBPtr ThePEG::DecayMode::fullclone | ( | ) | const [protected, virtual] |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
virtual void ThePEG::DecayMode::readSetup | ( | istream & | is | ) | [protected, virtual] |
Read setup info from a standard stream used by the Repository.
The following information must be supplied in a white-space separated list: the branching ratio, on or off (true or false), and the name of a Decayer.
Reimplemented from ThePEG::InterfacedBase.
friend class ParticleData [friend] |
friend class RemnantData [friend] |
friend class EventGenerator [friend] |
The EventGenerator is a friend.
Reimplemented from ThePEG::Interfaced.
Definition at line 98 of file DecayMode.h.
MatcherMSet ThePEG::DecayMode::theMatchers [private] |
The set of matching decay products.
Each of the matchers correspond to one particle.
Definition at line 530 of file DecayMode.h.
Referenced by productMatchers().
LinkVector ThePEG::DecayMode::theLinks [private] |
The vector of pairs of decay products which are linked together (e.g.
colourless q-qbar pairs).
Definition at line 562 of file DecayMode.h.
Referenced by links().