|
Celeritas 0.7.0-dev.242+develop.62c3034b
|
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 | |
| AlongStepFactoryInterface (AlongStepFactoryInterface const &)=default | |
| AlongStepFactoryInterface & | operator= (AlongStepFactoryInterface const &)=default |
| AlongStepFactoryInterface (AlongStepFactoryInterface &&)=default | |
| AlongStepFactoryInterface & | operator= (AlongStepFactoryInterface &&)=default |
Helper class for emitting an AlongStep action.
Currently Celeritas accepts a single custom along-step action (i.e., the same stepper is used for 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.
|
pure virtual |