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

Contains data required to perform a scatter interaction. More...

#include <ContinuousReaction.hpp>

Inheritance diagram for ContinuousScatter:
Collaboration diagram for ContinuousScatter:

Public Member Functions

 ContinuousScatter (const pugi::xml_node &scatter_node)
 Constructs ContinuousScatter from a scatter node of an XML document, loading thermal scattering data if found.
 
bool ModifiesTotal (const Particle &p) const noexcept override
 Returns true if thermal scattering is present. More...
 
MicroscopicCrossSection GetMajorant (const Particle &p) const noexcept override
 Returns largest scattering cross section that may be found within the current Cell. More...
 
MicroscopicCrossSection GetCrossSection (const Particle &p) const noexcept override
 Returns appropriately-adjusted scattering cross section. More...
 
void Interact (Particle &p) const noexcept override
 Scatter the Particle. More...
 
- Public Member Functions inherited from ContinuousReaction
 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...
 

Additional Inherited Members

- Static Public Member Functions inherited from ContinuousReaction
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 inherited from ContinuousReaction
const ContinuousEvaluation evaluation
 Cross section data associated with reaction.
 

Detailed Description

Contains data required to perform a scatter interaction.

Additional data on scattering methods is available on Transport Methods

Member Function Documentation

◆ GetCrossSection()

MicroscopicCrossSection ContinuousScatter::GetCrossSection ( const Particle p) const
overridevirtualnoexcept

Returns appropriately-adjusted scattering cross section.

Thermal neutron scattering is assumed to encompass both elastic and inelastic scattering. Performs temperature adjustments from free gas or thermal scattering, if applicable.

Reimplemented from ContinuousReaction.

◆ GetMajorant()

MicroscopicCrossSection ContinuousScatter::GetMajorant ( const Particle p) const
overridevirtualnoexcept

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

Used when there is a continuous dependence on temperature. Performs temperature adjustments from free gas or thermal scattering, if applicable.

Reimplemented from ContinuousReaction.

◆ Interact()

void ContinuousScatter::Interact ( Particle p) const
overridevirtualnoexcept

Scatter the Particle.

Todo:
Compute \( \mu \) more directly in free gas scattering. Find analytic expression to avoid dot product between incident neutron velocity and outgoing neutron velocity when calling Particle::Scatter.

Implements ContinuousReaction.

◆ ModifiesTotal()

bool ContinuousScatter::ModifiesTotal ( const Particle p) const
overridevirtualnoexcept

Returns true if thermal scattering is present.

Reimplemented from ContinuousReaction.


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