minimc 0.5.1
Loading...
Searching...
No Matches
Perturbation Class Referenceabstract

Models a change in a system parameter. More...

#include <Perturbation.hpp>

Inheritance diagram for Perturbation:

Public Member Functions

virtual ~Perturbation () noexcept
 Virtual destructor (C++ Core Guidelines C.127)
 
virtual std::unique_ptr< SensitivityCreateSensitivity (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< PerturbationCreate (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.
 

Detailed Description

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

Member Function Documentation

◆ CreateSensitivity()

virtual std::unique_ptr< Sensitivity > Perturbation::CreateSensitivity ( const pugi::xml_node &  perturbation_node,
const Estimator estimator 
) const
pure virtual

Create a Sensitivity estimator from a perturbation child of a sensitivities node of an XML document.

Implemented in TotalCrossSectionPerturbation.

◆ Scatter()

virtual Real Perturbation::Scatter ( const Particle p,
const Real mu,
const Energy e 
) const
pure virtualnoexcept

Returns the indirect effect as a result of performing Particle::Scatter.

Implemented in TotalCrossSectionPerturbation.

◆ Stream()

virtual Real Perturbation::Stream ( const Particle p,
const Real  distance 
) const
pure virtualnoexcept

Returns the indirect effect as a result of performing Particle::Stream.

Implemented in TotalCrossSectionPerturbation.


The documentation for this class was generated from the following file: