Version: SMASH-3.1
smash::TwoBodyDecay Class Reference

#include <decaytype.h>

TwoBodyDecay represents a decay type with two final-state particles.

Definition at line 94 of file decaytype.h.

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

Public Member Functions

 TwoBodyDecay (ParticleTypePtrList part_types, int l)
 Construct a TwoBodyDecay. More...
 
unsigned int particle_number () const override
 
bool has_particles (ParticleTypePtrList list) const override
 
double threshold () const
 
- Public Member Functions inherited from smash::DecayType
 DecayType (ParticleTypePtrList part_types, int l)
 Construct a DecayType. More...
 
virtual ~DecayType ()=default
 Virtual Destructor. More...
 
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 Member Functions

virtual double rho ([[maybe_unused]] double mass) const
 This is a virtual helper method which is used to write the width as Gamma(m) = Gamma_0 * rho(m) / rho(m_0). More...
 

Additional Inherited Members

- Protected Attributes inherited from smash::DecayType
ParticleTypePtrList particle_types_
 final-state particles of the decay More...
 
int L_
 angular momentum of the decay More...
 

Constructor & Destructor Documentation

◆ TwoBodyDecay()

smash::TwoBodyDecay::TwoBodyDecay ( ParticleTypePtrList  part_types,
int  l 
)

Construct a TwoBodyDecay.

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

Definition at line 51 of file decaytype.cc.

52  : DecayType(part_types, l) {
53  if (part_types.size() != 2) {
54  throw std::runtime_error(
55  "Wrong number of particles in TwoBodyDecay constructor: " +
56  std::to_string(part_types.size()));
57  }
58 }
DecayType(ParticleTypePtrList part_types, int l)
Construct a DecayType.
Definition: decaytype.h:32

Member Function Documentation

◆ particle_number()

unsigned int smash::TwoBodyDecay::particle_number ( ) const
overridevirtual
Returns
the number of particles in the final state

Implements smash::DecayType.

Definition at line 60 of file decaytype.cc.

60 { return 2; }

◆ has_particles()

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

Implements smash::DecayType.

Definition at line 62 of file decaytype.cc.

62  {
63  if (list.size() != particle_number()) {
64  return false;
65  }
66  return (particle_types_[0] == list[0] && particle_types_[1] == list[1]) ||
67  (particle_types_[0] == list[1] && particle_types_[1] == list[0]);
68 }
ParticleTypePtrList particle_types_
final-state particles of the decay
Definition: decaytype.h:86
unsigned int particle_number() const override
Definition: decaytype.cc:60

◆ threshold()

double smash::TwoBodyDecay::threshold ( ) const
inline
Returns
The kinematic energy threshold of the decay in GeV.

Definition at line 107 of file decaytype.h.

107  {
108  return particle_types_[0]->min_mass_spectral() +
109  particle_types_[1]->min_mass_spectral();
110  }

◆ rho()

virtual double smash::TwoBodyDecay::rho ( [[maybe_unused] ] double  mass) const
inlineprotectedvirtual

This is a virtual helper method which is used to write the width as Gamma(m) = Gamma_0 * rho(m) / rho(m_0).

This ensures that the width is properly normalized at the pole mass to Gamma(m_0) = Gamma_0. By default rho simply equals one, which corresponds to a constant width.

Parameters
[in]massResonance mass of the decay.
Returns
Width of the decay at the given mass.

Definition at line 122 of file decaytype.h.

122 { return 1.; }

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