Celeritas
0.5.0-86+4a8eea4
|
Create an along-step method for a uniform (or zero) field. More...
#include <AlongStepFactory.hh>
Public Types | |
Type aliases | |
using | FieldFunction = std::function< UniformFieldParams()> |
Public Types inherited from celeritas::AlongStepFactoryInterface | |
using | argument_type = AlongStepFactoryInput const & |
using | result_type = std::shared_ptr< CoreStepActionInterface const > |
Public Member Functions | |
UniformAlongStepFactory ()=default | |
Construct with no field (linear propagation) | |
UniformAlongStepFactory (FieldFunction f) | |
Construct with a function to return the field strength. More... | |
result_type | operator() (argument_type input) const final |
Emit an along-step action. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from celeritas::AlongStepFactoryInterface | |
CELER_DEFAULT_COPY_MOVE (AlongStepFactoryInterface) | |
Create an along-step method for a uniform (or zero) field.
The constructor is a lazily evaluated function that must return the field definition and driver configuration. If unspecified, the field is zero.
|
explicit |
Construct with a function to return the field strength.
The function is evaluated whenever Celeritas is set up (which is after Geant4 physics is initialized).
|
finalvirtual |
Emit an along-step action.
The action will embed the linear propagator if the magnetic field strength is zero (or the accessor is unset).
Implements celeritas::AlongStepFactoryInterface.