45#ifndef LM_RDME_LATTICE_H_ 
   46#define LM_RDME_LATTICE_H_ 
  247    virtual void print() 
const;
 
 
uint32_t site_size_t
Definition ByteLatticeExtended.h:23
uint32_t particle_t
Definition ByteLatticeExtended.h:19
uint32_t lattice_size_t
Definition Lattice.h:55
uint32_t site_t
Definition Lattice.h:74
double si_dist_t
Definition Types.h:63
unsigned int uint
Definition Types.h:52
Lattice(lattice_coord_t size, si_dist_t spacing)
Create a Lattice object.
Definition Lattice.cpp:65
InvalidArgException(const char *argMessage)
Definition Exceptions.h:105
InvalidParticleException(site_size_t particleIndex)
Create an eception based on the particle index.
Definition Lattice.h:125
InvalidSiteException(lattice_size_t index)
Create an exception based on the lattice index.
Definition Lattice.h:115
InvalidSiteException(lattice_size_t x, lattice_size_t y, lattice_size_t z)
Create an exception based on the lattice location.
Definition Lattice.h:112
static void rowMajorIntSerialize(void *destBuffer, void *lattice, size_t bufferSize)
Definition Lattice.cpp:151
virtual ~Lattice()
Destroy the Lattice object.
Definition Lattice.cpp:74
Lattice(lattice_coord_t size, si_dist_t spacing)
Create a Lattice object.
Definition Lattice.cpp:65
virtual void removeParticles(lattice_size_t index)=0
Remove a particle to the specified site.
virtual void addParticle(lattice_size_t x, lattice_size_t y, lattice_size_t z, particle_t particle)=0
Add a particle to the specified site.
std::vector< lattice_coord_t > getNearbySites(lattice_size_t xc, lattice_size_t yc, lattice_size_t zc, uint minDistance, uint maxDistance)
Get a list of sites near the specified site within a certain distance.
Definition Lattice.cpp:106
virtual site_size_t getMaxOccupancy() const =0
Get the maximum number of particles that can live in a site.
virtual site_t getSiteType(lattice_size_t index) const =0
Get the site type at the specified location.
virtual particle_t getParticle(lattice_size_t index, site_size_t particleIndex) const =0
Get the particle at the specified site with at the specified number in the particle list.
virtual void addParticle(lattice_size_t index, particle_t particle)=0
Add a particle to the specified site.
virtual particle_t getMaxParticle() const =0
Get the maximum number of particle types possible in the lattice.
lattice_coord_t size
Definition Lattice.h:256
virtual si_dist_t getSpacing() const
Get spacing between lattice sites.
Definition Lattice.cpp:101
si_dist_t spacing
Definition Lattice.h:258
virtual void setSiteType(lattice_size_t index, site_t site)=0
Set the site type at the specified location.
virtual void print() const
Print the lattice to the console.
Definition Lattice.cpp:176
virtual site_t getSiteType(lattice_size_t x, lattice_size_t y, lattice_size_t z) const =0
Get the site type at the specified location.
virtual void setSitesFromRowMajorByteData(void *buffer, size_t bufferSize)=0
virtual void getNeighboringSites(lattice_size_t index, lattice_size_t *neighboringIndices)=0
Get the sites that are neighbor to the indicated site.
virtual lattice_size_t getZSize() const
Get z dimension of the Lattice.
Definition Lattice.cpp:91
virtual void removeParticles(lattice_size_t x, lattice_size_t y, lattice_size_t z)=0
Remove a particle to the specified site.
virtual lattice_size_t getXSize() const
Get x dimension of the Lattice.
Definition Lattice.cpp:81
virtual particle_t getParticle(lattice_size_t x, lattice_size_t y, lattice_size_t z, site_size_t particleIndex) const =0
Get the particle at the specified site with at the specified number in the particle list.
virtual site_size_t getOccupancy(lattice_size_t x, lattice_size_t y, lattice_size_t z) const =0
Get the number of particles in the specified lattice site.
lattice_size_t numberSites
Definition Lattice.h:257
virtual site_size_t getOccupancy(lattice_size_t index) const =0
Get the number of particles in the specified lattice site.
static void rowMajorByteSerializeSites(void *destBuffer, void *lattice, size_t bufferSize)
Definition Lattice.cpp:164
virtual std::map< particle_t, uint > getParticleCounts()=0
Get the number of each particle type in the lattice.
virtual lattice_size_t getYSize() const
Get y dimension of the Lattice.
Definition Lattice.cpp:86
virtual void removeAllParticles()
Empty all particles from the specified site.
Definition Lattice.cpp:130
virtual std::vector< particle_loc_t > findParticles(particle_t minParticleType, particle_t maxParticleType)=0
Get the number of the specified particles types in the lattice.
static void rowMajorByteSerialize(void *destBuffer, void *lattice, size_t bufferSize)
Definition Lattice.cpp:138
virtual lattice_coord_t getSize() const
Get size of the Lattice.
Definition Lattice.cpp:76
virtual void setFromRowMajorByteData(void *buffer, size_t bufferSize)=0
virtual lattice_size_t getNumberSites() const
Get total number of sites in the Lattice.
Definition Lattice.cpp:96
virtual void setSiteType(lattice_size_t x, lattice_size_t y, lattice_size_t z, site_t site)=0
Set the site type at the specified location.
virtual site_t getMaxSiteType() const =0
Get the maximum number of site types possible in the lattice.
virtual size_t getLatticeMemorySize() const =0
unsigned int getCompiledLatticeMaxOccupancy()
Definition Lattice.cpp:60
Definition Capsule.cpp:46
Type to store a lattice coordinate.
Definition Lattice.h:59
lattice_size_t y
Definition Lattice.h:66
lattice_coord_t(lattice_size_t x=0, lattice_size_t y=0, lattice_size_t z=0)
Create a lattice coordinate.
Definition Lattice.h:64
lattice_size_t z
Definition Lattice.h:67
lattice_size_t x
Definition Lattice.h:65
particle_t p
Definition Lattice.h:89
lattice_size_t z
Definition Lattice.h:94
lattice_size_t x
Definition Lattice.h:92
site_size_t index
Definition Lattice.h:95
particle_loc_t(particle_t p=0, lattice_size_t x=0, lattice_size_t y=0, lattice_size_t z=0, site_size_t index=0)
Create a particle location.
Definition Lattice.h:88
lattice_size_t y
Definition Lattice.h:93