Celeritas
0.5.0-86+4a8eea4
|
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 > |
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) | |
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.