// Density Map for a number of subspaces
class Grid
{
public:
Grid(){}
Grid(int* dimensions, double* low, double* high, int dimensionaitly);
~Grid();
void setGrid(int* dimensions, double* low, double* high, int dimensionaitly);
Grid* merge(Grid* other);
private:
int dim_number; // no of dimensions in this subspace
int* dimensions; // all the dimension IDs sorted ascendently
double* low; // all lower bounds of all dimensions
double* high; // all upper bounds of all dimensions
};