00001 00049 #ifndef _PBEPARM_H_ 00050 #define _PBEPARM_H_ 00051 00052 /* Generic headers */ 00053 #include "maloc/maloc.h" 00054 00055 /* Headers specific to this file */ 00056 #include "apbs/vhal.h" 00057 00061 #define PBEPARM_MAXWRITE 10 00062 00071 struct sPBEparm { 00072 00073 int molid; 00074 int setmolid; 00075 int useDielMap; 00077 int dielMapID; 00078 int useKappaMap; 00080 int kappaMapID; 00081 int useChargeMap; 00083 int chargeMapID; 00084 Vhal_PBEType pbetype; 00085 int setpbetype; 00086 Vbcfl bcfl; 00087 int setbcfl; 00088 int nion; 00089 int setnion; 00090 double ionq[MAXION]; 00091 double ionc[MAXION]; 00092 double ionr[MAXION]; 00093 int setion[MAXION]; 00094 double pdie; 00095 int setpdie; 00096 double sdie; 00097 int setsdie; 00098 Vsurf_Meth srfm; 00099 int setsrfm; 00100 double srad; 00101 int setsrad; 00102 double swin; 00103 int setswin; 00104 double temp; 00105 int settemp; 00106 double gamma; 00108 int setgamma; 00109 int calcenergy; 00114 int setcalcenergy; 00115 int calcforce; 00119 int setcalcforce; 00120 int numwrite; 00121 char writestem[PBEPARM_MAXWRITE][VMAX_ARGLEN]; 00123 Vdata_Type writetype[PBEPARM_MAXWRITE]; 00124 Vdata_Format writefmt[PBEPARM_MAXWRITE]; 00126 int writemat; 00129 int setwritemat; 00130 char writematstem[VMAX_ARGLEN]; 00131 int writematflag; 00136 int parsed; 00138 }; 00139 00144 typedef struct sPBEparm PBEparm; 00145 00146 /* 00147 // Class NOsh: Non-inlineable methods (mcsh.c) 00149 00157 double PBEparm_getIonCharge(PBEparm *thee, int iion); 00158 00166 double PBEparm_getIonConc(PBEparm *thee, int iion); 00167 00175 double PBEparm_getIonRadius(PBEparm *thee, int iion); 00176 00177 00183 PBEparm* PBEparm_ctor(); 00184 00191 int PBEparm_ctor2(PBEparm *thee); 00192 00198 void PBEparm_dtor(PBEparm **thee); 00199 00205 void PBEparm_dtor2(PBEparm *thee); 00206 00213 int PBEparm_check(PBEparm *thee); 00214 00221 void PBEparm_copy(PBEparm *thee, PBEparm *parm); 00222 00232 int PBEparm_parseToken(PBEparm *thee, char tok[VMAX_BUFSIZE], 00233 Vio *sock); 00234 00235 00236 #endif 00237 00238