Celeritas
0.5.0-86+4a8eea4
|
Help sample exiting photon energy from Bremsstrahlung. More...
#include <SBEnergyDistHelper.hh>
Public Types | |
Type aliases | |
using | SBDXsec = NativeCRef< SeltzerBergerTableData > |
using | Xs = Quantity< SBElementTableData::XsUnits > |
using | Energy = units::MevEnergy |
using | EnergySq = Quantity< UnitProduct< units::Mev, units::Mev > > |
Public Member Functions | |
CELER_FUNCTION | SBEnergyDistHelper (SBDXsec const &differential_xs, Energy inc_energy, ElementId element, EnergySq density_correction, Energy min_gamma_energy) |
Construct from incident particle and energy. More... | |
template<class Engine > | |
CELER_FUNCTION Energy | sample_exit_energy (Engine &rng) const |
CELER_FUNCTION Xs | calc_xs (Energy energy) const |
Calculate tabulated cross section for a given energy. | |
CELER_FUNCTION Xs | max_xs () const |
Maximum cross section calculated for rejection. | |
template<class Engine > | |
CELER_FUNCTION auto | sample_exit_energy (Engine &rng) const -> Energy |
Sample an exit energy on a scaled and adjusted reciprocal distribution. | |
Help sample exiting photon energy from Bremsstrahlung.
This class simply preprocesses the input data needed for the SBEnergyDistribution, which is templated on a dynamic cross section correction factor.
The cross section units are immaterial since the cross section merely acts as a shape function for rejection: the sampled energy's cross section is always divided by the maximium cross section.
|
inline |
Construct from incident particle and energy.
The incident energy must be within the bounds of the SB table data, so the Model's applicability must be consistent with the table data.