ATLAS Offline Software
Loading...
Searching...
No Matches
SubtractedCylinderSurface.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6// SubtractedCylinderSurface.h, (c) ATLAS Detector software
8
9#ifndef TRKGEOMETRYSURFACES_SUBTRACTEDCYLINDERSURFACE_H
10#define TRKGEOMETRYSURFACES_SUBTRACTEDCYLINDERSURFACE_H
11
12// Trk
16// Geometry & Math
18
19class MsgStream;
20class Identifier;
21
22namespace Trk {
23
31
33{
34public:
39 virtual ~SubtractedCylinderSurface() = default;
40
43 std::shared_ptr<const AreaExcluder> vol,
44 bool shared);
45
50 const Amg::Transform3D& transf);
53
55 virtual bool operator==(const Surface& sf) const override final;
56
58 bool shared() const;
59
61 virtual bool insideBounds(const Amg::Vector2D& locpos,
62 double tol1 = 0.,
63 double tol2 = 0.) const override final;
64
67
69 virtual std::string name() const override final
70 {
71 return "Trk::SubtractedCylinderSurface";
72 }
73
74protected:
75 std::shared_ptr<const AreaExcluder> m_subtrVol{nullptr};
76 bool m_shared{true};
77};
78} // end of namespace
79
81#endif // TRKGEOMETRYSURFACES_SUBTRACTEDCYLINDERSURFACE_H
Pure abstract base class.
CylinderSurface()
Default Constructor.
SubtractedCylinderSurface(const SubtractedCylinderSurface &psf)
Copy Constructor.
SubtractedCylinderSurface(SubtractedCylinderSurface &&)=default
const AreaExcluder * subtractedVolume() const
This method allows access to the subtracted part.
SubtractedCylinderSurface()=default
Defaults.
virtual ~SubtractedCylinderSurface()=default
virtual std::string name() const override final
Return properly formatted class name for screen output.
bool shared() const
This method indicates the subtraction mode.
virtual bool operator==(const Surface &sf) const override final
Equality operator.
SubtractedCylinderSurface & operator=(const SubtractedCylinderSurface &psf)
Assignment operator.
std::shared_ptr< const AreaExcluder > m_subtrVol
virtual bool insideBounds(const Amg::Vector2D &locpos, double tol1=0., double tol2=0.) const override final
This method calls the inside() method of the Bounds.
SubtractedCylinderSurface & operator=(SubtractedCylinderSurface &&)=default
Abstract Base Class for tracking surfaces.
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 2, 1 > Vector2D
Ensure that the ATLAS eigen extensions are properly loaded.
STL namespace.