Celeritas  0.5.0-56+6b053cd
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 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)
 

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.

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: