17 virtual bool IsInside(
const double x,
const double y,
18 const double z)
const = 0;
21 double& xmax,
double& ymax,
double& zmax)
const = 0;
23 virtual bool IsBox()
const {
return false; }
25 virtual bool IsTube()
const {
return false; }
27 virtual bool IsSphere()
const {
return false; }
29 virtual bool GetCenter(
double& x,
double& y,
double& z)
const = 0;
30 virtual bool GetDimensions(
double& l1,
double& l2,
double& l3)
const = 0;
32 double& shpi)
const = 0;
Abstract base class for solids.
virtual bool IsTube() const
Return true if the solid is a tube.
virtual ~Solid()
Destructor.
virtual bool IsInside(const double x, const double y, const double z) const =0
Check whether a given point is inside the solid.
virtual bool IsBox() const
Return true if the solid is a box.
virtual bool GetOrientation(double &ctheta, double &stheta, double &cphi, double &shpi) const =0
void EnableDebugging()
Switch on debugging messages.
virtual bool GetCenter(double &x, double &y, double &z) const =0
virtual bool GetDimensions(double &l1, double &l2, double &l3) const =0
virtual bool IsSphere() const
Return true if the solid is a sphere.
virtual bool GetBoundingBox(double &xmin, double &ymin, double &zmin, double &xmax, double &ymax, double &zmax) const =0
Return the bounding box of the solid.