APBS  1.5
vclist.h
Go to the documentation of this file.
1 
62 #ifndef _VCLIST_H_
63 #define _VCLIST_H_
64 
65 #include "apbscfg.h"
66 
67 #include "maloc/maloc.h"
68 #if defined(HAVE_MC_H)
69 #include "mc/mc.h"
70 #endif
71 
72 #include "generic/vhal.h"
73 #include "generic/valist.h"
74 #include "generic/vatom.h"
75 #include "generic/vunit.h"
76 
87 };
88 
95 
101 struct sVclistCell {
103  int natoms;
104 };
105 
110 typedef struct sVclistCell VclistCell;
111 
117 struct sVclist {
118 
119  Vmem *vmem;
123  int n;
124  double max_radius;
128  double spacs[VAPBS_DIM];
130 };
131 
136 typedef struct sVclist Vclist;
137 
138 #if !defined(VINLINE_VCLIST)
139 
145  VEXTERNC unsigned long int Vclist_memChk(
146  Vclist *thee
147  );
148 
156  VEXTERNC double Vclist_maxRadius(
157  Vclist *thee
158  );
159 
160 #else /* if defined(VINLINE_VCLIST) */
161 
162 # define Vclist_memChk(thee) (Vmem_bytes((thee)->vmem))
163 # define Vclist_maxRadius(thee) ((thee)->max_radius)
164 
165 #endif /* if !defined(VINLINE_VCLIST) */
166 
167 /* ///////////////////////////////////////////////////////////////////////////
168 // Class Vclist: Non-Inlineable methods (vclist.c)
170 
175 VEXTERNC Vclist* Vclist_ctor(
176  Valist *alist, /**< Molecule for cell list queries */
177  double max_radius,
178  int npts[VAPBS_DIM],
181  double lower_corner[VAPBS_DIM],
184  double upper_corner[VAPBS_DIM]
187  );
188 
193 VEXTERNC Vrc_Codes Vclist_ctor2(
194  Vclist *thee,
195  Valist *alist,
196  double max_radius,
197  int npts[VAPBS_DIM],
200  double lower_corner[VAPBS_DIM],
203  double upper_corner[VAPBS_DIM]
206  );
207 
212 VEXTERNC void Vclist_dtor(
213  Vclist **thee
214  );
215 
220 VEXTERNC void Vclist_dtor2(
221  Vclist *thee
222  );
223 
231 VEXTERNC VclistCell* Vclist_getCell(
232  Vclist *thee,
233  double position[VAPBS_DIM]
234  );
235 
242 VEXTERNC VclistCell* VclistCell_ctor(
243  int natoms
244  );
245 
252 VEXTERNC Vrc_Codes VclistCell_ctor2(
253  VclistCell *thee,
254  int natoms
255  );
256 
261 VEXTERNC void VclistCell_dtor(
262  VclistCell **thee
263  );
264 
269 VEXTERNC void VclistCell_dtor2(
270  VclistCell *thee
271  );
272 
273 #endif /* ifndef _VCLIST_H_ */
Contains declarations for class Valist.
double spacs[VAPBS_DIM]
Definition: vclist.h:128
double upper_corner[VAPBS_DIM]
Definition: vclist.h:127
VEXTERNC unsigned long int Vclist_memChk(Vclist *thee)
Get number of bytes in this object and its members.
Definition: vclist.c:63
VEXTERNC VclistCell * VclistCell_ctor(int natoms)
Allocate and construct a cell list cell object.
Definition: vclist.c:452
VEXTERNC double Vclist_maxRadius(Vclist *thee)
Get the max probe radius value (in A) the cell list was constructed with.
Definition: vclist.c:68
int npts[VAPBS_DIM]
Definition: vclist.h:122
Vclist_DomainMode mode
Definition: vclist.h:121
VEXTERNC Vrc_Codes Vclist_ctor2(Vclist *thee, Valist *alist, double max_radius, int npts[VAPBS_DIM], Vclist_DomainMode mode, double lower_corner[VAPBS_DIM], double upper_corner[VAPBS_DIM])
FORTRAN stub to construct the cell list object.
Definition: vclist.c:343
double max_radius
Definition: vclist.h:124
VEXTERNC void Vclist_dtor(Vclist **thee)
Destroy object.
Definition: vclist.c:397
VEXTERNC void VclistCell_dtor(VclistCell **thee)
Destroy object.
Definition: vclist.c:486
VclistCell * cells
Definition: vclist.h:125
enum eVclist_DomainMode Vclist_DomainMode
Declaration of Vclist_DomainMode enumeration type.
Definition: vclist.h:94
int n
Definition: vclist.h:123
VEXTERNC VclistCell * Vclist_getCell(Vclist *thee, double position[VAPBS_DIM])
Return cell corresponding to specified position or return VNULL.
Definition: vclist.c:423
int natoms
Definition: vclist.h:103
Contains a collection of useful constants and conversion factors.
Contains declarations for class Vatom.
Atom cell list cell.
Definition: vclist.h:101
VEXTERNC Vrc_Codes VclistCell_ctor2(VclistCell *thee, int natoms)
Construct a cell list object.
Definition: vclist.c:464
VEXTERNC void Vclist_dtor2(Vclist *thee)
FORTRAN stub to destroy object.
Definition: vclist.c:408
Valist * alist
Definition: vclist.h:120
Contains generic macro definitions for APBS.
#define VAPBS_DIM
Our dimension.
Definition: vhal.h:402
Vatom ** atoms
Definition: vclist.h:102
Vmem * vmem
Definition: vclist.h:119
Contains public data members for Vatom class/module.
Definition: vatom.h:84
Container class for list of atom objects.
Definition: valist.h:78
double lower_corner[VAPBS_DIM]
Definition: vclist.h:126
Atom cell list.
Definition: vclist.h:117
VEXTERNC void VclistCell_dtor2(VclistCell *thee)
FORTRAN stub to destroy object.
Definition: vclist.c:497
eVclist_DomainMode
Atom cell list domain setup mode.
Definition: vclist.h:82