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

vatom.h

Go to the documentation of this file.
00001 
00060 #ifndef _VATOM_H_
00061 #define _VATOM_H_
00062 
00063 #include "maloc/maloc.h"
00064 #include "apbs/vhal.h"
00065 
00066 #define VMAX_RECLEN                64
00067 
00073 struct sVatom {
00074 
00075     double position[3];  
00076     double radius;  
00077     double charge;  
00078     double partID;  
00080     double epsilon; 
00082         int id;  
00086         char resName[VMAX_RECLEN]; 
00087     char atomName[VMAX_RECLEN]; 
00089 #if defined(WITH_TINKER)
00090 
00091     double dipole[3];          
00092     double quadrupole[9];      
00093     double inducedDipole[3];   
00094     double nlInducedDipole[3];  
00096 #endif /* if defined(WITH_TINKER) */
00097 };
00098 
00103 typedef struct sVatom Vatom;
00104 
00105 #if !defined(VINLINE_VATOM)
00106 
00113     double* Vatom_getPosition(Vatom *thee);
00114 
00121     void    Vatom_setRadius(Vatom *thee, double radius);
00122 
00129     double  Vatom_getRadius(Vatom *thee);
00130 
00138     void    Vatom_setPartID(Vatom *thee, int partID);
00139 
00147     double     Vatom_getPartID(Vatom *thee);
00148 
00155     void Vatom_setAtomID(Vatom *thee, int id);
00156 
00163     double Vatom_getAtomID(Vatom *thee);
00164 
00171     void    Vatom_setCharge(Vatom *thee, double charge);
00172 
00179     double  Vatom_getCharge(Vatom *thee);
00180         
00187         void    Vatom_setEpsilon(Vatom *thee, double epsilon);
00188 
00195         double  Vatom_getEpsilon(Vatom *thee);
00196 
00204     unsigned long int Vatom_memChk(Vatom *thee);
00205 
00206 #else /* if defined(VINLINE_VATOM) */
00207 #   define Vatom_getPosition(thee) ((thee)->position)
00208 #   define Vatom_setRadius(thee, tRadius) ((thee)->radius = (tRadius))
00209 #   define Vatom_getRadius(thee) ((thee)->radius)
00210 #   define Vatom_setPartID(thee, tpartID) ((thee)->partID = (double)(tpartID))
00211 #   define Vatom_getPartID(thee) ((thee)->partID)
00212 #   define Vatom_setAtomID(thee, tatomID) ((thee)->id = (tatomID))
00213 #   define Vatom_getAtomID(thee) ((thee)->id)
00214 #   define Vatom_setCharge(thee, tCharge) ((thee)->charge = (tCharge))
00215 #   define Vatom_getCharge(thee) ((thee)->charge)
00216 #   define Vatom_setEpsilon(thee, tEpsilon) ((thee)->epsilon = (tEpsilon))
00217 #   define Vatom_getEpsilon(thee) ((thee)->epsilon)
00218 #   define Vatom_memChk(thee) (sizeof(Vatom))
00219 #endif /* if !defined(VINLINE_VATOM) */
00220 
00221 /* ///////////////////////////////////////////////////////////////////////////
00222 // Class Vatom: Non-Inlineable methods (vatom.c)
00224 
00231 void    Vatom_setResName(Vatom *thee, char resName[VMAX_RECLEN]);
00232 
00237 void    Vatom_setAtomName(
00238                 Vatom *thee,  
00239                 char atomName[VMAX_RECLEN]  
00240                 );
00241 
00248 void    Vatom_getResName(Vatom *thee, char resName[VMAX_RECLEN]);
00249 
00254 void   Vatom_getAtomName(
00255                 Vatom *thee, 
00256                 char atomName[VMAX_RECLEN] 
00257                 );
00258 
00264 Vatom* Vatom_ctor();
00265 
00272 int     Vatom_ctor2(Vatom *thee);
00273 
00279 void    Vatom_dtor(Vatom **thee);
00280 
00286 void    Vatom_dtor2(Vatom *thee);
00287 
00294 void   Vatom_setPosition(Vatom *thee, double position[3]);
00295 
00303 void Vatom_copyTo(Vatom *thee, Vatom *dest);
00304 
00312 void Vatom_copyFrom(Vatom *thee, Vatom *src);
00313 
00314 #if defined(WITH_TINKER)
00315 
00322 void   Vatom_setInducedDipole(Vatom *thee, 
00323                                        double inducedDipole[3]);
00324 
00331 void   Vatom_setNLInducedDipole(Vatom *thee, 
00332                                        double nlInducedDipole[3]);
00333 
00340 void   Vatom_setDipole(Vatom *thee, double dipole[3]);
00341 
00348 void   Vatom_setQuadrupole(Vatom *thee, double quadrupole[9]);
00349 
00355 double*  Vatom_getDipole(Vatom *thee);
00356 
00362 double*  Vatom_getQuadrupole(Vatom *thee);
00363 
00369 double*  Vatom_getInducedDipole(Vatom *thee);
00370 
00376 double*  Vatom_getNLInducedDipole(Vatom *thee);
00377 #endif /* if defined(WITH_TINKER) */
00378 
00379 #endif /* ifndef _VATOM_H_ */
00380 

Generated on Tue Apr 15 13:53:14 2008 for APBS by doxygen 1.3.4