|
|
| GammaNuclearModel (ActionId id, ParticleParams const &particles, MaterialParams const &materials, ReadData load_data) |
| | Construct from model ID and other necessary data.
|
| |
| SetApplicability | applicability () const final |
| | Particle types and energy ranges that this model applies to.
|
| |
| XsTable | micro_xs (Applicability) const final |
| | Get the microscopic cross sections for the given particle and material.
|
| |
|
| HostRef const & | host_ref () const |
| |
| DeviceRef const & | device_ref () const |
| |
| 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(! 0) |
| | Construct a concrete action from a label and ID.
|
| |
|
| StaticConcreteAction (ActionId id, std::string_view label, std::string_view description) noexcept(! 0) |
| | Construct a concrete action from an ID, a unique label, and a description.
|
| |
|
| StaticConcreteAction (StaticConcreteAction const &)=delete |
| |
|
StaticConcreteAction & | operator= (StaticConcreteAction const &)=delete |
| |
|
| StaticConcreteAction (StaticConcreteAction &&)=delete |
| |
|
StaticConcreteAction & | operator= (StaticConcreteAction &&)=delete |
| |
| 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.
|
| |
| void | step (CoreParams const &, CoreStateHost &) const final |
| | Apply the interaction kernel to host data.
|
| |
|
void | step (CoreParams const &, CoreStateDevice &) const final |
| | Interact with device data.
|
| |
Set up and launch the gamma-nuclear model interaction.
The class also builds element cross-section tables using G4PARTICLEXS/gamma (IAEA) data at low energies and CHIPS gamma–nuclear cross sections using G4GammaNuclearXS above the IAEA upper energy limit (~130 MeV). The CHIPS cross sections are based on the parameterization developed by M. V. Kossov (CERN/ITEP Moscow) for the high energy region (106 MeV < E < 50 GeV) and on a Reggeon-based parameterization for the ultra high energy region (E > 50 GeV), as described in degtyarenko-chiralinvariant-2000. G4GammaNuclearXS uses CHIPS (G4PhotoNuclearCrossSection) above 150 MeV and performs linear interpolation between the upper limit of the G4PARTICLEXS gamma-nuclear (IAEA) data and 150 MeV.