Celeritas 0.6.0-rc.2.10+develop.de0a3a05
|
Manage the Seltzer-Berger model for Bremsstrahlung. More...
#include <SeltzerBergerModel.hh>
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 > |
![]() | |
using | UPConstGridBuilder = std::unique_ptr< ValueGridBuilder const > |
Type aliases. | |
using | MicroXsBuilders = std::vector< UPConstGridBuilder > |
using | SetApplicability = std::set< Applicability > |
![]() | |
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. | |
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. | |
![]() | |
StepActionOrder | order () const final |
Dependency ordering of the action. | |
![]() | |
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. | |
![]() | |
virtual | ~ActionInterface () noexcept=0 |
Default destructor. | |
![]() | |
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 | |
![]() | |
CELER_DEFAULT_COPY_MOVE (ActionInterface) | |
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
|
finalvirtual |
Particle types and energy ranges that this model applies to.
Implements celeritas::Model.
|
finalvirtual |
Get the microscopic cross sections for the given particle and material.
Implements celeritas::Model.