Celeritas  0.5.0-86+4a8eea4
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 = Quantity< XsGridData::EnergyUnits >
 
using Values = Collection< real_type, Ownership::const_reference, MemSpace::native >
 

Public Member Functions

CELER_FUNCTION InverseRangeCalculator (XsGridData const &grid, Values const &values)
 Construct from range data. More...
 
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.

Constructor & Destructor Documentation

◆ InverseRangeCalculator()

CELER_FUNCTION celeritas::InverseRangeCalculator::InverseRangeCalculator ( XsGridData 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: