14#include "GaudiKernel/MsgStream.h"
19const double NaN(std::numeric_limits<double>::quiet_NaN());
50 "Inconsistent input data, Perigee not expressed at vertex!",
52 StatusCode::RECOVERABLE);
61 double ptInv = 1. / perigee.
momentum().perp();
62 jacobian(0, 0) = -ptInv * perigee.
momentum().y();
63 jacobian(0, 1) = ptInv * perigee.
momentum().x();
66 const Amg::MatrixX& vtxCov = rvertex.covariancePosition();
77 return INVALID_VECTOR3D;
83 std::string name(
typeid(*this).name());
84 sl <<
"Concrete dump method not implemented - using base class" << std::endl;
85 sl << name <<
"\t local position = " << this->
localParameters() << std::endl;
86 sl << name <<
"\t global position ( " << this->
globalPosition().x() <<
" , "
88 <<
" ) " << std::endl;
89 sl << name <<
"\t has Error Matrix: " << std::endl;
91 sl << name <<
"\t has associated surface:" << std::endl;
99 std::string name(
typeid(*this).name());
100 sl <<
"Concrete dump method not implemented - using base class" << std::endl;
101 sl << name <<
"\t local position = " << this->
localParameters() << std::endl;
102 sl << name <<
"\t global position ( " << this->
globalPosition().x() <<
" , "
104 <<
" ) " << std::endl;
105 sl << name <<
"\t has Error Matrix: " << std::endl;
107 sl << name <<
"\t has associated surface:" << std::endl;
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
MeasurementBase()=default
Default constructor - needed for POOL/SEAL.
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
LocalParameters m_localParams
Amg::MatrixX m_localCovariance
const Amg::Vector3D & momentum() const
Access method for the momentum.
virtual const S & associatedSurface() const override final
Access to the Surface method.
Class describing the Line to which the Perigee refers to.
Trk::RecVertex inherits from Trk::Vertex.
const PerigeeSurface * release() noexcept
const Amg::Vector3D & center() const
Returns the center position of the Surface.
virtual const Amg::Vector3D & globalPosition() const override final
Interface method to get the global Position.
virtual MsgStream & dump(MsgStream &out) const override final
returns the some information about this VertexOnTrack.
VertexOnTrack()=default
Default Constructor for POOL.
virtual const PerigeeSurface & associatedSurface() const override final
returns the surface for the local to global transformation
std::optional< Amg::Vector3D > m_globalPosition
Global position of the VoT.
const Amg::Vector3D & position() const
return position of vertex
Definition of ATLAS Math & Geometry primitives (Amg)
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Eigen::Matrix< double, 2, 1 > Vector2D
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
SurfacePtrHolderImpl< PerigeeSurface > PerigeeSurfacePtrHolder
std::unique_ptr< S, SurfaceDeleter< S > > SurfaceUniquePtrT