23 virtual Medium*
GetMedium(
const double x,
const double y,
const double z,
24 const bool tesselated =
false)
const = 0;
35 virtual bool IsInside(
const double x,
const double y,
const double z,
36 const bool tesselated =
false)
const = 0;
40 double& xmax,
double& ymax,
double& zmax) = 0;
Geometry(const std::string &name)
Constructor.
virtual bool GetBoundingBox(double &xmin, double &ymin, double &zmin, double &xmax, double &ymax, double &zmax)=0
Get the bounding box (envelope of the geometry).
virtual Solid * GetSolid(const std::size_t) const
Get a solid from the list.
virtual std::size_t GetNumberOfSolids() const
Return the number of solids in the geometry.
virtual Solid * GetSolid(const std::size_t, Medium *&) const
Get a solid from the list, together with the associated medium.
virtual Medium * GetMedium(const double x, const double y, const double z, const bool tesselated=false) const =0
Retrieve the medium at a given point.
virtual bool IsInside(const double x, const double y, const double z, const bool tesselated=false) const =0
Check if a point is inside the geometry.
Geometry()=delete
Default constructor.
virtual ~Geometry()
Destructor.
Abstract base class for solids.