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

Manage the Seltzer-Berger model for Bremsstrahlung. More...

#include <SeltzerBergerModel.hh>

Inheritance diagram for celeritas::SeltzerBergerModel:
Inheritance graph
[legend]

Public Types

using Mass = units::MevMass
 
using ReadData = std::function< ImportSBTable(AtomicNumber)>
 
using HostRef = HostCRef< SeltzerBergerData >
 
using DeviceRef = DeviceCRef< SeltzerBergerData >
 
using SPConstImported = std::shared_ptr< ImportedProcesses const >
 
- Public Types inherited from celeritas::Model
using UPConstGridBuilder = std::unique_ptr< ValueGridBuilder const >
 Type aliases.
 
using MicroXsBuilders = std::vector< UPConstGridBuilder >
 
using SetApplicability = std::set< Applicability >
 
- Public Types inherited from celeritas::ActionTypeTraits< P, S >
using CoreParams = P
 
using CoreStateHost = S< MemSpace::host >
 
using CoreStateDevice = S< MemSpace::device >
 
using SpanCoreStateHost = Span< S< MemSpace::host > *const >
 
using SpanCoreStateDevice = Span< S< MemSpace::device > *const >
 

Public Member Functions

 SeltzerBergerModel (ActionId id, ParticleParams const &particles, MaterialParams const &materials, SPConstImported data, ReadData load_sb_table)
 Construct from model ID and other necessary data.
 
SetApplicability applicability () const final
 Particle types and energy ranges that this model applies to. More...
 
MicroXsBuilders micro_xs (Applicability) const final
 Get the microscopic cross sections for the given particle and material.
 
void step (CoreParams const &, CoreStateHost &) const final
 Interact with host data.
 
void step (CoreParams const &, CoreStateDevice &) const final
 Interact with device data.
 
HostRef const & host_ref () const
 Access SB data on the host.
 
DeviceRef const & device_ref () const
 Access SB data on the device.
 
- Public Member Functions inherited from celeritas::Model
StepActionOrder order () const final
 Dependency ordering of the action.
 
- Public Member Functions inherited from celeritas::StepActionInterface< P, S >
virtual void step (P const &, S< MemSpace::host > &) const =0
 Execute the action with host data.
 
virtual void step (P const &, S< MemSpace::device > &) const =0
 Execute the action with device data.
 
- Public Member Functions inherited from celeritas::ActionInterface
virtual ~ActionInterface () noexcept=0
 Default destructor.
 
- Public Member Functions inherited from celeritas::StaticConcreteAction
 StaticConcreteAction (ActionId id, std::string_view label) noexcept(!CELERITAS_DEBUG)
 Construct a concrete action from a label and ID.
 
 StaticConcreteAction (ActionId id, std::string_view label, std::string_view description) noexcept(!CELERITAS_DEBUG)
 Construct a concrete action from an ID, a unique label, and a description.
 
 CELER_DELETE_COPY_MOVE (StaticConcreteAction)
 
ActionId action_id () const final
 ID of this action for verification.
 
std::string_view label () const final
 Short label.
 
std::string_view description () const final
 Descriptive label.
 

Additional Inherited Members

- Protected Member Functions inherited from celeritas::ActionInterface
 ActionInterface ()=default
 
 CELER_DEFAULT_COPY_MOVE (ActionInterface)
 

Detailed Description

Manage the Seltzer-Berger model for Bremsstrahlung.

The total scaled bremsstrahlung differential cross section for an element Z is defined as

\[ \chi(Z,E,\kappa) = \frac{\beta^2}{Z^2} k \difd{\sigma}{k}, \]

where \( \kappa = k / E \) is the ratio of the emitted photon energy to the incident charged particle energy, \( \beta \) is the ratio of the charged particle velocity to the speed of light, and \( \difd{\sigma}{k} \) is the bremsstrahlung differential cross section.

Seltzer and Berger have tabulated the scaled DCS (in mb) for elements Z = 1

Member Function Documentation

◆ applicability()

auto celeritas::SeltzerBergerModel::applicability ( ) const
finalvirtual

Particle types and energy ranges that this model applies to.

Todo:
Set lower energy bound based on (material-dependent) BremsstrahlungProcess lambda table energy grid to avoid invoking the interactor for tracks with energy below the interaction threshold.

Implements celeritas::Model.


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