#include <processbranch.h>
CollisionBranch is a derivative of ProcessBranch, which is used to represent particular final-state channels in a collision.
Definition at line 216 of file processbranch.h.
Public Member Functions | |
CollisionBranch (double w, ProcessType p_type) | |
Construct collision branch with empty final state. More... | |
CollisionBranch (const ParticleType &type, double w, ProcessType p_type) | |
Construct collision branch with 1 particle in final state. More... | |
CollisionBranch (const ParticleType &type_a, const ParticleType &type_b, double w, ProcessType p_type) | |
Construct collision branch with 2 particles in final state. More... | |
CollisionBranch (const ParticleType &type_a, const ParticleType &type_b, const ParticleType &type_c, double w, ProcessType p_type) | |
Construct collision branch with 3 particles in final state. More... | |
CollisionBranch (const ParticleType &type_a, const ParticleType &type_b, const ParticleType &type_c, const ParticleType &type_d, double w, ProcessType p_type) | |
Construct collision branch with 4 particles in final state. More... | |
CollisionBranch (const ParticleType &type_a, const ParticleType &type_b, const ParticleType &type_c, const ParticleType &type_d, const ParticleType &type_e, double w, ProcessType p_type) | |
Construct collision branch with 5 particles in final state. More... | |
CollisionBranch (ParticleTypePtrList new_types, double w, ProcessType p_type) | |
Construct collision branch with a list of particles in final state. More... | |
CollisionBranch (CollisionBranch &&rhs) | |
The move constructor efficiently moves the particle-type list member. More... | |
const ParticleTypePtrList & | particle_types () const override |
void | set_type (ProcessType p_type) |
Set the process type. More... | |
ProcessType | get_type () const override |
unsigned int | particle_number () const override |
Public Member Functions inherited from smash::ProcessBranch | |
ProcessBranch () | |
Create a ProcessBranch without final states and weight. More... | |
ProcessBranch (double w) | |
Create a ProcessBranch with with weight but without final states. More... | |
ProcessBranch (const ProcessBranch &)=delete | |
Copying is disabled. Use std::move or create a new object. More... | |
virtual | ~ProcessBranch ()=default |
Virtual Destructor. More... | |
void | set_weight (double process_weight) |
Set the weight of the branch. More... | |
ParticleList | particle_list () const |
double | weight () const |
double | threshold () const |
Private Attributes | |
ParticleTypePtrList | particle_types_ |
List of particles appearing in this process outcome. More... | |
ProcessType | process_type_ |
Process type are used to distinguish different types of processes, e.g. More... | |
Additional Inherited Members | |
Protected Attributes inherited from smash::ProcessBranch | |
double | branch_weight_ |
Weight of the branch, typically a cross section or a branching ratio. More... | |
double | threshold_ = -1. |
Threshold of the branch. More... | |
Related Functions inherited from smash::ProcessBranch | |
template<typename Branch > | |
double | total_weight (const ProcessBranchList< Branch > &l) |
|
inline |
Construct collision branch with empty final state.
[in] | w | Weight of created branch. |
[in] | p_type | Process type of created branch. |
Definition at line 223 of file processbranch.h.
|
inline |
Construct collision branch with 1 particle in final state.
[in] | type | Particle type of final state particle. |
[in] | w | Weight of created branch. |
[in] | p_type | Process type of created branch. |
Definition at line 231 of file processbranch.h.
|
inline |
Construct collision branch with 2 particles in final state.
[in] | type_a | Particle types of one final state particle. |
[in] | type_b | Particle types of other final state particle. |
[in] | w | Weight of created branch. |
[in] | p_type | Process type of created branch. |
Definition at line 243 of file processbranch.h.
|
inline |
Construct collision branch with 3 particles in final state.
[in] | type_a | Particle type of first final state particle. |
[in] | type_b | Particle type of second final state particle. |
[in] | type_c | Particle type of third final state particle. |
[in] | w | Weight of created branch. |
[in] | p_type | Process type of created branch. |
Definition at line 259 of file processbranch.h.
|
inline |
Construct collision branch with 4 particles in final state.
[in] | type_a | Particle type of first final state particle. |
[in] | type_b | Particle type of second final state particle. |
[in] | type_c | Particle type of third final state particle. |
[in] | type_d | Particle type of fourth final state particle. |
[in] | w | Weight of created branch. |
[in] | p_type | Process type of created branch. |
Definition at line 277 of file processbranch.h.
|
inline |
Construct collision branch with 5 particles in final state.
[in] | type_a | Particle type of first final state particle. |
[in] | type_b | Particle type of second final state particle. |
[in] | type_c | Particle type of third final state particle. |
[in] | type_d | Particle type of fourth final state particle. |
[in] | type_e | Particle type of fith final state particle. |
[in] | w | Weight of created branch. |
[in] | p_type | Process type of created branch. |
Definition at line 298 of file processbranch.h.
|
inline |
Construct collision branch with a list of particles in final state.
[in] | new_types | List of particle types of final state particles. |
[in] | w | Weight of created branch. |
[in] | p_type | Process type of created branch. |
Definition at line 316 of file processbranch.h.
|
inline |
The move constructor efficiently moves the particle-type list member.
Definition at line 321 of file processbranch.h.
|
inlineoverridevirtual |
Implements smash::ProcessBranch.
Definition at line 325 of file processbranch.h.
|
inline |
Set the process type.
[in] | p_type | The new value of the process type |
Definition at line 333 of file processbranch.h.
|
inlineoverridevirtual |
Implements smash::ProcessBranch.
Definition at line 335 of file processbranch.h.
|
inlineoverridevirtual |
Implements smash::ProcessBranch.
Definition at line 337 of file processbranch.h.
|
private |
List of particles appearing in this process outcome.
Definition at line 343 of file processbranch.h.
|
private |
Process type are used to distinguish different types of processes, e.g.
string formation, resonance formation, elastic scattering and so on.
Definition at line 349 of file processbranch.h.