Celeritas 0.6.0-dev.115+3b60a5fd
|
Create an along-step method for a uniform (or zero) field. More...
#include <AlongStepFactory.hh>
Public Types | |
Type aliases | |
using | FieldFunction = std::function< UniformFieldParams()> |
![]() | |
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. | |
result_type | operator() (argument_type input) const final |
Emit an along-step action. | |
UniformFieldParams | get_field () const |
Get the field params (used for converting to celeritas::inp). | |
Additional Inherited Members | |
![]() | |
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.
G4FieldSetup
|
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.