Celeritas 0.6.0-rc.2.10+develop.de0a3a05
Loading...
Searching...
No Matches
Public Member Functions | List of all members
celeritas::UniformAlongStepFactory Class Referencefinal

Create an along-step method for a uniform (or zero) field. More...

#include <AlongStepFactory.hh>

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

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)
 

Detailed Description

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.

Todo:
Add a helper function to build from a Geant4 field manager or the new G4FieldSetup

Constructor & Destructor Documentation

◆ UniformAlongStepFactory()

celeritas::UniformAlongStepFactory::UniformAlongStepFactory ( FieldFunction  f)
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).

Member Function Documentation

◆ operator()()

auto celeritas::UniformAlongStepFactory::operator() ( argument_type  input) const
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.


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