Version: SMASH-1.5
smash::TwoBodyDecayDilepton Class Reference

#include <decaytype.h>

TwoBodyDecayDilepton represents a decay with a lepton and its antilepton as the final-state particles.

Definition at line 231 of file decaytype.h.

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

Public Member Functions

 TwoBodyDecayDilepton (ParticleTypePtrList part_types, int l)
 Construct a TwoBodyDecayDilepton. More...
 
double width (double m0, double G0, double m) const override
 
- Public Member Functions inherited from smash::TwoBodyDecayStable
 TwoBodyDecayStable (ParticleTypePtrList part_types, int l)
 Construct a TwoBodyDecayStable. More...
 
double in_width (double m0, double G0, double m, double m1, double m2) const override
 
- Public Member Functions inherited from smash::TwoBodyDecay
 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
 

Additional Inherited Members

- Protected Member Functions inherited from smash::TwoBodyDecayStable
double rho (double m) const override
 This is a virtual helper method which is used to write the width as Gamma(m) = Gamma_0 * rho(m) / rho(m_0). More...
 
- 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

◆ TwoBodyDecayDilepton()

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

Construct a TwoBodyDecayDilepton.

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

Definition at line 245 of file decaytype.cc.

247  : TwoBodyDecayStable(part_types, l) {
248  if (!is_dilepton(particle_types_[0]->pdgcode(),
249  particle_types_[1]->pdgcode())) {
250  throw std::runtime_error(
251  "Error: No dilepton in TwoBodyDecayDilepton constructor: " +
252  part_types[0]->pdgcode().string() + " " +
253  part_types[1]->pdgcode().string());
254  }
255 }
ParticleTypePtrList particle_types_
final-state particles of the decay
Definition: decaytype.h:84
bool is_dilepton(const PdgCode pdg1, const PdgCode pdg2)
Definition: pdgcode.h:980
TwoBodyDecayStable(ParticleTypePtrList part_types, int l)
Construct a TwoBodyDecayStable.
Definition: decaytype.cc:76
Here is the call graph for this function:

Member Function Documentation

◆ width()

double smash::TwoBodyDecayDilepton::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].

dilepton decays: use width from Li:1996mi, equation (19)

Reimplemented from smash::TwoBodyDecayStable.

Definition at line 257 of file decaytype.cc.

257  {
258  if (m <= threshold()) {
259  return 0;
260  } else {
262  const double ml = particle_types_[0]->mass(); // lepton mass
263  const double ml_to_m_sqr = (ml / m) * (ml / m);
264  const double m0_to_m_cubed = (m0 / m) * (m0 / m) * (m0 / m);
265  return G0 * m0_to_m_cubed * std::sqrt(1. - 4. * ml_to_m_sqr) *
266  (1. + 2. * ml_to_m_sqr);
267  }
268 }
ParticleTypePtrList particle_types_
final-state particles of the decay
Definition: decaytype.h:84
double threshold() const
Definition: decaytype.h:105
Here is the call graph for this function:

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