2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
7 SubtractedCylinderSurface::insideBounds(const Amg::Vector2D& locpos,
11 // no subtracted volume exists
12 if (!m_subtrVol.get())
13 return (this->bounds().inside(locpos, tol1, tol2));
14 // subtracted volume exists, needs to be checked
15 double rCyl = bounds().r();
16 double phiPos = locpos[Trk::locRPhi] / rCyl;
17 const Amg::Vector3D gp(rCyl * cos(phiPos), rCyl * sin(phiPos), locpos[Trk::locZ]);
19 bool inside_shared(this->bounds().inside(locpos, tol1, tol2) &&
20 m_subtrVol.get()->inside(gp, 0.));
21 bool inside(this->bounds().inside(locpos, tol1, tol2) &&
22 !m_subtrVol.get()->inside(gp, 0.));
31 SubtractedCylinderSurface::shared() const
36 inline const AreaExcluder*
37 SubtractedCylinderSurface::subtractedVolume() const
39 return m_subtrVol.get();