Struct Acts::StraightLineStepper::State

struct State

State for track parameter propagation.

Public Functions

State() = delete
template<typename charge_t>
inline explicit State(const GeometryContext &gctx, const MagneticFieldContext &mctx, const GenericBoundTrackParameters<charge_t> &par, Direction ndir = Direction::Forward, double ssize = std::numeric_limits<double>::max(), double stolerance = s_onSurfaceTolerance)

Constructor from the initial bound track parameters.

Note

the covariance matrix is copied when needed

Template Parameters

charge_t – Type of the bound parameter charge

Parameters
  • gctx[in] is the context object for the geometry

  • mctx[in] is the context object for the magnetic field

  • par[in] The track parameters at start

  • ndir[in] The navigation direction w.r.t momentum

  • ssize[in] is the maximum step size

  • stolerance[in] is the stepping tolerance

Public Members

double absCharge = UnitConstants::e

The absolute charge as the free vector can be 1/p or q/p.

Covariance cov = Covariance::Zero()
bool covTransport = false

Boolean to indicate if you need covariance transport.

FreeVector derivative = FreeVector::Zero()

The propagation derivative.

std::reference_wrapper<const GeometryContext> geoContext
Jacobian jacobian = Jacobian::Identity()

The full jacobian of the transport entire transport.

BoundToFreeMatrix jacToGlobal = BoundToFreeMatrix::Zero()

Jacobian from local to the global frame.

FreeMatrix jacTransport = FreeMatrix::Identity()

Pure transport jacobian part from runge kutta integration.

Direction navDir

Navigation direction, this is needed for searching.

FreeVector pars = FreeVector::Zero()

Internal free vector parameters.

double pathAccumulated = 0.

accummulated path length state

double previousStepSize = 0.
ConstrainedStep stepSize

adaptive step size of the runge-kutta integration

double tolerance = s_onSurfaceTolerance

The tolerance for the stepping.