39 class DetectorElementBase;
41 class ISurfaceMaterial;
44 class IVisualization3D;
64 public std::enable_shared_from_this<Surface> {
121 template <
class T,
typename...
Args>
123 return std::shared_ptr<T>(
new T(std::forward<Args>(
args)...));
202 const Vector2& lposition)
const = 0;
304 const Vector3& direction)
const = 0;
337 const Vector3& direction)
const;
402 const Vector3& direction)
const = 0;
423 std::ostream& sl)
const;
446 size_t lseg)
const = 0;
534 const std::tuple<const Surface&, const GeometryContext&>& tup) {