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;
48 const BoolVector &periodicDimensions =
BoolVector(3,
false),
49 double circBorderWidth = 0.0
55 ParticlePoolPtr particlePoolPtr,
56 const BoolVector &periodicDimensions =
BoolVector(3,
false),
57 double circBorderWidth = 0.0
66 double circBorderWidth,
75 double circBorderWidth
89 void insert(Particle *pParticle);
91 void insert(Particle &particle);
100 bool isClone(Particle *p)
const;
int m_periodicDimIndex
Definition: CircularNeighbourTable.h:111
void insertClone(Particle *pParticle, const Vec3 &newPosition)
Definition: CircularNeighbourTable.hpp:166
int m_circGridWidth
Definition: CircularNeighbourTable.h:110
bool isClone(Particle *p) const
Definition: CircularNeighbourTable.hpp:278
Inherited::ParticleVector ParticleVector
Definition: CircularNeighbourTable.h:38
Definition: CheckPointable.cpp:16
size_t getNumParticles() const
Definition: CircularNeighbourTable.hpp:265
void insert(Particle *pParticle)
Definition: CircularNeighbourTable.hpp:224
void checkPeriodicDimensions()
Definition: CircularNeighbourTable.hpp:76
virtual ~CircularNeighbourTable()
Definition: CircularNeighbourTable.hpp:106
3D bounding box
Definition: BoundingBox.h:27
Inherited::Particle Particle
Definition: CircularNeighbourTable.h:37
boost::object_pool< Particle > ParticlePool
Definition: CircularNeighbourTable.h:40
std::vector< Particle * > ParticleVector
Definition: NeighbourTable.h:36
std::vector< bool > BoolVector
Definition: CircularNeighbourTable.h:42
size_t getNumClonedParticles() const
Definition: CircularNeighbourTable.hpp:259
ParticleSet m_clonedParticleSet
Definition: CircularNeighbourTable.h:109
BoolVector m_periodicDimensions
Definition: CircularNeighbourTable.h:107
CircularNeighbourTable(const BoundingBox &bBox, double gridSpacing, const BoolVector &periodicDimensions=BoolVector(3, false), double circBorderWidth=0.0)
Definition: CircularNeighbourTable.hpp:33
ParticleVector getNonClonedParticles()
Definition: CircularNeighbourTable.hpp:287
const BoolVector & getPeriodicDimensions() const
Definition: CircularNeighbourTable.hpp:272
Definition: CircularNeighbourTable.h:33
void resize(const BoundingBox &bBox, double gridSpacing, double circBorderWidth)
Definition: CircularNeighbourTable.hpp:128
ParticlePoolPtr m_particlePoolPtr
Definition: CircularNeighbourTable.h:108
NeighbourTable< TmplParticle > Inherited
Definition: CircularNeighbourTable.h:36
Definition: NeighbourTable.h:32
void setCircularBorderWidth(double circBorderWidth, double gridSpacing)
Definition: CircularNeighbourTable.hpp:111
boost::shared_ptr< ParticlePool > ParticlePoolPtr
Definition: CircularNeighbourTable.h:41
TmplParticle Particle
Definition: NeighbourTable.h:35
std::set< typename ParticleVector::value_type > ParticleSet
Definition: CircularNeighbourTable.h:39
Vec3 getModdedPosn(const Vec3 &posn) const
Definition: CircularNeighbourTable.hpp:184
bool havePeriodicDimensions() const
Definition: CircularNeighbourTable.hpp:178
void clearClonedParticles()
Definition: CircularNeighbourTable.hpp:307