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 670 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 705 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 727 of file scatteractionsfinder.cc.
|
inline |
Print the decay tree starting with this node.
Definition at line 751 of file scatteractionsfinder.cc.
|
inline |
Definition at line 756 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 769 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 790 of file scatteractionsfinder.cc.
std::string smash::decaytree::Node::name_ |
Name for printing.
Definition at line 673 of file scatteractionsfinder.cc.
double smash::decaytree::Node::weight_ |
Weight (cross section or branching ratio).
Definition at line 676 of file scatteractionsfinder.cc.
ParticleTypePtrList smash::decaytree::Node::initial_particles_ |
Initial-state particle types in this action.
Definition at line 679 of file scatteractionsfinder.cc.
ParticleTypePtrList smash::decaytree::Node::final_particles_ |
Final-state particle types in this action.
Definition at line 682 of file scatteractionsfinder.cc.
ParticleTypePtrList smash::decaytree::Node::state_ |
Particle types corresponding to the global state after this action.
Definition at line 685 of file scatteractionsfinder.cc.
std::vector<Node> smash::decaytree::Node::children_ |
Possible actions after this action.
Definition at line 688 of file scatteractionsfinder.cc.