Celeritas  0.5.0-56+6b053cd
Public Member Functions | Protected Member Functions | List of all members
celeritas::AlongStepFactoryInterface Class Referenceabstract

Helper class for emitting an AlongStep action. More...

#include <AlongStepFactory.hh>

Inheritance diagram for celeritas::AlongStepFactoryInterface:
Inheritance graph
[legend]

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)
 

Detailed Description

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.


The documentation for this class was generated from the following file: