minimc 0.5.1
Loading...
Searching...
No Matches
TotalCrossSectionPerturbation Class Reference

Models a perturbation in a Nuclide total cross section \( \Sigma_{\text{perturbed}}(E) = \Sigma_{\text{unperturbed}}(E) + \delta \Sigma \). More...

#include <Perturbation.hpp>

Inheritance diagram for TotalCrossSectionPerturbation:
Collaboration diagram for TotalCrossSectionPerturbation:

Public Member Functions

 TotalCrossSectionPerturbation (const pugi::xml_node &total_node, const World &world)
 Constructs a TotalCrossSectionPerturbation from a total node of an XML document. More...
 
std::unique_ptr< SensitivityCreateSensitivity (const pugi::xml_node &perturbation_node, const Estimator &estimator) const override
 Creates sensitivity estimator for a TotalCrossSectionPerturbation if it is supported. More...
 
Real Stream (const Particle &p, const Real distance) const noexcept override
 The total cross section affects the probability of scattering a given distance. More...
 
Real Scatter (const Particle &, const Real &, const Energy &) const noexcept override
 The total cross section will not affect the probability of scattering with some outgoing angle and energy. More...
 
- Public Member Functions inherited from Perturbation
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...
 

Additional Inherited Members

- Static Public Member Functions inherited from Perturbation
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 inherited from Perturbation
const std::string name
 Unique, user-defined identifier (C++ Core Guidelines C.131)
 
- Protected Member Functions inherited from Perturbation
 Perturbation (const pugi::xml_node &perturbation_node) noexcept
 Constructs a Perturbation from a perturbation node.
 

Detailed Description

Models a perturbation in a Nuclide total cross section \( \Sigma_{\text{perturbed}}(E) = \Sigma_{\text{unperturbed}}(E) + \delta \Sigma \).

Constructor & Destructor Documentation

◆ TotalCrossSectionPerturbation()

TotalCrossSectionPerturbation::TotalCrossSectionPerturbation ( const pugi::xml_node &  total_node,
const World world 
)

Constructs a TotalCrossSectionPerturbation from a total node of an XML document.

Exceptions
std::runtime_errorPerturbed Nuclide name not found in World

Member Function Documentation

◆ CreateSensitivity()

std::unique_ptr< Sensitivity > TotalCrossSectionPerturbation::CreateSensitivity ( const pugi::xml_node &  perturbation_node,
const Estimator estimator 
) const
overridevirtual

Creates sensitivity estimator for a TotalCrossSectionPerturbation if it is supported.

Implements Perturbation.

◆ Scatter()

Real TotalCrossSectionPerturbation::Scatter ( const Particle ,
const Real ,
const Energy  
) const
overridevirtualnoexcept

The total cross section will not affect the probability of scattering with some outgoing angle and energy.

Implements Perturbation.

◆ Stream()

Real TotalCrossSectionPerturbation::Stream ( const Particle p,
const Real  distance 
) const
overridevirtualnoexcept

The total cross section affects the probability of scattering a given distance.

Implements Perturbation.


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