 |
Version: SMASH-1.8
|
|
Go to the documentation of this file.
8 #ifndef SRC_INCLUDE_DECAYTYPE_H_
9 #define SRC_INCLUDE_DECAYTYPE_H_
47 virtual bool has_particles(ParticleTypePtrList list)
const = 0;
69 virtual double width(
double m0,
double G0,
double m)
const = 0;
79 virtual double in_width(
double m0,
double G0,
double m,
double m1,
120 virtual double rho(
double mass)
const {
149 double width(
double m0,
double G0,
double m)
const override;
162 double in_width(
double m0,
double G0,
double m,
double m1,
163 double m2)
const override;
166 double rho(
double m)
const override;
192 double width(
double m0,
double G0,
double m)
const override;
205 double in_width(
double m0,
double G0,
double m,
double m1,
206 double m2)
const override;
209 double rho(
double m)
const override;
246 double width(
double m0,
double G0,
double m)
const override;
247 double in_width(
double m0,
double G0,
double m,
double m1,
248 double m2)
const override;
251 double rho(
double m)
const override;
280 double width(
double m0,
double G0,
double m)
const override;
299 double width(
double m0,
double G0,
double m)
const override;
300 double in_width(
double m0,
double G0,
double m,
double m1,
301 double m2)
const override;
341 static double diff_width(
double m_par,
double m_l,
double m_dil,
344 double width(
double m0,
double G0,
double m)
const override;
356 #endif // SRC_INCLUDE_DECAYTYPE_H_
TwoBodyDecay(ParticleTypePtrList part_types, int l)
Construct a TwoBodyDecay.
virtual unsigned int particle_number() const =0
TwoBodyDecayUnstable(ParticleTypePtrList part_types, int l)
Construct a TwoBodyDecayUnstable.
unsigned int particle_number() const override
TwoBodyDecayStable(ParticleTypePtrList part_types, int l)
Construct a TwoBodyDecayStable.
DecayType is the abstract base class for all decay types.
ThreeBodyDecay represents a decay type with three final-state particles.
unsigned int particle_number() const override
std::unique_ptr< Tabulation > tabulation_
Tabulation of the resonance integrals.
int L_
angular momentum of the decay
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...
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...
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 one stable and one unstable pa...
std::unique_ptr< Tabulation > tabulation_
Tabulation of the resonance integrals.
bool has_particles(ParticleTypePtrList list) const override
bool has_particles(ParticleTypePtrList list) const override
DecayType(ParticleTypePtrList part_types, int l)
Construct a DecayType.
virtual ~DecayType()=default
Virtual Destructor.
TwoBodyDecaySemistable(ParticleTypePtrList part_types, int l)
Construct a TwoBodyDecaySemistable.
ParticleTypePtrList particle_types_
final-state particles of the decay
int angular_momentum() const
bool has_mother(ParticleTypePtr mother) const override
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...
ThreeBodyDecayDilepton represents a decay type with three final-state particles, two of which are lep...
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 .
double width(double m0, double G0, double m) const override
Get the mass-dependent width of a two-body decay into one stable and one unstable particle according ...
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...
virtual double in_width(double m0, double G0, double m, double m1, double m2) const =0
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
ThreeBodyDecay(ParticleTypePtrList part_types, int l)
Construct a ThreeBodyDecay.
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...
TwoBodyDecayDilepton(ParticleTypePtrList part_types, int l)
Construct a TwoBodyDecayDilepton.
ParticleTypePtr mother_
Type of the mother particle.
virtual bool has_mother(ParticleTypePtr mother) const
virtual bool has_particles(ParticleTypePtrList list) const =0
#define SMASH_UNUSED(x)
Mark as unused, silencing compiler warnings.
TwoBodyDecayStable represents a decay type with two stable final-state particles.
double width(double m0, double G0, double m) const override
TwoBodyDecayUnstable represents a decay type with two unstable final-state particles.
TwoBodyDecayDilepton represents a decay with a lepton and its antilepton as the final-state particles...
static double diff_width(double m_par, double m_l, double m_dil, double m_other, ParticleTypePtr other, ParticleTypePtr t)
Get the mass-differential width for a dilepton Dalitz decay, where is the invariant mass of the lep...
TwoBodyDecay represents a decay type with two final-state particles.
virtual double width(double m0, double G0, double m) const =0
double width(double m0, double G0, double m) const override
double Lambda_
Cut-off parameter Λ for semi-stable decays.
std::unique_ptr< Tabulation > tabulation_
Tabulation of the resonance integrals.
double in_width(double m0, double G0, double m, double m1, double m2) const override
TwoBodyDecaySemistable represents a decay type with two final-state particles, one of which is stable...
const ParticleTypePtrList & particle_types() const
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 .
double Lambda_
Cut-off parameter Λ for unstable decays.
ThreeBodyDecayDilepton(ParticleTypePtr mother, ParticleTypePtrList part_types, int l)
Construct a ThreeBodyDecayDilepton.