|
minimc 0.5.1
|
Models a change in a system parameter. More...
#include <Perturbation.hpp>

Public Member Functions | |
| virtual | ~Perturbation () noexcept |
| Virtual destructor (C++ Core Guidelines C.127) | |
| virtual std::unique_ptr< Sensitivity > | CreateSensitivity (const pugi::xml_node &perturbation_node, const Estimator &estimator) const =0 |
Create a Sensitivity estimator from a perturbation child of a sensitivities node of an XML document. More... | |
| virtual Real | Stream (const Particle &p, const Real distance) const noexcept=0 |
| Returns the indirect effect as a result of performing Particle::Stream. More... | |
| virtual Real | Scatter (const Particle &p, const Real &mu, const Energy &e) const noexcept=0 |
| Returns the indirect effect as a result of performing Particle::Scatter. More... | |
Static Public Member Functions | |
| static std::unique_ptr< Perturbation > | Create (const pugi::xml_node &perturbation_node, const World &world) noexcept |
| Factory method to create a new Perturbation from a perturbation node of an XML document. | |
Public Attributes | |
| const std::string | name |
| Unique, user-defined identifier (C++ Core Guidelines C.131) | |
Protected Member Functions | |
| Perturbation (const pugi::xml_node &perturbation_node) noexcept | |
| Constructs a Perturbation from a perturbation node. | |
Models a change in a system parameter.
A new Perturbation is created for each Particle instance since each Particle will have its own sest of indirect effects which must be accumulated
|
pure virtual |
Create a Sensitivity estimator from a perturbation child of a sensitivities node of an XML document.
Implemented in TotalCrossSectionPerturbation.
|
pure virtualnoexcept |
Returns the indirect effect as a result of performing Particle::Scatter.
Implemented in TotalCrossSectionPerturbation.
|
pure virtualnoexcept |
Returns the indirect effect as a result of performing Particle::Stream.
Implemented in TotalCrossSectionPerturbation.