Celeritas  0.5.0-56+6b053cd
Public Member Functions | List of all members
celeritas::SeltzerBergerInteractor Class Reference

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...
 

Detailed Description

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.

Note
This interactor performs an analogous sampling as in Geant4's G4SeltzerBergerModel, documented in 10.2.1 of the Geant Physics Reference (release 10.6). The implementation is based on Geant4 10.4.3.

Constructor & Destructor Documentation

◆ SeltzerBergerInteractor()

CELER_FUNCTION celeritas::SeltzerBergerInteractor::SeltzerBergerInteractor ( SeltzerBergerRef const &  shared,
ParticleTrackView const &  particle,
Real3 const &  inc_direction,
CutoffView const &  cutoffs,
StackAllocator< Secondary > &  allocate,
MaterialView const &  material,
ElementComponentId const &  elcomp_id 
)
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.

Member Function Documentation

◆ operator()()

template<class Engine >
CELER_FUNCTION Interaction celeritas::SeltzerBergerInteractor::operator() ( Engine &  rng)
inline

Bremsstrahlung using the Seltzer-Berger model.

See section 10.2.1 of the Geant physics reference 10.6.


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