Node of a decay tree, representing a possible action (2-to-2 or 1-to-2).
This data structure can be used to build a tree going from the initial state (a collision of two particles) to all possible final states by recursively performing all possible decays. The tree can be used to calculate the final state cross sections.
The initial actions are 2-to-2 or 2-to-1 scatterings, all other actions are 1-to-2 decays.
Definition at line 489 of file scatteractionsfinder.cc.
Public Member Functions | |
Node (const Node &)=delete | |
Cannot be copied. More... | |
Node (Node &&)=default | |
Move constructor. More... | |
Node (const std::string &name, double weight, ParticleTypePtrList &&initial_particles, ParticleTypePtrList &&final_particles, ParticleTypePtrList &&state, std::vector< Node > &&children) | |
Node & | add_action (const std::string &name, double weight, ParticleTypePtrList &&initial_particles, ParticleTypePtrList &&final_particles) |
Add an action to the children of this node. More... | |
void | print () const |
Print the decay tree starting with this node. More... | |
std::vector< FinalStateCrossSection > | final_state_cross_sections () const |
Public Attributes | |
std::string | name_ |
Name for printing. More... | |
double | weight_ |
Weight (cross section or branching ratio). More... | |
ParticleTypePtrList | initial_particles_ |
Initial-state particle types in this action. More... | |
ParticleTypePtrList | final_particles_ |
Final-state particle types in this action. More... | |
ParticleTypePtrList | state_ |
Particle types corresponding to the global state after this action. More... | |
std::vector< Node > | children_ |
Possible actions after this action. More... | |
Private Member Functions | |
void | print_helper (uint64_t depth) const |
Internal helper function for print , to be called recursively to print all nodes. More... | |
void | final_state_cross_sections_helper (uint64_t depth, std::vector< FinalStateCrossSection > &result, const std::string &name, double weight, bool show_intermediate_states=false) const |
Internal helper function for final_state_cross_sections , to be called recursively to calculate all final-state cross sections. More... | |
|
delete |
Cannot be copied.
|
default |
Move constructor.
|
inline |
name | Name for printing. |
weight | Cross section or branching ratio. |
initial_particles | Initial-state particle types in this node. |
final_particles | Final-state particle types in this node. |
state | Curent particle types of the system. |
children | Possible actions after this action. |
Definition at line 524 of file scatteractionsfinder.cc.
|
inline |
Add an action to the children of this node.
The current particle state of the new action is automatically calculated.
name | Name of the action used for output. |
weight | Cross section/branching ratio of the action. |
initial_particles | Initial-state particle types of the action. |
final_particles | Final-state particle types of the action. |
Definition at line 546 of file scatteractionsfinder.cc.
|
inline |
Print the decay tree starting with this node.
Definition at line 570 of file scatteractionsfinder.cc.
|
inline |
Definition at line 575 of file scatteractionsfinder.cc.
|
inlineprivate |
Internal helper function for print
, to be called recursively to print all nodes.
depth | Recursive call depth. |
Definition at line 588 of file scatteractionsfinder.cc.
|
inlineprivate |
Internal helper function for final_state_cross_sections
, to be called recursively to calculate all final-state cross sections.
depth | Recursive call depth. |
result | Pairs of process names and exclusive cross sections. |
name | Current name. |
weight | current Weight/cross section. |
show_intermediate_states | Whether intermediate states should be shown. |
Definition at line 609 of file scatteractionsfinder.cc.
std::string smash::decaytree::Node::name_ |
Name for printing.
Definition at line 492 of file scatteractionsfinder.cc.
double smash::decaytree::Node::weight_ |
Weight (cross section or branching ratio).
Definition at line 495 of file scatteractionsfinder.cc.
ParticleTypePtrList smash::decaytree::Node::initial_particles_ |
Initial-state particle types in this action.
Definition at line 498 of file scatteractionsfinder.cc.
ParticleTypePtrList smash::decaytree::Node::final_particles_ |
Final-state particle types in this action.
Definition at line 501 of file scatteractionsfinder.cc.
ParticleTypePtrList smash::decaytree::Node::state_ |
Particle types corresponding to the global state after this action.
Definition at line 504 of file scatteractionsfinder.cc.
std::vector<Node> smash::decaytree::Node::children_ |
Possible actions after this action.
Definition at line 507 of file scatteractionsfinder.cc.