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

vatom.h

Go to the documentation of this file.
00001 
00072 #ifndef _VATOM_H_
00073 #define _VATOM_H_
00074 
00075 #include "maloc/maloc.h"
00076 #include "apbs/vhal.h"
00077 
00078 #define VMAX_RECLEN                64
00079 
00085 struct sVatom {
00086 
00087     double position[3];  
00088     double radius;  
00089     double charge;  
00090     double partID;  
00092     double epsilon; 
00094         int id;  
00098         char resName[VMAX_RECLEN]; 
00099     char atomName[VMAX_RECLEN]; 
00101 #if defined(WITH_TINKER)
00102 
00103     double dipole[3];          
00104     double quadrupole[9];      
00105     double inducedDipole[3];   
00106     double nlInducedDipole[3];  
00108 #endif /* if defined(WITH_TINKER) */
00109 };
00110 
00115 typedef struct sVatom Vatom;
00116 
00117 #if !defined(VINLINE_VATOM)
00118 
00125     double* Vatom_getPosition(Vatom *thee);
00126 
00133     void    Vatom_setRadius(Vatom *thee, double radius);
00134 
00141     double  Vatom_getRadius(Vatom *thee);
00142 
00150     void    Vatom_setPartID(Vatom *thee, int partID);
00151 
00159     double     Vatom_getPartID(Vatom *thee);
00160 
00167     void Vatom_setAtomID(Vatom *thee, int id);
00168 
00175     double Vatom_getAtomID(Vatom *thee);
00176 
00183     void    Vatom_setCharge(Vatom *thee, double charge);
00184 
00191     double  Vatom_getCharge(Vatom *thee);
00192         
00199         void    Vatom_setEpsilon(Vatom *thee, double epsilon);
00200 
00207         double  Vatom_getEpsilon(Vatom *thee);
00208 
00216     unsigned long int Vatom_memChk(Vatom *thee);
00217 
00218 #else /* if defined(VINLINE_VATOM) */
00219 #   define Vatom_getPosition(thee) ((thee)->position)
00220 #   define Vatom_setRadius(thee, tRadius) ((thee)->radius = (tRadius))
00221 #   define Vatom_getRadius(thee) ((thee)->radius)
00222 #   define Vatom_setPartID(thee, tpartID) ((thee)->partID = (double)(tpartID))
00223 #   define Vatom_getPartID(thee) ((thee)->partID)
00224 #   define Vatom_setAtomID(thee, tatomID) ((thee)->id = (tatomID))
00225 #   define Vatom_getAtomID(thee) ((thee)->id)
00226 #   define Vatom_setCharge(thee, tCharge) ((thee)->charge = (tCharge))
00227 #   define Vatom_getCharge(thee) ((thee)->charge)
00228 #   define Vatom_setEpsilon(thee, tEpsilon) ((thee)->epsilon = (tEpsilon))
00229 #   define Vatom_getEpsilon(thee) ((thee)->epsilon)
00230 #   define Vatom_memChk(thee) (sizeof(Vatom))
00231 #endif /* if !defined(VINLINE_VATOM) */
00232 
00233 /* ///////////////////////////////////////////////////////////////////////////
00234 // Class Vatom: Non-Inlineable methods (vatom.c)
00236 
00243 void    Vatom_setResName(Vatom *thee, char resName[VMAX_RECLEN]);
00244 
00249 void    Vatom_setAtomName(
00250                 Vatom *thee,  
00251                 char atomName[VMAX_RECLEN]  
00252                 );
00253 
00260 void    Vatom_getResName(Vatom *thee, char resName[VMAX_RECLEN]);
00261 
00266 void   Vatom_getAtomName(
00267                 Vatom *thee, 
00268                 char atomName[VMAX_RECLEN] 
00269                 );
00270 
00276 Vatom* Vatom_ctor();
00277 
00284 int     Vatom_ctor2(Vatom *thee);
00285 
00291 void    Vatom_dtor(Vatom **thee);
00292 
00298 void    Vatom_dtor2(Vatom *thee);
00299 
00306 void   Vatom_setPosition(Vatom *thee, double position[3]);
00307 
00315 void Vatom_copyTo(Vatom *thee, Vatom *dest);
00316 
00324 void Vatom_copyFrom(Vatom *thee, Vatom *src);
00325 
00326 #if defined(WITH_TINKER)
00327 
00334 void   Vatom_setInducedDipole(Vatom *thee, 
00335                                        double inducedDipole[3]);
00336 
00343 void   Vatom_setNLInducedDipole(Vatom *thee, 
00344                                        double nlInducedDipole[3]);
00345 
00352 void   Vatom_setDipole(Vatom *thee, double dipole[3]);
00353 
00360 void   Vatom_setQuadrupole(Vatom *thee, double quadrupole[9]);
00361 
00367 double*  Vatom_getDipole(Vatom *thee);
00368 
00374 double*  Vatom_getQuadrupole(Vatom *thee);
00375 
00381 double*  Vatom_getInducedDipole(Vatom *thee);
00382 
00388 double*  Vatom_getNLInducedDipole(Vatom *thee);
00389 #endif /* if defined(WITH_TINKER) */
00390 
00391 #endif /* ifndef _VATOM_H_ */
00392 

Generated on Thu Jul 12 11:49:46 2007 for APBS by doxygen 1.3.4