Version: SMASH-2.0
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 269 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
 Get the mass-dependent width of a two-body decay into stable particles according to Manley:1992yb [32]. More...
 
- 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 [32], see also Effenberger:1999wlg [18], 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 (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 242 of file decaytype.cc.

244  : TwoBodyDecayStable(part_types, l) {
245  if (!is_dilepton(particle_types_[0]->pdgcode(),
246  particle_types_[1]->pdgcode())) {
247  throw std::runtime_error(
248  "Error: No dilepton in TwoBodyDecayDilepton constructor: " +
249  part_types[0]->pdgcode().string() + " " +
250  part_types[1]->pdgcode().string());
251  }
252 }
Here is the call graph for this function:

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 [32].

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 [30], equation (19)

Reimplemented from smash::TwoBodyDecayStable.

Definition at line 254 of file decaytype.cc.

254  {
255  if (m <= threshold()) {
256  return 0;
257  } else {
259  const double ml = particle_types_[0]->mass(); // lepton mass
260  const double ml_to_m_sqr = (ml / m) * (ml / m);
261  const double m0_to_m_cubed = (m0 / m) * (m0 / m) * (m0 / m);
262  return G0 * m0_to_m_cubed * std::sqrt(1. - 4. * ml_to_m_sqr) *
263  (1. + 2. * ml_to_m_sqr);
264  }
265 }
Here is the call graph for this function:

The documentation for this class was generated from the following files:
smash::TwoBodyDecay::threshold
double threshold() const
Definition: decaytype.h:105
smash::TwoBodyDecayStable::TwoBodyDecayStable
TwoBodyDecayStable(ParticleTypePtrList part_types, int l)
Construct a TwoBodyDecayStable.
Definition: decaytype.cc:73
smash::DecayType::particle_types_
ParticleTypePtrList particle_types_
final-state particles of the decay
Definition: decaytype.h:84
smash::is_dilepton
bool is_dilepton(const PdgCode pdg1, const PdgCode pdg2)
Definition: pdgcode.h:992