Struct Acts::CovarianceCache

struct Acts::CovarianceCache

Helper struct holding the necessary cache for the Covariance transport in various parametrisations.

Public Functions

CovarianceCache() = default

Defaulted constructor, gives invalid cache.

CovarianceCache(const GeometryContext &gctx, const Surface &surface, const Vector3 position, const BoundVector &boundParameters, const BoundSymMatrix &boundCovariance)

Constructor from bound & surface.

This constructor will set the variant covariance type to a bound matrix, remember the surface & establish the jacobian between bound and free parametrisation.

Parameters
  • gctx – The current geometry context

  • surface – The surface of the bound representation

  • position – The position of the representaiton

  • boundParameters – The bound parameters at the surface

  • boundCovariance – The bound covariance to be propagated

CovarianceCache(const Vector3 position, const Vector3 &direction, const BoundSymMatrix &boundCovariance)

Constructor from curvilinear.

This constructor will set the variant covariance type to a bound matrix, remember the surface & establish the jacobian between bound and free parametrisation.

Parameters
  • position – The position of the representation

  • direction – The direction of at the representation

  • boundCovariance – The bound covariance to be propagated

CovarianceCache(const FreeVector &freeParameters, const FreeSymMatrix &freeCovariance)

Construction from free.

Parameters
  • freeParameters – The free parameters

  • freeCovariance – The free covariance to be propagated

Public Members

std::optional<ActsMatrix<8, 7>> anglesToDirectionJacobian = std::nullopt

Options for starting from free.

bool applyTransport = false

Internal cache state, indicates correct setup.

Vector3 atPosition = Vector3::Zero()

Internal cache state, at position.

const Surface *atSurface = nullptr

Internal cache state, at surface indication.

std::optional<BoundToFreeMatrix> boundToFreeJacobian = std::nullopt

Optional for starting from bound or curvilinear.

VariantCovariance covariance

Variant: the currently held covariance.

std::optional<ActsMatrix<7, 8>> directionToAnglesJacobian = std::nullopt
FreeVector freeToPathDerivatives = FreeVector::Zero()

Non-variant: the free derivatives.

FreeMatrix freeTransportJacobian = FreeMatrix::Identity()

Non-variant: the free transport jacobian.