ATLAS Offline Software
SubtractedPlaneSurface.icc
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 namespace Trk {
6 inline bool
7 SubtractedPlaneSurface::insideBounds(const Amg::Vector2D& locpos,
8  double tol1,
9  double tol2) const
10 {
11  // no subtracted volume exists
12  if (!m_subtrVol.get()){
13  return (this->bounds().inside(locpos, tol1, tol2));
14  }
15  // subtracted volume exists, needs to be checked
16  Amg::Vector3D gp(locpos.x(), locpos.y(), 0.);
17  if (m_shared){
18  return (this->bounds().inside(locpos, tol1, tol2) &&
19  m_subtrVol.get()->inside(gp, 0.));
20  }
21  bool in(this->bounds().inside(locpos, tol1, tol2) &&
22  !m_subtrVol.get()->inside(gp, 0.));
23 
24  return in;
25 }
26 
27 inline bool
28 SubtractedPlaneSurface::shared() const
29 {
30  return m_shared;
31 }
32 
33 inline SharedObject<AreaExcluder>
34 SubtractedPlaneSurface::subtractedVolume() const
35 {
36  return m_subtrVol;
37 }
38 }
39