53 HGrid(
unsigned int num_buckets,
double cellOverSizeRatio, std::vector<double>& cellSizes);
78 static const unsigned int h1 = 0x8da6b343u;
79 static const unsigned int h2 = 0xd8163841u;
80 static const unsigned int h3 = 0xcb1ab31fu;
81 static const unsigned int h4 = 0x165667b1u;
Definition: BaseParticle.h:54
Definition: HGridCell.h:33
unsigned int getHGridLevel() const
Definition: HGridCell.h:86
int getHGridX() const
Definition: HGridCell.h:56
int getHGridZ() const
Definition: HGridCell.h:76
int getHGridY() const
Definition: HGridCell.h:66
In the HGrid class, here all information about the HGrid is stored.
Definition: HGrid.h:43
bool needsRebuilding_
Flag sets if the HGrid needs to be rebuilt.
Definition: HGrid.h:228
~HGrid()
Destructor.
Definition: HGrid.cc:71
std::vector< bool > bucketIsChecked_
BucketIsChecked stores if hash bucket b is checked already; initially all false.
Definition: HGrid.h:273
std::vector< double > invCellSizes_
The inverse sizes of the cells in the different grids, where the inverse is defined as 1/cellSizes_.
Definition: HGrid.h:260
bool getBucketIsChecked(unsigned int i) const
Gets whether or not the bucket with index i is checked.
Definition: HGrid.h:132
Mdouble cellOverSizeRatio_
The maximum ratio between the size of the cell and the size of a particle it contains.
Definition: HGrid.h:240
void setFirstBaseParticleInBucket(unsigned int i, BaseParticle *p)
Sets the first particle in bucket i to be the given BaseParticle.
Definition: HGrid.h:117
unsigned int computeHashBucketIndex(int x, int y, int z, unsigned int l) const
Computes hash bucket index in range [0, NUM_BUCKETS-1] for a 3D domain.
Definition: HGrid.h:76
unsigned int numberOfBuckets_
The number of buckets in the current HGrid.
Definition: HGrid.h:235
unsigned long getNumberOfLevels() const
Gets the number of levels of this HGrid.
Definition: HGrid.h:206
const std::vector< double > & getCellSizes() const
Gets the sizes of the cells at all levels as a vector.
Definition: HGrid.h:154
bool getNeedsRebuilding() const
Gets whether or not the grid needs to be rebuilt before something else is done with it.
Definition: HGrid.h:192
std::vector< double > cellSizes_
The sizes of the cells in the different grids.
Definition: HGrid.h:255
double getInvCellSize(unsigned int i) const
Gets 1/cellSize for the cells on level i.
Definition: HGrid.h:178
void info() const
Displays the member variables of the hGrid object. This function is intended for debugging the hGrid,...
Definition: HGrid.cc:151
void setBucketIsChecked(unsigned int i)
Sets that the bucket with the given index is checked to true.
Definition: HGrid.h:124
const BaseParticle * getFirstBaseParticleInBucket(unsigned int i) const
Gets the first BaseParticle in the given bucket, const version.
Definition: HGrid.h:162
unsigned int computeHashBucketIndex(HGridCell hGridCell) const
Computes hash bucket index in range [0, NUM_BUCKETS-1] for a 3D domain.
Definition: HGrid.h:89
std::vector< BaseParticle * > firstBaseParticleInBucket_
Stores a pointer to first element in hash bucket b.
Definition: HGrid.h:268
const std::vector< double > & getInvCellSizes() const
Gets all the inverse cell sizes (1/cellSize) for all levels as a vector.
Definition: HGrid.h:185
HGrid()
Default constructor, it sets the parameters to some sensible defaults.
Definition: HGrid.cc:30
BaseParticle * getFirstBaseParticleInBucket(unsigned int i)
Gets the first BaseParticle in the given bucket.
Definition: HGrid.h:170
void insertParticleToHgrid(BaseParticle *obj)
Inserts the given BaseParticle in to the HGrid.
Definition: HGrid.cc:89
void clearFirstBaseParticleInBucket()
For all buckets, it removes the pointer to the first BaseParticle in it, practically emptying the buc...
Definition: HGrid.cc:145
void clearBucketIsChecked()
Sets all buckets to not-checked.
Definition: HGrid.cc:140
int occupiedLevelsMask_
Marks if there are particles at certain levels.
Definition: HGrid.h:247
int getOccupiedLevelsMask() const
Gets the integer that represents which levels are occupied.
Definition: HGrid.h:213
unsigned int getNumberOfBuckets() const
Gets the number of buckets of this HGrid.
Definition: HGrid.h:199
double getCellSize(unsigned int i) const
Gets the size of the cells at the given level.
Definition: HGrid.h:147
Mdouble getCellOverSizeRatio() const
Gets the maximum ratio of the cell to a particle it contains.
Definition: HGrid.h:139
const std::complex< Mdouble > i
Definition: ExtendedMath.h:51