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 {
141 double width(
double m0,
double G0,
double m)
const override;
143 double in_width(
double m0,
double G0,
double m,
double m1,
144 double m2)
const override;
147 double rho(
double m)
const override;
165 double width(
double m0,
double G0,
double m)
const override;
167 double in_width(
double m0,
double G0,
double m,
double m1,
168 double m2)
const override;
171 double rho(
double m)
const override;
208 double width(
double m0,
double G0,
double m)
const override;
209 double in_width(
double m0,
double G0,
double m,
double m1,
210 double m2)
const override;
213 double rho(
double m)
const override;
242 double width(
double m0,
double G0,
double m)
const override;
261 double width(
double m0,
double G0,
double m)
const override;
262 double in_width(
double m0,
double G0,
double m,
double m1,
263 double m2)
const override;
302 static double diff_width(
double m_par,
double m_l,
double m_dil,
305 double width(
double m0,
double G0,
double m)
const override;
317 #endif // SRC_INCLUDE_DECAYTYPE_H_ double Lambda_
Cut-off parameter Λ for unstable decays.
#define SMASH_UNUSED(x)
Mark as unused, silencing compiler warnings.
virtual bool has_mother(ParticleTypePtr mother) const
std::unique_ptr< Tabulation > tabulation_
Tabulation of the resonance integrals.
DecayType(ParticleTypePtrList part_types, int l)
Construct a DecayType.
ParticleTypePtrList particle_types_
final-state particles of the decay
ThreeBodyDecayDilepton represents a decay type with three final-state particles, two of which are lep...
virtual unsigned int particle_number() const =0
int L_
angular momentum of the decay
int angular_momentum() const
std::unique_ptr< Tabulation > tabulation_
Tabulation of the resonance integrals.
DecayType is the abstract base class for all decay types.
TwoBodyDecaySemistable represents a decay type with two final-state particles, one of which is stable...
ThreeBodyDecay represents a decay type with three final-state particles.
TwoBodyDecayDilepton represents a decay with a lepton and its antilepton as the final-state particles...
virtual double width(double m0, double G0, double m) const =0
virtual double in_width(double m0, double G0, double m, double m1, double m2) const =0
std::unique_ptr< Tabulation > tabulation_
Tabulation of the resonance integrals.
double Lambda_
Cut-off parameter Λ for semi-stable decays.
virtual ~DecayType()=default
Virtual Destructor.
virtual bool has_particles(ParticleTypePtrList list) const =0
TwoBodyDecay represents a decay type with two final-state particles.
TwoBodyDecayStable represents a decay type with two stable final-state particles. ...
TwoBodyDecayUnstable represents a decay type with two unstable final-state particles.
ParticleTypePtr mother_
Type of the mother particle.
A pointer-like interface to global references to ParticleType objects.
const ParticleTypePtrList & particle_types() const
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...