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

Abstract interface for reactions which update the state of a Particle. More...

#include <ContinuousReaction.hpp>

Inheritance diagram for ContinuousReaction:
Collaboration diagram for ContinuousReaction:

Public Member Functions

 ContinuousReaction (const pugi::xml_node &reaction_node)
 Constructs ContinuousReaction from a reaction node of an XML document.
 
virtual ~ContinuousReaction () noexcept
 Virtual destructor (C++ Core Guidelines C.127)
 
virtual bool ModifiesTotal (const Particle &) const noexcept
 Returns true if the reaction's cross section will change the total cross section. More...
 
virtual MicroscopicCrossSection GetMajorant (const Particle &p) const noexcept
 Returns the largest cross section that may be found within the current Cell. More...
 
virtual MicroscopicCrossSection GetCrossSection (const Particle &p) const noexcept
 Returns temperature-adjusted cross section for the reaction. More...
 
virtual void Interact (Particle &p) const noexcept=0
 Interact with a Particle, updating its state. More...
 

Static Public Member Functions

static std::unique_ptr< const ContinuousReactionCreate (const pugi::xml_node &reaction_node)
 Factory method to create a new ContinuousReaction from an XML document.
 

Protected Attributes

const ContinuousEvaluation evaluation
 Cross section data associated with reaction.
 

Detailed Description

Abstract interface for reactions which update the state of a Particle.

Member Function Documentation

◆ GetCrossSection()

virtual MicroscopicCrossSection ContinuousReaction::GetCrossSection ( const Particle p) const
virtualnoexcept

Returns temperature-adjusted cross section for the reaction.

Currently returns the cross section without considering temperature

Todo:
Add warning the first time the requested temperature does not match evaluated temperature

Reimplemented in ContinuousScatter.

◆ GetMajorant()

virtual MicroscopicCrossSection ContinuousReaction::GetMajorant ( const Particle p) const
virtualnoexcept

Returns the largest cross section that may be found within the current Cell.

Currently wraps GetCrossSection

Reimplemented in ContinuousScatter.

◆ Interact()

virtual void ContinuousReaction::Interact ( Particle p) const
pure virtualnoexcept

Interact with a Particle, updating its state.

Implemented in ContinuousCapture, ContinuousScatter, and ContinuousFission.

◆ ModifiesTotal()

virtual bool ContinuousReaction::ModifiesTotal ( const Particle ) const
virtualnoexcept

Returns true if the reaction's cross section will change the total cross section.

Used when evaluation of the correct total cross section needs more information about the reaction. Currently used by ContinuousScatter to signal if thermal scattering exists, requiring an adjustment of the total cross section, even if the total cross section was processed at the correct temperature.

Reimplemented in ContinuousScatter.


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