10 #ifndef SRC_INCLUDE_SMASH_DECAYACTION_H_
11 #define SRC_INCLUDE_SMASH_DECAYACTION_H_
63 double kinetic_energy_cm)
const override;
86 using std::invalid_argument::invalid_argument;
Action is the base class for a generic process that takes a number of incoming particles and transfor...
Thrown when DecayAction is called to perform with 0 or more than 2 entries in outgoing_particles.
DecayAction is a special action which takes one single particle in the initial state and makes it dec...
double partial_width_
partial decay width to the chosen outgoing channel
double total_width_
total decay width
double get_total_weight() const override
Return the total width of the decay process.
void add_decays(DecayBranchList pv)
Add several new decays at once.
double total_width() const
Get total decay width.
void generate_final_state() override
Generate the final state of the decay process.
DecayAction(const ParticleData &p, double time)
Construct a DecayAction from a particle p.
double get_partial_weight() const override
Get partial width of chosen channel.
void add_decay(DecayBranchPtr p)
Add one new decay.
DecayBranchList decay_channels_
List of possible decays.
int L_
Angular momentum of the decay.
std::pair< double, double > sample_masses(double kinetic_energy_cm) const override
Sample the masses of the final particles.
ParticleData contains the dynamic information of a certain particle.
void format_debug_output(std::ostream &out) const override
Writes information about this decay action to the out stream.