ATLAS Offline Software
Loading...
Searching...
No Matches
ApproachDescriptor.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
6// ApproachDescriptor.h, (c) ATLAS Detector software
8
9// Trk
11
13 const Amg::Vector3D& pos, const Amg::Vector3D& dir) const {
14 // return the single approach surfaces
15 if (m_approachSurfaces) return (m_approachSurfaces.get());
16 // there's new surface given
18 Trk::Intersection asInter =
19 m_approachSurfaceArraySurface->straightLineIntersection(pos, dir);
20 if (asInter.valid)
21 return (m_approachSurfaceArray->object(asInter.position));
22 }
23 // get the bin
24 return (m_approachSurfaceArray->object(pos));
25}
26
virtual const ApproachSurfaces * approachSurfaces(const Amg::Vector3D &pos, const Amg::Vector3D &dir) const override final
get the compatible surfaces
just implement the delete on the objects
std::unique_ptr< ApproachSurfaces > m_approachSurfaces
std::unique_ptr< BinnedArray< const ApproachSurfaces > > m_approachSurfaceArray
std::unique_ptr< Surface > m_approachSurfaceArraySurface
Eigen::Matrix< double, 3, 1 > Vector3D
Amg::Vector3D position