11#ifndef PatternTrackParameters_H
12#define PatternTrackParameters_H
127#include "TrkPatternParameters/PatternTrackParameters.icc"
Eigen::Matrix< double, 3, 3 > RotationMatrix3D
Class for a conical surface in the ATLAS detector.
Class for a CylinderSurface in the ATLAS detector.
Class for a DiscSurface in the ATLAS detector.
std::optional< AmgSymMatrix(DIM)> m_covariance
const AmgSymMatrix(DIM) *covariance() const
const AmgVector(DIM) ¶meters() const
virtual constexpr ParametersType type() const override final
Return the ParametersType enum.
bool production(const TrackParameters *)
double absoluteMomentum() const
void addNoise(const NoiseOnSurface &, PropDirection)
virtual bool hasSurface() const override final
Test to see if there's a not null surface ptr.
virtual PatternTrackParameters * clone() const override final
clone method for polymorphic deep copy
void setParametersWithCovariance(const Surface *, const double *, const double *)
Amg::Vector3D calculateMomentum(void) const
virtual const Surface & associatedSurface() const override final
Access to the Surface associated to the Parameters.
void setCovariance(const double *)
SurfaceUniquePtrT< const Surface > m_surface
void setParameters(const Surface *, const double *)
virtual Amg::RotationMatrix3D measurementFrame() const override final
Return the measurement frame - this is needed for alignment, in particular for StraightLine and Perig...
Amg::Vector3D position() const
virtual void updateParametersHelper(const AmgVector(5) &) override final
Amg::Vector3D localToGlobal(const PlaneSurface *) const
std::string to_string() const
void removeNoise(const NoiseOnSurface &, PropDirection)
Amg::Vector3D momentum() const
Amg::Vector3D calculatePosition(void) const
bool initiate(PatternTrackParameters &, const Amg::Vector2D &, const Amg::MatrixX &)
std::unique_ptr< TrackParameters > convert(bool) const
double transverseMomentum() const
bool iscovariance() const
PatternTrackParameters & operator=(const PatternTrackParameters &)
PatternTrackParameters(PatternTrackParameters &&) noexcept=default
virtual SurfaceType surfaceType() const override final
Returns the Surface Type enum for the surface used to define the derived class.
PatternTrackParameters(const PatternTrackParameters &)
void diagonalization(double)
Class describing the Line to which the Perigee refers to.
Class for a planaer rectangular or trapezoidal surface in the ATLAS detector.
Class for a StraightLineSurface in the ATLAS detector to describe dirft tube and straw like detectors...
Abstract Base Class for tracking surfaces.
Definition of ATLAS Math & Geometry primitives (Amg)
Ensure that the ATLAS eigen extensions are properly loaded.
PropDirection
PropDirection, enum for direction of the propagation.
SurfaceType
This enumerator simplifies the persistency & calculations,.
ParametersCommon< TrackParametersDim, Charged > BaseParameters
ParametersType
Enum to avoid dynamic cast for different parameter types.
ParametersBase< TrackParametersDim, Charged > TrackParameters
std::unique_ptr< S, SurfaceDeleter< S > > SurfaceUniquePtrT