Voro++
Public Member Functions | Data Fields
voro::c_loop_base Class Reference

Base class for looping over particles in a container. More...

#include <c_loops.hh>

+ Inheritance diagram for voro::c_loop_base:

Public Member Functions

template<class c_class >
 c_loop_base (c_class &con)
void pos (double &x, double &y, double &z)
void pos (int &pid, double &x, double &y, double &z, double &r)
double x ()
double y ()
double z ()
int pid ()

Data Fields

const int nx
const int ny
const int nz
const int nxy
const int nxyz
const int ps
double ** p
int ** id
int * co
int i
int j
int k
int ijk
int q

Detailed Description

This class forms the base of all classes that can loop over a subset of particles in a contaner in some order. When initialized, it stores constants about the corresponding container geometry. It also contains a number of routines for interrogating which particle currently being considered by the loop, which are common between all of the derived classes.

Definition at line 78 of file c_loops.hh.


Constructor & Destructor Documentation

template<class c_class >
voro::c_loop_base::c_loop_base ( c_class &  con)
inline

The constructor copies several necessary constants from the base container class.

Parameters:
[in]conthe container class to use.

Definition at line 124 of file c_loops.hh.


Member Function Documentation

int voro::c_loop_base::pid ( )
inline

Returns the ID of the particle currently being considered by the loop.

Definition at line 158 of file c_loops.hh.

void voro::c_loop_base::pos ( double &  x,
double &  y,
double &  z 
)
inline

Returns the position vector of the particle currently being considered by the loop.

Parameters:
[out](x,y,z)the position vector of the particle.

Definition at line 130 of file c_loops.hh.

void voro::c_loop_base::pos ( int &  pid,
double &  x,
double &  y,
double &  z,
double &  r 
)
inline

Returns the ID, position vector, and radius of the particle currently being considered by the loop.

Parameters:
[out]pidthe particle ID.
[out](x,y,z)the position vector of the particle.
[out]rthe radius of the particle. If no radius information is available the default radius value is returned.

Definition at line 141 of file c_loops.hh.

double voro::c_loop_base::x ( )
inline

Returns the x position of the particle currently being considered by the loop.

Definition at line 149 of file c_loops.hh.

double voro::c_loop_base::y ( )
inline

Returns the y position of the particle currently being considered by the loop.

Definition at line 152 of file c_loops.hh.

double voro::c_loop_base::z ( )
inline

Returns the z position of the particle currently being considered by the loop.

Definition at line 155 of file c_loops.hh.


Field Documentation

int* voro::c_loop_base::co

A pointer to the particle counts in the associated container data structure.

Definition at line 104 of file c_loops.hh.

int voro::c_loop_base::i

The current x-index of the block under consideration by the loop.

Definition at line 107 of file c_loops.hh.

int** voro::c_loop_base::id

A pointer to the particle ID information in the associated container data structure.

Definition at line 101 of file c_loops.hh.

int voro::c_loop_base::ijk

The current index of the block under consideration by the loop.

Definition at line 116 of file c_loops.hh.

int voro::c_loop_base::j

The current y-index of the block under consideration by the loop.

Definition at line 110 of file c_loops.hh.

int voro::c_loop_base::k

The current z-index of the block under consideration by the loop.

Definition at line 113 of file c_loops.hh.

const int voro::c_loop_base::nx

The number of blocks in the x direction.

Definition at line 81 of file c_loops.hh.

const int voro::c_loop_base::nxy

A constant, set to the value of nx multiplied by ny, which is used in the routines that step through blocks in sequence.

Definition at line 89 of file c_loops.hh.

const int voro::c_loop_base::nxyz

A constant, set to the value of nx*ny*nz, which is used in the routines that step through blocks in sequence.

Definition at line 92 of file c_loops.hh.

const int voro::c_loop_base::ny

The number of blocks in the y direction.

Definition at line 83 of file c_loops.hh.

const int voro::c_loop_base::nz

The number of blocks in the z direction.

Definition at line 85 of file c_loops.hh.

double** voro::c_loop_base::p

A pointer to the particle position information in the associated container data structure.

Definition at line 98 of file c_loops.hh.

const int voro::c_loop_base::ps

The number of floating point numbers per particle in the associated container data structure.

Definition at line 95 of file c_loops.hh.

int voro::c_loop_base::q

The index of the particle under consideration within the current block.

Definition at line 119 of file c_loops.hh.


The documentation for this class was generated from the following file: