12#include "GaudiKernel/MsgStream.h"
19Trk::TrackSurfaceIntersection::TrackSurfaceIntersection(
29Trk::TrackSurfaceIntersection::TrackSurfaceIntersection(
38Trk::TrackSurfaceIntersection::TrackSurfaceIntersection(
40 std::unique_ptr<IIntersectionCache>
cache)
52 m_position = other.m_position;
53 m_direction = other.m_direction;
54 m_pathlength = other.m_pathlength;
55 m_cache = other.m_cache ? other.m_cache->clone() :
nullptr;
64 std::ostringstream
os;
73 const auto old_flags = sl.flags();
74 const auto old_prec = sl.precision();
76 sl.setf(std::ios::fixed, std::ios::floatfield);
79 sl <<
"Trk::TrackSurfaceIntersection\n"
80 <<
" position [mm] = (" << tsfi.position().x() <<
", "
81 << tsfi.position().y() <<
", " << tsfi.position().z() <<
")\n"
82 <<
" direction = (" << tsfi.direction().x() <<
", "
83 << tsfi.direction().y() <<
", " << tsfi.direction().z() <<
")\n"
84 <<
" pathlength [mm] = " << tsfi.pathlength() <<
'\n';
87 sl.precision(old_prec);
An intersection with a Surface is given by.
Eigen::Matrix< double, 3, 1 > Vector3D
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
Amg::Vector3D m_direction
TrackSurfaceIntersection(const Amg::Vector3D &pos, const Amg::Vector3D &dir, double path)
Constructor.
const IIntersectionCache * cache() const
Retrieve the associated cache block, if it exists.
std::unique_ptr< IIntersectionCache > m_cache