Celeritas
0.5.0-56+6b053cd
|
Seltzer-Berger model for electron and positron bremsstrahlung processes. More...
#include <SeltzerBergerInteractor.hh>
Public Types | |
Type aliases | |
using | Energy = units::MevEnergy |
using | Momentum = units::MevMomentum |
Public Member Functions | |
CELER_FUNCTION | SeltzerBergerInteractor (SeltzerBergerRef const &shared, ParticleTrackView const &particle, Real3 const &inc_direction, CutoffView const &cutoffs, StackAllocator< Secondary > &allocate, MaterialView const &material, ElementComponentId const &elcomp_id) |
Construct sampler from device/shared and state data. More... | |
template<class Engine > | |
CELER_FUNCTION Interaction | operator() (Engine &rng) |
Bremsstrahlung using the Seltzer-Berger model. More... | |
Seltzer-Berger model for electron and positron bremsstrahlung processes.
Given an incoming electron or positron of sufficient energy (as per CutOffView), this class provides the energy loss of these particles due to radiation of photons in the field of a nucleus. This model improves accuracy using cross sections based on interpolation of published tables from Seltzer and Berger given in Nucl. Instr. and Meth. in Phys. Research B, 12(1):95–134 (1985) and Atomic Data and Nuclear Data Tables, 35():345 (1986). The cross sections are obtained from SBEnergyDistribution and are appropriately scaled in the case of positrons via SBPositronXsCorrector.
|
inline |
Construct sampler from device/shared and state data.
Construct with shared/device and state data.
The incident particle must be within the model's valid energy range. this must be handled in code before the interactor is constructed.
|
inline |
Bremsstrahlung using the Seltzer-Berger model.
See section 10.2.1 of the Geant physics reference 10.6.