9 #ifndef ThePEG_DecayMode_H 10 #define ThePEG_DecayMode_H 13 #include "ThePEG/Config/ThePEG.h" 14 #include "ThePEG/Interface/Interfaced.h" 15 #include "DecayMode.fh" 16 #include "MatcherBase.h" 148 const string &
tag()
const {
472 if (
CC() )
CC()->theTag =
"";
600 static string className() {
return "ThePEG::DecayMode"; }
The RemnantData class is not a normal ParticleData class.
ParticleMSet & excluded()
The set particles corresponding to excluded intermediate resonances.
string makeTag() const
Use the members in this decay channel and generate the corresponding tag.
tDMPtr CC() const
Return a pointer to the corresponding decaymode for the antiparticle decay.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
void addCascadeProduct(tDMPtr)
Add identified resonant product with specified decay mode.
bool compareId(const ParticleMSet &, const ParticleMSet &) const
Check if two sets of particles have equivalent types.
DecayMode()
Default constructor.
ParticleMSet theProducts
The set of specified decay particles.
The Particle class is used to describe an instance of a particle.
ModeMSet theCascadeProducts
The set of matching decay channels corresponding to a specified with a specified subsequent decay mod...
bool operator==(const DecayMode &d) const
Check if another decay mode has the same final state as this one.
ClassTraitsType is an empty, non-polymorphic, base class.
ModeVector theOverlap
A list of decay modes which are included in this one.
bool includes(const DecayMode &) const
Check if another decay mode is included in this one.
void addProductMatcher(tPMPtr)
Add a mathcer corresponding to one decay product.
ModeMSet & cascadeProducts()
The set of identified resonant products with specified decay modes.
ParticleMSet::const_iterator findId(const ParticleMSet &, const ParticleData &) const
Check if a particle set contains a given particle ID.
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
const string & tag() const
Return the tag for this decay mode.
void resetOverlap()
Remove all decay modes from the list of overlapping modes.
void addProduct(tPDPtr)
Add identified decay products.
void switchOff()
Switch off this decay mode.
const ModeMSet & cascadeProducts() const
The set of identified resonance products with specified decay modes.
bool on() const
Check whether this decay mode is switched on.
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
void resetTag()
Delete the tag (it will be regenerated later if asked for).
void setOn(long)
Utility function for the interface.
double theBrat
The branching ratio.
Rebinder is a class associating pairs of pointers to objects.
multiset< tDMPtr, less< tDMPtr > > ModeMSet
A multiset of tDMPtr .
This is the main namespace within which all identifiers in ThePEG are declared.
DMPtr dmclone() const
Protected special clone function.
ParticleMSet theExcluded
A set of particles which are not allowed as intermediate resonances.
virtual void doupdate()
Check sanity of the object during the setup phase.
tcPDPtr parent() const
Get a pointer to the particle data object corresponding to the decaying particle. ...
tPMPtr & wildProductMatcher()
The pointer to a matcher corresponding to any number of decay products.
ParticleData inherits from InterfacedBase and represents the properties of a particle type...
tDecayerPtr decayer() const
Get the decayer assigned to this mode.
void setWildMatcher(tPMPtr)
Add a matcher corresponding to any number of decay products.
bool isOn
True if this mode is switched on.
long getOn() const
Utility function for the interface.
multiset< tPMPtr, less< tPMPtr > > MatcherMSet
A multiset of tPMPtr .
DecayerPtr theDecayer
The decayer object responsible for performing the decay.
vector< tcDMPtr > ModeVector
A vector of DecayMode pointers.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual IBPtr clone() const
Make a simple clone of this object.
tPDVector theOrderedProducts
The set of specified decay particles in the order they was specified.
virtual IVector getReferences()
Return a vector of all pointers to Interfaced objects used in this object.
void addLink(tPDPtr a, tPDPtr b)
Add a pair of decay products which are linked together (e.g.
tPMPtr theWildMatcher
A particle matcher which corresponds to zero or more particles.
vector< tPDPair > LinkVector
A vector of pairs of ParticleData pointers.
vector< tPDPtr > tPDVector
A vector of transient pointers to ParticleData objects.
void CC(tDMPtr cc)
Set the pointer to the corresponding decaymode for the antiparticle decay.
void parent(tPDPtr pd)
Set a pointer to the particle data object corresponding to the decaying particle. ...
static DMPtr constructDecayMode(string &tag, vector< DMPtr > *save=0)
Create a decay mode from a given tag.
tPMPtr wildProductMatcher() const
The pointer to a matcher corresponding to any number of decay products.
tPDPtr theParent
Pointer to a particle data object corresponding to the decaying particle.
void synchronize()
Modify this mode to have properties corresponding to its anti-partner.
MatcherMSet & productMatchers()
The set of matchers each corresponding to one decay product.
const MatcherMSet & productMatchers() const
The set of matchers each corresponding to one decay product.
RCPtr is a reference counted (smart) pointer.
void switchOn()
Switch on this decay mode.
void addExcluded(tPDPtr)
Add a particle corresponding to an excluded intermediate resonance.
tDMPtr theAntiPartner
The corresponding decay mode of the anti particle.
The Interfaced class is derived from the InterfacedBase class adding a couple of things particular to...
LinkVector theLinks
The vector of pairs of decay products which are linked together (e.g.
double brat() const
Return the branching ratio to be used.
const ModeVector & overlap() const
Return the list of overlapping decay modes.
multiset< tPDPtr, less< tPDPtr > > ParticleMSet
A multiset of tPDPtr .
static ClassDescription< DecayMode > initDecayMode
Describe a concrete class with persistent data.
const ParticleMSet & excluded() const
The set particles corresponding to excluded intermediate resonances.
virtual void readSetup(istream &is)
Read setup info from a standard stream used by the Repository.
const tPDVector & orderedProducts() const
The set of identified decay products in the order they were specified.
The default concrete implementation of ClassTraitsBase.
The DecayMode class describes a decay channel of a particle.
void setDecayer(DecayerPtr)
Utility function for the interface.
bool addOverlap(tcDMPtr)
Add a decay mode to the list of overlapping modes if included.
PVector produceProducts() const
Produce particles corresponding to the identified decay products.
const LinkVector & links() const
Return a vector of pairs of decay products which are linked together (e.g.
static void Init()
Standard Init function used to initialize the interface.
static DMPtr Create(tPDPtr newParent, double newBrat=0.0, bool newOn=false)
Protected creation and clone methods.
const ParticleMSet & products() const
The set of identified decay products.
vector< IBPtr > IVector
A vector of pointers to InterfacedBase objects.
vector< PPtr > PVector
A vector of pointers to Particle objects.
BaseClassTraits describes the base classes of the templated class.
MatcherMSet theMatchers
The set of matching decay products.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ParticleMSet & products()
The set of identified decay products.
The EventGenerator class manages a whole event generator run.
virtual void rebind(const TranslationMap &trans)
Rebind pointer to other Interfaced objects.
#define ThePEG_DECLARE_MULTISET(VALTYPE, NAME)
Macro for declaring a multiset.
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
DecayMode & operator=(const DecayMode &)
Private and non-existent assignment operator.