ThePEG::Decayer Class Reference

Decayer is an abstract base class to specify objects modelling the decay of a particle. More...

#include <Decayer.h>

Inheritance diagram for ThePEG::Decayer:

ThePEG::HandlerBase ThePEG::HandlerBaseT< T > ThePEG::Interfaced ThePEG::InterfacedBase ThePEG::Base ThePEG::Named ThePEG::Pointer::ReferenceCounted ThePEG::DalitzDecayer ThePEG::DummyDecayer ThePEG::FlatDecayer ThePEG::QuarksToHadronsDecayer ThePEG::RemnantDecayer ThePEG::ColourPairDecayer ThePEG::OmegaPhi3PiDecayer ThePEG::Onium3GDecayer ThePEG::Tau2HadronsDecayer ThePEG::V2PPDecayer ThePEG::WeakToHadronsDecayer ThePEG::SimpleBaryonRemnantDecayer

List of all members.

Public Member Functions

Ptr< Amplitude >::pointer amplitude () const
 Return an amplitude associated with this decay matrix element.
Virtual functions to be overridden in sub-classes.
virtual bool accept (const DecayMode &dm) const =0
 Check if this decayer can perfom the decay specified by the given decay mode.
virtual bool needsFullStep () const
 Return true if this Decayer need to access the full current step when a particle is decayed.
virtual ParticleVector decay (const DecayMode &dm, const Particle &p) const =0
 Perform a decay for a given DecayMode and a given Particle instance.
virtual ParticleVector decay (const DecayMode &dm, const Particle &p, Step &step) const
 Perform a decay for a given DecayMode and a given Particle instance.
virtual double brat (const DecayMode &dm, const ParticleData &pd, double oldbrat) const
 Calculate branching ratio.
virtual double brat (const DecayMode &dm, const Particle &p, double oldbrat) const
 Calculate branching ratio.
virtual ParticleVector getChildren (const DecayMode &dm, const Particle &parent) const
 Produce the children.
virtual void finalBoost (const Particle &parent, const ParticleVector &children) const
 Boost the decay products.
virtual void setScales (const Particle &parent, const ParticleVector &children) const
 Set the scales.
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 ParticleVector DecayParticle (tPPtr parent, Step &step, long maxtry=1000)
 Static function to administer the decay of a particle.
static void Init ()
 Standard Init function used to initialize the interfaces.

Private Member Functions

Decayeroperator= (const Decayer &)
 Private and non-existent assignment operator.

Private Attributes

Ptr< Amplitude >::pointer theAmplitude
 A possible null pointer to an amplitude associated with this matrix element.

Static Private Attributes

static
AbstractNoPIOClassDescription
< Decayer
initDecayer
 The static object used to initialize the description of this class.

Classes

struct  DecayFailure
 Exception class used if something goes wrong in DecayParticle(). More...


Detailed Description

Decayer is an abstract base class to specify objects modelling the decay of a particle.

See also:
The interfaces defined for Decayer.

ParticleData

DecayMode

Definition at line 29 of file Decayer.h.


Member Function Documentation

virtual bool ThePEG::Decayer::accept ( const DecayMode dm  )  const [pure virtual]

Check if this decayer can perfom the decay specified by the given decay mode.

Parameters:
dm the DecayMode describing the decay.
Returns:
true if this decayer can handle the given mode, otherwise false.

Implemented in ThePEG::ColourPairDecayer, ThePEG::DalitzDecayer, ThePEG::DummyDecayer, ThePEG::FlatDecayer, ThePEG::OmegaPhi3PiDecayer, ThePEG::Onium3GDecayer, ThePEG::QuarksToHadronsDecayer, ThePEG::RemnantDecayer, ThePEG::SimpleBaryonRemnantDecayer, ThePEG::Tau2HadronsDecayer, ThePEG::V2PPDecayer, and ThePEG::WeakToHadronsDecayer.

virtual bool ThePEG::Decayer::needsFullStep (  )  const [virtual]

Return true if this Decayer need to access the full current step when a particle is decayed.

If true is returned the standard Decay Handler will call the decay(const DecayMode&,const Particle&,Step&) function rather than the decay(const DecayMode&,const Particle&) function.

Reimplemented in ThePEG::RemnantDecayer.

virtual ParticleVector ThePEG::Decayer::decay ( const DecayMode dm,
const Particle p 
) const [pure virtual]

