13 #include "../interface/interface_abstractmodule.h"
14 #include "../misc/misc_timer.h"
15 #include "../delphi/delphi_constants.h"
17 #include "../interface/interface_datacontainer.h"
18 #include "space_templates.h"
27 shared_ptr<CTimer> pTimer;
37 const delphi_integer& iNatom;
38 const delphi_real& fScale;
39 const delphi_integer& iGrid;
40 const delphi_integer& iNObject;
42 const bool& bUniformDiel;
63 const delphi_integer& iNMedia;
64 const delphi_integer& numbmol;
66 const delphi_integer& scrgfrm;
70 const delphi_real& fIonStrenth;
71 const delphi_real& fExternRadius;
72 const delphi_real& fRMax;
73 const vector < delphi_real >& fRadPrb_v;
74 const delphi_real* fRadPrb;
77 const vector <CAtomPdb>& delphipdb;
79 const vector <string> & dataobject_v;
86 delphi_integer ndistr;
88 delphi_integer& iBoundNum;
90 delphi_integer& nqass;
91 delphi_integer& nqgrd;
102 vector <delphi_real>& medeps;
103 vector < SGrid<delphi_real> >& xn1_v;
104 vector < SGrid<delphi_real> >& xn2_v;
106 vector <bool>& bDebMap_v;
108 vector < SGrid<delphi_integer> >& iEpsMap_v;
110 vector <delphi_integer>& iAtomMed_v;
111 vector < SExtrema<delphi_real> >& sLimObject;
113 vector <SGrid <delphi_integer> >& ibgrd_v;
115 vector < SGrid <delphi_real> >& scspos_v;
117 vector < SGrid <delphi_real> >& chgpos_v;
119 vector <delphi_integer>& crgatn_v;
120 vector <delphi_integer>& nqgrdtonqass_v;
121 vector <delphi_real>& atmeps_v;
122 vector< SGridValue<delphi_real> >& atmcrg_v;
123 vector< SGridValue<delphi_real> >& chrgv2_v;
125 vector < SGrid <delphi_real> >& scsnor_v;
126 vector < delphi_integer >& atsurf_v;
127 vector < delphi_integer >& atndx_v;
132 struct delphipdb_struc
139 delphipdb_struc * sDelPhiPDB;
147 delphi_integer iBoundNumsurf,extot,iall,lcb, mcb, ncb, lcb1, mcb1, ncb1;
148 delphi_real radpmax,grdi, cbai, sideinter, sidemin;
152 delphi_integer iGaussian;
153 delphi_integer extracrg;
155 vector <delphi_integer> iab1_v, iab2_v, icume, ast, cbn1_v, cbn2_v, cbal, icbn;
156 vector <delphi_real> r0,r02,rs2;
157 vector < SGrid <delphi_real> > expos;
158 vector < SExtrema<delphi_real> > sLimGridUnit;
161 vector < SGrid <delphi_real> > vert, vnorm, vnorm2;
162 vector < SGrid <delphi_integer> > vindx;
163 vector <delphi_integer> vtlen, vtlst, vtpnt;
165 delphi_integer ** tmlst;
183 delphi_integer * atsurf;
184 delphi_integer * atndx;
188 delphi_integer * crgatn;
189 delphi_integer * nqgrdtonqass;
190 delphi_real * atmeps;
197 delphi_integer *** cbn1, *** cbn2, *** iab1, *** iab2;
198 delphi_integer * iAtomMed;
237 void VdwToMs_piece(
bool & ,
const delphi_integer& ,
const delphi_integer& ,
const delphi_integer& ,
const delphi_integer& ,
const delphi_real& ,
const SGrid <delphi_real>& , delphi_integer * , delphi_integer * , delphi_integer & ,delphi_real & );
240 void cubedata(delphi_real, delphi_real );
241 void indverdata(delphi_real);
242 void indver(delphi_integer);
248 SGrid <int> int_coord(
const int& a,
const int& b,
const int& c);
250 SGrid <float> coord(
const float& a,
const float& b,
const float& c);
254 int Float2Int(
const float& a);
258 float Int2Float(
const int& a);
260 shared_ptr<IDataContainer> test_pdc;
266 CDelphiSpace(shared_ptr<IDataContainer> pdc,shared_ptr<CTimer> pt):
277 iNatom (pdc->getKey_constRef<delphi_integer>(
"natom")),
278 fScale (pdc->getKey_constRef<delphi_real>(
"scale")),
279 iGrid (pdc->getKey_constRef<delphi_integer>(
"igrid")),
280 iNObject (pdc->getKey_constRef<delphi_integer>(
"nobject")),
282 bUniformDiel (pdc->getKey_constRef<
bool>(
"uniformdiel")),
283 bOnlyMol (pdc->getKey_constRef<
bool>(
"ionlymol")),
284 isolv (pdc->getKey_constRef<
bool>(
"isolv")),
285 irea (pdc->getKey_constRef<
bool>(
"irea")),
286 logs (pdc->getKey_constRef<
bool>(
"logs")),
287 lognl (pdc->getKey_constRef<
bool>(
"lognl")),
288 isen (pdc->getKey_constRef<
bool>(
"isen")),
289 isch (pdc->getKey_constRef<
bool>(
"isch")),
291 isite (pdc->getKey_constRef<
bool>(
"isite")),
292 ibem (pdc->getKey_constRef<
bool>(
"ibem")),
293 ibctyp (pdc->getKey_constRef<
int>(
"ibctyp")),
294 isitsf (pdc->getKey_constRef<
bool>(
"isitsf")),
302 iNMedia (pdc->getKey_constRef<delphi_integer>(
"nmedia")),
303 numbmol (pdc->getKey_constRef<delphi_integer>(
"numbmol")),
304 scrgfrm (pdc->getKey_constRef<delphi_integer>(
"scrgfrm")),
310 fIonStrenth (pdc->getKey_constRef<delphi_real>(
"rionst")),
311 fExternRadius (pdc->getKey_constRef<delphi_real>(
"exrad")),
312 fRMax (pdc->getKey_constRef<delphi_real>(
"rdmx")),
313 fRadPrb_v (pdc->getKey_constRef<vector <delphi_real> >(
"radprb")),
315 delphipdb (pdc->getKey_constRef<vector <CAtomPdb> >(
"delphipdb")),
317 dataobject_v(pdc->getKey_constRef< vector<string> >(
"dataobject")),
321 iBoundNum (pdc->getKey_Ref<delphi_integer>(
"ibnum")),
322 rdmx (pdc->getKey_Ref<delphi_real>(
"rdmx")),
323 nqass (pdc->getKey_Ref<delphi_integer>(
"nqass")),
324 nqgrd (pdc->getKey_Ref<delphi_integer>(
"nqgrd")),
325 iacs(pdc->getKey_Ref<
bool >(
"iacs")),
326 isrf(pdc->getKey_Ref<
bool >(
"isrf")),
329 qnet(pdc->getKey_Ref< delphi_real >(
"qnet")),
330 qmin(pdc->getKey_Ref< delphi_real >(
"qmin")),
331 qplus(pdc->getKey_Ref< delphi_real >(
"qplus")),
334 medeps(pdc->getKey_Ref < vector < delphi_real > >(
"medeps")),
337 bDebMap_v( pdc->getKey_Ref< vector< bool > >(
"idebmap")),
339 iAtomMed_v(pdc->getKey_Ref< vector<delphi_integer> >(
"iatmmed")),
344 crgatn_v(pdc->getKey_Ref< vector< delphi_integer > >(
"crgatn")),
345 nqgrdtonqass_v(pdc->getKey_Ref< vector< delphi_integer > >(
"nqgrdtonqass")),
346 atmeps_v(pdc->getKey_Ref< vector< delphi_real > >(
"atmeps")),
351 atsurf_v(pdc->getKey_Ref< vector< delphi_integer > >(
"atsurf")),
352 atndx_v(pdc->getKey_Ref< vector< delphi_integer > >(
"atndx"))
356 bDebMap_v.assign(iGrid*iGrid*iGrid,
true);
360 iAtomMed=&iAtomMed_v[-1];
363 sDelPhiPDB =
new delphipdb_struc [iNatom+1];
397 delete [] sDelPhiPDB ;
404 virtual void validateInput();
Definition: interface_abstractmodule.h:23