Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

vacc.h

Go to the documentation of this file.
00001 
00049 #ifndef _VACC_H_
00050 #define _VACC_H_
00051 
00052 /* Generic headers */
00053 #include "maloc/maloc.h"
00054 #include "apbs/vhal.h"
00055 
00056 /* Headers specific to this file */
00057 #include "apbs/valist.h"
00058 #include "apbs/vclist.h"
00059 #include "apbs/vatom.h"
00060 #include "apbs/vunit.h"
00061 
00067 struct sVaccSurf {
00068     Vmem *mem;  
00069     double *xpts;  
00070     double *ypts;  
00071     double *zpts;  
00072     int *bpts;  
00074     double area;  
00075     int npts;  
00076     double probe_radius;  
00078 };
00079 
00084 typedef struct sVaccSurf VaccSurf;
00085 
00091 struct sVacc {
00092 
00093   Vmem *mem;  
00094   Valist *alist;  
00095   Vclist *clist;  
00096   int *atomFlags;  
00099   VaccSurf *refSphere;  
00100   VaccSurf **surf;  
00103   Vset acc;  
00105   double surf_density;  
00108 };
00109 
00114 typedef struct sVacc Vacc;
00115 
00116 #if !defined(VINLINE_VACC)
00117 
00123     unsigned long int Vacc_memChk(
00124             Vacc *thee 
00125             );
00126 
00127 #else /* if defined(VINLINE_VACC) */
00128 
00129 #   define Vacc_memChk(thee) (Vmem_bytes((thee)->mem))
00130 
00131 #endif /* if !defined(VINLINE_VACC) */
00132 
00140 VaccSurf* VaccSurf_ctor(
00141         Vmem *mem,  
00142         double probe_radius,  
00143         int nsphere  
00144         );
00145 
00153 int VaccSurf_ctor2(
00154         VaccSurf *thee,  
00155         Vmem *mem,  
00156         double probe_radius,  
00157         int nsphere  
00158         );
00159 
00165 void VaccSurf_dtor(
00166         VaccSurf **thee  
00167         );
00168 
00174 void VaccSurf_dtor2(
00175         VaccSurf *thee  
00176         );
00177 
00192 VaccSurf* VaccSurf_refSphere(
00193         Vmem *mem,  
00194         int npts 
00195         );
00196 
00204 VaccSurf* Vacc_atomSurf(
00205         Vacc *thee,  
00206         Vatom *atom,  
00207         VaccSurf *ref,  
00209         double probe_radius  
00210         );
00211 
00212 
00217 Vacc* Vacc_ctor(
00218         Valist *alist,  
00219         Vclist *clist,  
00221         double surf_density  
00223         );
00224 
00229 int Vacc_ctor2(
00230         Vacc *thee, 
00231         Valist *alist, 
00232         Vclist *clist, 
00234         double surf_density  
00236         );
00237 
00242 void Vacc_dtor(
00243         Vacc **thee 
00244         );
00245 
00250 void Vacc_dtor2(
00251         Vacc *thee 
00252         );
00253 
00264 double Vacc_vdwAcc(
00265         Vacc *thee,  
00266         double center[VAPBS_DIM] 
00267         );
00268 
00280 double Vacc_ivdwAcc(
00281         Vacc *thee, 
00282         double center[VAPBS_DIM], 
00283         double radius 
00284         );
00285 
00300 double Vacc_molAcc(
00301         Vacc *thee, 
00302         double center[VAPBS_DIM], 
00303         double radius 
00304         );
00305 
00324 double Vacc_fastMolAcc(
00325         Vacc *thee,  
00326         double center[VAPBS_DIM],  
00327         double radius 
00328         );
00329 
00341 double Vacc_splineAcc(
00342         Vacc *thee, 
00343         double center[VAPBS_DIM], 
00344         double win, 
00345         double infrad  
00346         );
00347 
00353 void Vacc_splineAccGrad(
00354         Vacc *thee, 
00355         double center[VAPBS_DIM], 
00356         double win, 
00357         double infrad,  
00358         double *grad 
00359         );
00360 
00372 double Vacc_splineAccAtom(
00373         Vacc *thee, 
00374         double center[VAPBS_DIM], 
00375         double win, 
00376         double infrad, 
00377         Vatom *atom 
00378         );
00379 
00390 void Vacc_splineAccGradAtomUnnorm(
00391         Vacc *thee, 
00392         double center[VAPBS_DIM], 
00393         double win, 
00394         double infrad, 
00395         Vatom *atom, 
00396         double *force 
00397         );
00398 
00410 void Vacc_splineAccGradAtomNorm(
00411         Vacc *thee, 
00412         double center[VAPBS_DIM], 
00413         double win, 
00414         double infrad, 
00415         Vatom *atom, 
00416         double *force 
00417         );
00418 
00428 double Vacc_SASA(
00429         Vacc *thee,  
00430         double radius  
00431         );
00432 
00440 double Vacc_totalSASA(
00441         Vacc *thee,  
00442         double radius  
00443         );
00444 
00452 double Vacc_atomSASA(
00453         Vacc *thee,  
00454         double radius,  
00455         Vatom *atom  
00456         );
00457 
00464 VaccSurf* Vacc_atomSASPoints(
00465         Vacc *thee,  
00466         double radius,  
00467         Vatom *atom  
00468         );
00469 
00470 #endif    /* ifndef _VACC_H_ */
00471 

Generated on Tue Dec 6 10:05:31 2005 for APBS by doxygen 1.3.5