30 class DetectorElementBase;
53 class DiscSurface :
public Surface {
67 double hphisec = M_PI);
81 double minR,
double maxR,
double avephi = 0.,
double stereo = 0.);
88 std::shared_ptr<const DiscBounds> dbounds =
nullptr);
94 DiscSurface(std::shared_ptr<const DiscBounds> dbounds,
95 const DetectorElementBase& detelement);
100 DiscSurface(
const DiscSurface& other);
111 ~DiscSurface()
override =
default;
112 DiscSurface() =
delete;
117 DiscSurface&
operator=(
const DiscSurface& other);
120 SurfaceType
type()
const override;
129 const Vector2& lposition)
const final;
145 const SurfaceBounds&
bounds() const final;
157 const
Vector3& direction) const final;
207 const
Vector2& lposition) const;
218 double tol = 0.) const;
247 const
Vector3& direction) const final;
277 const
Vector3& direction, const BoundaryCheck& bcheck =
false,
292 std::
string name() const override;
303 size_t lseg) const override;
313 ActsMatrix<2, 3> localCartesianToBoundLocalDerivative(