Version: SMASH-3.1
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 277 of file decaytype.h.

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

Public Member Functions

 TwoBodyDecayDilepton (ParticleTypePtrList part_types, int l)
 Construct a TwoBodyDecayDilepton. More...
 
double width (double m0, double G0, double m) const override
 Get the mass-dependent width of a two-body decay into stable particles according to Manley:1992yb [37]. More...
 
bool is_dilepton_decay () 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
 Get the mass-dependent in-width for a resonance formation process from two stable particles according to Manley:1992yb [37], see also Effenberger:1999wlg [21], eq. More...
 
- 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 ([[maybe_unused]] 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
 See TwoBodyDecay::rho. More...
 
- Protected Member Functions inherited from smash::TwoBodyDecay
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...
 
- 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 241 of file decaytype.cc.

243  : TwoBodyDecayStable(part_types, l) {
244  if (!is_dilepton(particle_types_[0]->pdgcode(),
245  particle_types_[1]->pdgcode())) {
246  throw std::runtime_error(
247  "Error: No dilepton in TwoBodyDecayDilepton constructor: " +
248  part_types[0]->pdgcode().string() + " " +
249  part_types[1]->pdgcode().string());
250  }
251 }
ParticleTypePtrList particle_types_
final-state particles of the decay
Definition: decaytype.h:86
TwoBodyDecayStable(ParticleTypePtrList part_types, int l)
Construct a TwoBodyDecayStable.
Definition: decaytype.cc:72
bool is_dilepton(const PdgCode pdg1, const PdgCode pdg2)
Definition: pdgcode.h:1117

Member Function Documentation

◆ width()

double smash::TwoBodyDecayDilepton::width ( double  m0,
double  G0,
double  m 
) const
overridevirtual

Get the mass-dependent width of a two-body decay into stable particles according to Manley:1992yb [37].

Parameters
m0Pole mass of the decaying particle [GeV].
G0Partial width at the pole mass [GeV].
mActual mass of the decaying particle [GeV].

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

Reimplemented from smash::TwoBodyDecayStable.

Definition at line 253 of file decaytype.cc.

253  {
254  if (m <= threshold()) {
255  return 0;
256  } else {
258  const double ml = particle_types_[0]->mass(); // lepton mass
259  const double ml_to_m_sqr = (ml / m) * (ml / m);
260  const double m0_to_m_cubed = (m0 / m) * (m0 / m) * (m0 / m);
261  return G0 * m0_to_m_cubed * std::sqrt(1. - 4. * ml_to_m_sqr) *
262  (1. + 2. * ml_to_m_sqr);
263  }
264 }
double threshold() const
Definition: decaytype.h:107

◆ is_dilepton_decay()

bool smash::TwoBodyDecayDilepton::is_dilepton_decay ( ) const
inlineoverridevirtual
Returns
whether the decay is a dilepton decay (most decays are hadronic)

Reimplemented from smash::DecayType.

Definition at line 289 of file decaytype.h.

289 { return true; }

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