ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::GenericRungeKuttaStepper::Options Struct Reference

Runtime options for Runge-Kutta propagation. More...

#include <Acts/Propagator/GenericRungeKuttaStepper.hpp>

Inheritance diagram for Acts::GenericRungeKuttaStepper::Options:
[legend]
Collaboration diagram for Acts::GenericRungeKuttaStepper::Options:
[legend]

Public Member Functions

 Options (const GeometryContext &gctx, const MagneticFieldContext &mctx)
 Constructor.
void setPlainOptions (const StepperPlainOptions &options)
 Set plain stepper options.
Public Member Functions inherited from Acts::StepperPlainOptions
 StepperPlainOptions (const GeometryContext &gctx, const MagneticFieldContext &mctx)
 StepperPlainOptions with context.

Public Attributes

ErrorEstimation errorEstimation = ErrorEstimation::Embedded
 Error estimate for the adaptive step size.
double fieldGradientEpsilon = 10 * UnitConstants::um
 Distance of the field lookups for the finite-difference gradient, if the field provider does not implement the gradient.
bool includeFieldGradient = true
 Include the field gradient in the transport jacobian.
bool jacobianInErrorEstimate = false
 Include the jacobian in the error estimate.
Public Attributes inherited from Acts::StepperPlainOptions
Dense dense
 Options for dense material effects.
std::reference_wrapper< const GeometryContext > geoContext
 Context object for the geometry.
double initialStepSize = 10 * Acts::UnitConstants::m
 Initial step size.
std::reference_wrapper< const MagneticFieldContext > magFieldContext
 Context object for the magnetic field.
unsigned int maxRungeKuttaStepTrials = 10000
 Maximum number of Runge-Kutta steps for the stepper step call.
double maxStepSize = std::numeric_limits<double>::max()
 Absolute maximum step size.
double stepSizeCutOff = 0.
 Cut-off value for the step size.
double stepTolerance = 1e-4
 Tolerance for the error of the integration.

Detailed Description

Runtime options for Runge-Kutta propagation.

Constructor & Destructor Documentation

◆ Options()

Acts::GenericRungeKuttaStepper::Options::Options ( const GeometryContext & gctx,
const MagneticFieldContext & mctx )

Constructor.

Parameters
gctxGeometry context
mctxMagnetic field context

Member Function Documentation

◆ setPlainOptions()

void Acts::GenericRungeKuttaStepper::Options::setPlainOptions ( const StepperPlainOptions & options)

Set plain stepper options.

Parameters
optionsPlain stepper options

Member Data Documentation

◆ fieldGradientEpsilon

double Acts::GenericRungeKuttaStepper::Options::fieldGradientEpsilon = 10 * UnitConstants::um

Distance of the field lookups for the finite-difference gradient, if the field provider does not implement the gradient.

The truncation error of the central difference is of order epsilon^2. The round-off error is of order eps_machine |B| / epsilon, which is about 1e-14 |B| per mm for 10 um. This is far below the gradient of a real field. 10 um is also small compared with a field-map cell, so the lookups usually stay in one cell.

◆ jacobianInErrorEstimate

bool Acts::GenericRungeKuttaStepper::Options::jacobianInErrorEstimate = false

Include the jacobian in the error estimate.

Its entries have mixed units, and the stepper uses the same tolerance for all of them.