|
Monte Carlo Integration Library 1.0
High-performance Monte Carlo methods for numerical integration and optimization
|
Axis-aligned hyperrectangular domain. More...
#include <hyperrectangle.hpp>
Public Member Functions | |
| HyperRectangle (std::array< double, dim > &dims) | |
| Construct a hyperrectangle from dimension extents. | |
| mc::geom::Bounds< dim > | getBounds () const override |
| Get the axis-aligned bounding box (coincides with the domain). | |
| double | getBoxVolume () const override |
| Compute the volume of the hyperrectangle. | |
| bool | isInside (const mc::geom::Point< dim > &point) const override |
| Test if a point is inside the hyperrectangle. | |
Public Member Functions inherited from mc::domains::IntegrationDomain< dim > | |
| virtual | ~IntegrationDomain ()=default |
| Virtual destructor for proper cleanup of derived classes. | |
Axis-aligned hyperrectangular domain.
| dim | Dimensionality of the space. |
Represents a Cartesian box centered at the origin: [-d₁/2, d₁/2] × [-d₂/2, d₂/2] × ... × [-dₙ/2, dₙ/2] where dᵢ is the extent along dimension i.
All containment checks and volume computations run in O(dim) time.
Definition at line 29 of file hyperrectangle.hpp.
| mc::domains::HyperRectangle< dim >::HyperRectangle | ( | std::array< double, dim > & | dims | ) |
Construct a hyperrectangle from dimension extents.
| dims | Array of dimension sizes (extent along each axis). The box is centered at origin with ±dims[i]/2 bounds. |
|
overridevirtual |
Get the axis-aligned bounding box (coincides with the domain).
Implements mc::domains::IntegrationDomain< dim >.
|
overridevirtual |
Compute the volume of the hyperrectangle.
Implements mc::domains::IntegrationDomain< dim >.
|
overridevirtual |
Test if a point is inside the hyperrectangle.
| point | Query point. |
Implements mc::domains::IntegrationDomain< dim >.