Version: SMASH-3.1
smash::DecayType Class Referenceabstract

#include <decaytype.h>

DecayType is the abstract base class for all decay types.

Definition at line 23 of file decaytype.h.

Inheritance diagram for smash::DecayType:
smash::ThreeBodyDecay smash::TwoBodyDecay smash::ThreeBodyDecayDilepton smash::TwoBodyDecaySemistable smash::TwoBodyDecayStable smash::TwoBodyDecayUnstable smash::TwoBodyDecayDilepton

Public Member Functions

 DecayType (ParticleTypePtrList part_types, int l)
 Construct a DecayType. More...
 
virtual ~DecayType ()=default
 Virtual Destructor. More...
 
virtual unsigned int particle_number () const =0
 
virtual bool has_particles (ParticleTypePtrList list) const =0
 
virtual bool has_mother ([[maybe_unused]] ParticleTypePtr mother) const
 
const ParticleTypePtrList & particle_types () const
 
int angular_momentum () const
 
virtual double width (double m0, double G0, double m) const =0
 
virtual double in_width (double m0, double G0, double m, double m1, double m2) const =0
 
virtual bool is_dilepton_decay () const
 

Protected Attributes

ParticleTypePtrList particle_types_
 final-state particles of the decay More...
 
int L_
 angular momentum of the decay More...
 

Constructor & Destructor Documentation

◆ DecayType()

smash::DecayType::DecayType ( ParticleTypePtrList  part_types,
int  l 
)
inline

Construct a DecayType.

Parameters
[in]part_typesFinal-state particles of the decay.
[in]lAngular momentum of the decay.
Returns
The constructed object.

Definition at line 32 of file decaytype.h.

33  : particle_types_(part_types), L_(l) {}
int L_
angular momentum of the decay
Definition: decaytype.h:88
ParticleTypePtrList particle_types_
final-state particles of the decay
Definition: decaytype.h:86

◆ ~DecayType()

virtual smash::DecayType::~DecayType ( )
virtualdefault

Virtual Destructor.

The declaration of the destructor is necessary to make it virtual.

Member Function Documentation

◆ particle_number()

virtual unsigned int smash::DecayType::particle_number ( ) const
pure virtual
Returns
the number of particles in the final state

Implemented in smash::ThreeBodyDecay, and smash::TwoBodyDecay.

◆ has_particles()

virtual bool smash::DecayType::has_particles ( ParticleTypePtrList  list) const
pure virtual
Returns
if the final state consists of the given particle list.
Parameters
[in]listFinal state particle types to be checked.

Implemented in smash::ThreeBodyDecay, and smash::TwoBodyDecay.

◆ has_mother()

virtual bool smash::DecayType::has_mother ( [[maybe_unused] ] ParticleTypePtr  mother) const
inlinevirtual
Returns
if this decay type has the right mother (most decays do not depend on the mother type).
Parameters
[in]motherParticle type to be checked.

Definition at line 54 of file decaytype.h.

54  {
55  return true;
56  }

◆ particle_types()

const ParticleTypePtrList& smash::DecayType::particle_types ( ) const
inline
Returns
the particle types associated with this branch.

Definition at line 58 of file decaytype.h.

58 { return particle_types_; }

◆ angular_momentum()

int smash::DecayType::angular_momentum ( ) const
inline
Returns
the angular momentum of this branch.

Definition at line 60 of file decaytype.h.

60 { return L_; }

◆ width()

virtual double smash::DecayType::width ( double  m0,
double  G0,
double  m 
) const
pure virtual
Returns
the mass-dependent width of the decay.
Parameters
[in]m0Pole mass of the decaying particle [GeV].
[in]G0Partial width at the pole mass [GeV].
[in]mActual mass of the decaying particle [GeV].

Implemented in smash::ThreeBodyDecayDilepton, smash::ThreeBodyDecay, smash::TwoBodyDecayDilepton, smash::TwoBodyDecayUnstable, smash::TwoBodyDecaySemistable, and smash::TwoBodyDecayStable.

◆ in_width()

virtual double smash::DecayType::in_width ( double  m0,
double  G0,
double  m,
double  m1,
double  m2 
) const
pure virtual
Returns
The mass-dependent in-width for a resonance formation process.
Parameters
[in]m0Pole mass of the produced resonance [GeV].
[in]G0Partial width at the pole mass [GeV].
[in]mActual mass of the produced resonance [GeV].
[in]m1Actual mass of the first incoming particle [GeV].
[in]m2Actual mass of the second incoming particle [GeV].

Implemented in smash::ThreeBodyDecay, smash::TwoBodyDecayUnstable, smash::TwoBodyDecaySemistable, and smash::TwoBodyDecayStable.

◆ is_dilepton_decay()

virtual bool smash::DecayType::is_dilepton_decay ( ) const
inlinevirtual
Returns
whether the decay is a dilepton decay (most decays are hadronic)

Reimplemented in smash::ThreeBodyDecayDilepton, and smash::TwoBodyDecayDilepton.

Definition at line 82 of file decaytype.h.

82 { return false; }

Member Data Documentation

◆ particle_types_

ParticleTypePtrList smash::DecayType::particle_types_
protected

final-state particles of the decay

Definition at line 86 of file decaytype.h.

◆ L_

int smash::DecayType::L_
protected

angular momentum of the decay

Definition at line 88 of file decaytype.h.


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