Celeritas
0.5.0-86+4a8eea4
|
Helper class for emitting an AlongStep action. More...
#include <AlongStepFactory.hh>
Public Types | |
Type aliases | |
using | argument_type = AlongStepFactoryInput const & |
using | result_type = std::shared_ptr< CoreStepActionInterface const > |
Public Member Functions | |
virtual result_type | operator() (argument_type input) const =0 |
Protected Member Functions | |
CELER_DEFAULT_COPY_MOVE (AlongStepFactoryInterface) | |
Helper class for emitting an AlongStep action.
Currently Celeritas accepts a single along-step action (i.e., the same stepper is used for both neutral and charged particles, across all energies and regions of the problem). The along-step action is a single GPU kernel that combines the field stepper selection, the magnetic field, slowing-down calculation, multiple scattering, and energy loss fluctuations.
The factory will be called from the thread that initializes SharedParams
. Instead of a daughter class, you can provide any function-like object that has the same interface.
Celeritas provides a few "default" configurations of along-step actions in celeritas/alongstep
.