Celeritas 0.6.0-rc.2.10+develop.de0a3a05
|
Create an along-step method for a uniform (or zero) field. More...
#include <AlongStepFactory.hh>
Public Types | |
Type aliases | |
using | FieldInput = inp::UniformField |
using | FieldFunction = std::function< FieldInput()> |
using | VecVolume = std::vector< G4LogicalVolume const * > |
using | VecVolumeFunction = std::function< VecVolume()> |
![]() | |
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. | |
UniformAlongStepFactory (FieldFunction f, VecVolumeFunction volumes) | |
Construct with field strength and the volumes where field is present. | |
result_type | operator() (argument_type input) const final |
Emit an along-step action. | |
FieldInput | get_field () const |
Get the field params (used for converting to celeritas::inp). | |
VecVolume | get_volumes () const |
Get the volumes where field is present. | |
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.