1#ifndef G_GEOMETRY_BASE_H
2#define G_GEOMETRY_BASE_H
22 const double z)
const = 0;
34 virtual bool IsInside(
const double x,
const double y,
35 const double z)
const = 0;
39 double& xmax,
double& ymax,
double& zmax) = 0;
Abstract base class for geometry classes.
virtual Medium * GetMedium(const double x, const double y, const double z) const =0
Retrieve the medium at a given point.
virtual unsigned int GetNumberOfSolids() const
Return the number of solids in the geometry.
GeometryBase()=default
Constructor.
virtual bool IsInside(const double x, const double y, const double z) const =0
Check if a point is inside the geometry.
virtual Solid * GetSolid(const unsigned int, Medium *&medium) const
Get a solid from the list, together with the associated medium.
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 unsigned int) const
Get a solid from the list.
virtual ~GeometryBase()
Destructor.
Abstract base class for media.
Abstract base class for solids.