Version: SMASH-2.0
smash::TwoBodyDecay Class Reference

#include <decaytype.h>

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

Definition at line 92 of file decaytype.h.

Inheritance diagram for smash::TwoBodyDecay:
[legend]
Collaboration diagram for smash::TwoBodyDecay:
[legend]

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 (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
 

Protected Member Functions

virtual double rho (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 52 of file decaytype.cc.

53  : DecayType(part_types, l) {
54  if (part_types.size() != 2) {
55  throw std::runtime_error(
56  "Wrong number of particles in TwoBodyDecay constructor: " +
57  std::to_string(part_types.size()));
58  }
59 }

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 61 of file decaytype.cc.

61 { return 2; }
Here is the caller graph for this function:

◆ 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 63 of file decaytype.cc.

63  {
64  if (list.size() != particle_number()) {
65  return false;
66  }
67  return (particle_types_[0] == list[0] && particle_types_[1] == list[1]) ||
68  (particle_types_[0] == list[1] && particle_types_[1] == list[0]);
69 }
Here is the call graph for this function:

◆ threshold()

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

Definition at line 105 of file decaytype.h.

105  {
106  return particle_types_[0]->min_mass_spectral() +
107  particle_types_[1]->min_mass_spectral();
108  }
Here is the caller graph for this function:

◆ rho()

virtual double smash::TwoBodyDecay::rho ( 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.

Reimplemented in smash::TwoBodyDecayUnstable, smash::TwoBodyDecaySemistable, and smash::TwoBodyDecayStable.

Definition at line 120 of file decaytype.h.

120  {
121  SMASH_UNUSED(mass);
122  return 1.;
123  }

The documentation for this class was generated from the following files:
smash::TwoBodyDecay::particle_number
unsigned int particle_number() const override
Definition: decaytype.cc:61
smash::DecayType::DecayType
DecayType(ParticleTypePtrList part_types, int l)
Construct a DecayType.
Definition: decaytype.h:32
smash::DecayType::particle_types_
ParticleTypePtrList particle_types_
final-state particles of the decay
Definition: decaytype.h:84
SMASH_UNUSED
#define SMASH_UNUSED(x)
Mark as unused, silencing compiler warnings.
Definition: macros.h:24