|
Celeritas 0.7.0-dev.169+develop.bdc0041f6
|
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()> |
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. | |
| 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 | |
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.
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.