Celeritas 0.6.0-rc.2.10+develop.de0a3a05
Loading...
Searching...
No Matches
Public Member Functions | List of all members
celeritas::InverseRangeCalculator Class Reference

Calculate the energy that would limit a particle to a particular range. More...

#include <InverseRangeCalculator.hh>

Public Types

Type aliases
using Energy = RealQuantity< XsGridRecord::EnergyUnits >
 
using Values = Collection< real_type, Ownership::const_reference, MemSpace::native >
 

Public Member Functions

CELER_FUNCTION InverseRangeCalculator (XsGridRecord const &grid, Values const &values)
 Construct from range data.
 
CELER_FUNCTION Energy operator() (real_type range) const
 Calculate the energy of a particle that has the given range.
 

Detailed Description

Calculate the energy that would limit a particle to a particular range.

This should provide the inverse of the result of RangeCalculator. The given range is not allowed to be greater than the maximum range in the physics data.

The range must be monotonically increasing in energy, since it's defined as the integral of the inverse of the stopping power (which is always positive). For ranges shorter than the minimum energy in the table, the resulting energy is scaled:

\[ E = E_\mathrm{min} \left( \frac{r}{r_\mathrm{min}} \right)^2 \]

This scaling is the inverse of the off-the-end energy scaling in the RangeCalculator.

Todo:
Construct with UniformGridRecord

Constructor & Destructor Documentation

◆ InverseRangeCalculator()

CELER_FUNCTION celeritas::InverseRangeCalculator::InverseRangeCalculator ( XsGridRecord const grid,
Values const values 
)
inline

Construct from range data.

The range is expected to be monotonically increaing with energy. Lower-energy particles have shorter ranges.


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