Go to the documentation of this file.
14 #ifndef ESYS_LSMCIRCULARNEIGHBOURTABLE_H
15 #define ESYS_LSMCIRCULARNEIGHBOURTABLE_H
18 #include <boost/pool/object_pool.hpp>
19 #include <boost/shared_ptr.hpp>
32 template <
class TmplParticle>
39 typedef std::set<typename ParticleVector::value_type>
ParticleSet;
49 double circBorderWidth = 0.0
57 double circBorderWidth = 0.0
66 double circBorderWidth,
75 double circBorderWidth
TmplParticle Particle
Definition: NeighbourTable.h:35
Definition: NeighbourTable.h:33
Inherited::ParticleVector ParticleVector
Definition: CircularNeighbourTable.h:38
size_t getNumClonedParticles() const
Definition: CircularNeighbourTable.hpp:259
bool havePeriodicDimensions() const
Definition: CircularNeighbourTable.hpp:178
int m_periodicDimIndex
Definition: CircularNeighbourTable.h:111
void resize(const BoundingBox &bBox, double gridSpacing, double circBorderWidth)
Definition: CircularNeighbourTable.hpp:128
bool isClone(Particle *p) const
Definition: CircularNeighbourTable.hpp:278
3D bounding box
Definition: BoundingBox.h:28
Definition: CheckPointable.cpp:17
std::vector< Particle * > ParticleVector
Definition: NeighbourTable.h:36
NeighbourTable< TmplParticle > Inherited
Definition: CircularNeighbourTable.h:36
Inherited::Particle Particle
Definition: CircularNeighbourTable.h:37
int m_circGridWidth
Definition: CircularNeighbourTable.h:110
ParticleVector getNonClonedParticles()
Definition: CircularNeighbourTable.hpp:287
std::set< typename ParticleVector::value_type > ParticleSet
Definition: CircularNeighbourTable.h:39
void insert(Particle *pParticle)
Definition: CircularNeighbourTable.hpp:224
size_t getNumParticles() const
Definition: CircularNeighbourTable.hpp:265
boost::object_pool< Particle > ParticlePool
Definition: CircularNeighbourTable.h:40
ParticlePoolPtr m_particlePoolPtr
Definition: CircularNeighbourTable.h:108
std::vector< bool > BoolVector
Definition: CircularNeighbourTable.h:42
Vec3 getModdedPosn(const Vec3 &posn) const
Definition: CircularNeighbourTable.hpp:184
void setCircularBorderWidth(double circBorderWidth, double gridSpacing)
Definition: CircularNeighbourTable.hpp:111
BoolVector m_periodicDimensions
Definition: CircularNeighbourTable.h:107
void insertClone(Particle *pParticle, const Vec3 &newPosition)
Definition: CircularNeighbourTable.hpp:166
CircularNeighbourTable(const BoundingBox &bBox, double gridSpacing, const BoolVector &periodicDimensions=BoolVector(3, false), double circBorderWidth=0.0)
Definition: CircularNeighbourTable.hpp:33
void checkPeriodicDimensions()
Definition: CircularNeighbourTable.hpp:76
ParticleSet m_clonedParticleSet
Definition: CircularNeighbourTable.h:109
const BoolVector & getPeriodicDimensions() const
Definition: CircularNeighbourTable.hpp:272
Definition: CircularNeighbourTable.h:34
void clearClonedParticles()
Definition: CircularNeighbourTable.hpp:307
boost::shared_ptr< ParticlePool > ParticlePoolPtr
Definition: CircularNeighbourTable.h:41
virtual ~CircularNeighbourTable()
Definition: CircularNeighbourTable.hpp:106