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: