This file may become a part of CLHEP -
a Class Library for High Energy Physics.
This is the definition of the HepDecayMode class.
The HepDecayMode class defines one possible decay
of a particle. It is designed to be able to handle most of the
measured decay channels published by the ParticleData Group and the
specification of different decay products is therefore fairly
complex.
An object of the HepDecayMode class
contains the following
- a const pointer to a HepParticleData object corresponding to
the decaying particle.
- a measured branching ratio with errors.
- a std::multiset of const pointers to
HepParticleData objects corresponding to uniquely identified decay
products.
- a std::multiset of const pointers to
HepDecayMode objects corresponding to a subsequent
decay of a uniquely identified resonant decay product (which is
then not listed in the set of HepParticleData
objects above).
- a std::set of HepParticleData
objects corresponding to resonances which are excluded as
intermediate decay products.
- a std::multiset of const pointers to
HepParticleMatcher objects, each corresponding to one decay product
identified to be one of the particles matched.
- a const pointer to a HepParticleMatcher object
corresponding to an arbitrary number of decay products, all
identified to be among the matched particles.
Since there may be some overlap between different decay modes for a
given particle, the HepDecayMode object also
includes a list of other decay modes which are included as a
special case of the current one.
The object also contains an std::string tag which
uniquely defines the decay mode. This string is made up from the
name of the decaying particle, followed by a colon, followed by a
comma-separaterd list of decay products specifiers ended by a
semi-colon. The tag must not contain any white-space characters.
The decay mode specifiers should be given in the following order:
- The names of the uniquely identified decay products in
the order of their STDHEP numbers.
- The tags of the decay modes corresponding to subsequent
decays of uniquely identified resonant decay products, enclosed
in square brackets and ordered lexicographically.
- The names of the HepParticleMatcher objects
which each correspond to one decay product, preceeded by a '?' in
lexicographical order.
- The name of the HepParticleMatcher object
corresponding to an unknown number of decay products preceeded by
a '*'.
- The names of the excluded intermediate resonances
preceeded by a '!' in the order of their STDHEP numbers.
Finally, a HepDecayMode object contains a
std::map associating
HepPackageHandle numbers with pointers to
HepDecayer objects paired with a branching ratio.