Abstract base class for N-dimensional integration domains.
virtual bool isInside(const mc::geom::Point< dim > &point) const =0
Test whether a point lies inside the domain.
virtual mc::geom::Bounds< dim > getBounds() const =0
Get the axis-aligned bounding box of the domain.
virtual ~IntegrationDomain()=default
Virtual destructor for proper cleanup of derived classes.
virtual double getBoxVolume() const =0
Compute the volume of the bounding box.