Perform a decay for a given DecayMode and a given Particle instance.

Parameters:
dm the DecayMode describing the decay.
p the Particle instance to be decayed.
Returns:
a ParticleVector containing the decay products.

Implemented in ThePEG::DalitzDecayer, ThePEG::DummyDecayer, ThePEG::FlatDecayer, ThePEG::Onium3GDecayer, ThePEG::QuarksToHadronsDecayer, ThePEG::RemnantDecayer, and ThePEG::V2PPDecayer.

virtual ParticleVector ThePEG::Decayer::decay ( const DecayMode dm,
const Particle p,
Step step 
) const [virtual]

Perform a decay for a given DecayMode and a given Particle instance.

This version allows the decaying particle to borrow energy/momentum from its sublings in the current step. This will be called by the standard DecayHandler if the needsFullStep() function returns true.

Parameters:
dm the DecayMode describing the decay.
p the Particle instance to be decayed.
step the current step in which to find possible siblings to shuffle energy with.
Returns:
a ParticleVector containing the decay products.

Reimplemented in ThePEG::RemnantDecayer, and ThePEG::SimpleBaryonRemnantDecayer.

virtual double ThePEG::Decayer::brat ( const DecayMode dm,
const ParticleData pd,
double  oldbrat 
) const [virtual]

Calculate branching ratio.

If this model has any oppinions on the decay rate for a given decay mode dm, for a given particle type pd, this method may be overriden to return this oppinion. oldbrat is the branching ratio specified in the DecayMode or by asking the WidthGenerator of pd.

Reimplemented in ThePEG::DummyDecayer.

virtual double ThePEG::Decayer::brat ( const DecayMode dm,
const Particle p,
double  oldbrat 
) const [virtual]

Calculate branching ratio.

If this model has any oppinions on the decay rate for a given decay mode dm, for a given particle p, this method may be overriden to return this oppinion. oldbrat is the branching ratio specified in the DecayMode or by asking the WidthGenerator of p.

Reimplemented in ThePEG::DummyDecayer.

virtual ParticleVector ThePEG::Decayer::getChildren ( const DecayMode dm,
const Particle parent 
) const [virtual]

Produce the children.

Can be used by sub-class decay() functions to produce instances of the children. This default implementation just calls the produceProducts() of the specified decay products in DecayMode object, dm.

Reimplemented in ThePEG::ColourPairDecayer.

virtual void ThePEG::Decayer::finalBoost ( const Particle parent,
const ParticleVector children 
) const [virtual]

Boost the decay products.

Can be used by sub-classes to perform the final boost back from the parents cms. This default version does just that.

virtual void ThePEG::Decayer::setScales ( const Particle parent,
const ParticleVector children 
) const [virtual]

Set the scales.

Can be used by sub classes to set the production scale of the children. This default version sets the scale to the parents mass.

Ptr<Amplitude>::pointer ThePEG::Decayer::amplitude (  )  const [inline]

Return an amplitude associated with this decay matrix element.

May return null.

Definition at line 127 of file Decayer.h.

References theAmplitude.

static ParticleVector ThePEG::Decayer::DecayParticle ( tPPtr  parent,
Step step,
long  maxtry = 1000 
) [static]

Static function to administer the decay of a particle.

The children are properly added to the particle and to the given step. Maximum maxtry attempts to decay the particle is performed.

Returns:
the produced children.

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

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

Function used to read in object persistently.

Parameters:
is the persistent input stream read from.
version the version number of the object when written.

Reimplemented from ThePEG::Interfaced.

Reimplemented in ThePEG::ColourPairDecayer, ThePEG::DalitzDecayer, ThePEG::OmegaPhi3PiDecayer, ThePEG::Onium3GDecayer, ThePEG::QuarksToHadronsDecayer, ThePEG::RemnantDecayer, ThePEG::SimpleBaryonRemnantDecayer, ThePEG::Tau2HadronsDecayer, ThePEG::V2PPDecayer, and ThePEG::WeakToHadronsDecayer.


Member Data Documentation

The static object used to initialize the description of this class.

Indicates that this is an abstract class without persistent data.

Definition at line 174 of file Decayer.h.


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

Generated on Thu Apr 29 12:43:16 2010 for ThePEG by  doxygen 1.5.5