ATLAS Offline Software
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 
Trk::Intersection
Definition: Intersection.h:24
ApproachDescriptor.h
Trk::IApproachDescriptor::m_approachSurfaceArraySurface
std::unique_ptr< Surface > m_approachSurfaceArraySurface
Definition: IApproachDescriptor.h:91
Trk::IApproachDescriptor::m_approachSurfaces
std::unique_ptr< ApproachSurfaces > m_approachSurfaces
Definition: IApproachDescriptor.h:90
Trk::ApproachDescriptor::approachSurfaces
virtual const ApproachSurfaces * approachSurfaces(const Amg::Vector3D &pos, const Amg::Vector3D &dir) const override final
get the compatible surfaces
Definition: ApproachDescriptor.cxx:12
Trk::ApproachSurfaces
Definition: IApproachDescriptor.h:25
Trk::IApproachDescriptor::m_approachSurfaceArray
std::unique_ptr< BinnedArray< const ApproachSurfaces > > m_approachSurfaceArray
Definition: IApproachDescriptor.h:92
Trk::Intersection::position
Amg::Vector3D position
Definition: Intersection.h:25
beamspotman.dir
string dir
Definition: beamspotman.py:623
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::Intersection::valid
bool valid
Definition: Intersection.h:28
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18