Struct Acts::CovarianceCache¶
-
struct 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.
-
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.
-
CovarianceCache() = default