|
minimc 0.5.1
|
Models the interaction between a Particle and a Nuclide. More...
#include <Interaction.hpp>

Public Types | |
| using | Map = std::map< Particle::Type, std::unique_ptr< const Interaction > > |
| Associates a Particle::Type with a polymorphic pointer to Interaction. | |
Public Member Functions | |
| virtual | ~Interaction () noexcept |
| Virtual destructor (C++ Core Guidelines C.127) | |
| virtual MicroscopicCrossSection | GetMajorant (const Particle &p) const noexcept=0 |
| Returns the majorant cross section for a given Particle. More... | |
| virtual MicroscopicCrossSection | GetTotal (const Particle &p) const noexcept=0 |
| Returns the total cross section for a given Particle. More... | |
| virtual void | Interact (Particle &p) const noexcept=0 |
| Interact with a Particle, updating its state. More... | |
Static Public Member Functions | |
| static Map | Create (const pugi::xml_node &nuclide_node) |
| Factory method to create multigroup or continuous Interaction from a nuclide node. More... | |
Models the interaction between a Particle and a Nuclide.
The polymorphism here shall be where multigroup and continuous energy cross sections are resolved.
|
static |
Factory method to create multigroup or continuous Interaction from a nuclide node.
std::map with Particle::Type as keys and std::unique_ptrs to the constructed Interaction (C++ Core Guidelines R.30) | std::runtime_error | Particle declared in `general/particles` node not found in nuclide node. |
|
pure virtualnoexcept |
Returns the majorant cross section for a given Particle.
Implemented in Continuous, and Multigroup.
|
pure virtualnoexcept |
Returns the total cross section for a given Particle.
Implemented in Continuous, and Multigroup.
|
pure virtualnoexcept |
Interact with a Particle, updating its state.
Implemented in Continuous, and Multigroup.