Version: SMASH-1.5
smash::ThreeBodyDecay Class Reference

#include <decaytype.h>

ThreeBodyDecay represents a decay type with three final-state particles.

Definition at line 248 of file decaytype.h.

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

Public Member Functions

 ThreeBodyDecay (ParticleTypePtrList part_types, int l)
 Construct a ThreeBodyDecay. More...
 
unsigned int particle_number () const override
 
bool has_particles (ParticleTypePtrList list) const override
 
double width (double m0, double G0, double m) const override
 
double in_width (double m0, double G0, double m, double m1, double m2) const override
 
- 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
 

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

◆ ThreeBodyDecay()

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

Construct a ThreeBodyDecay.

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

Definition at line 278 of file decaytype.cc.

279  : DecayType(sort_particles(part_types), l) {
280  if (part_types.size() != 3) {
281  throw std::runtime_error(
282  "Wrong number of particles in ThreeBodyDecay constructor: " +
283  std::to_string(part_types.size()));
284  }
285 }
DecayType(ParticleTypePtrList part_types, int l)
Construct a DecayType.
Definition: decaytype.h:32
static ParticleTypePtrList sort_particles(ParticleTypePtrList part_types)
sort the particle list
Definition: decaytype.cc:273

Member Function Documentation

◆ particle_number()

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

Implements smash::DecayType.

Definition at line 287 of file decaytype.cc.

287 { return 3; }
Here is the caller graph for this function:

◆ has_particles()

bool smash::ThreeBodyDecay::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 289 of file decaytype.cc.

289  {
290  if (list.size() != particle_number()) {
291  return false;
292  }
293  // compare sorted vectors (particle_types_ is already sorted)
294  std::sort(list.begin(), list.end());
295  return particle_types_[0] == list[0] && particle_types_[1] == list[1] &&
296  particle_types_[2] == list[2];
297 }
ParticleTypePtrList particle_types_
final-state particles of the decay
Definition: decaytype.h:84
unsigned int particle_number() const override
Definition: decaytype.cc:287
Here is the call graph for this function:

◆ width()

double smash::ThreeBodyDecay::width ( double  m0,
double  G0,
double  m 
) const
overridevirtual
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].

Implements smash::DecayType.

Reimplemented in smash::ThreeBodyDecayDilepton.

Definition at line 299 of file decaytype.cc.

299  {
300  return G0; // use on-shell width
301 }

◆ in_width()

double smash::ThreeBodyDecay::in_width ( double  m0,
double  G0,
double  m,
double  m1,
double  m2 
) const
overridevirtual
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].

Implements smash::DecayType.

Definition at line 303 of file decaytype.cc.

304  {
305  return G0; // use on-shell width
306 }

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