| 1 | #ifndef __GRIDBUILDER_HPP__ | 
| 2 | #define __GRIDBUILDER_HPP__ | 
| 3 |  | 
| 4 | #include "RigidBody.hpp" | 
| 5 | #include <iostream> | 
| 6 | #include <fstream> | 
| 7 | #include <vector> | 
| 8 |  | 
| 9 | using namespace std; | 
| 10 |  | 
| 11 | class GridBuilder{ | 
| 12 |  | 
| 13 | public: | 
| 14 | GridBuilder(RigidBody* rb, int gridWidth); | 
| 15 | virtual ~GridBuilder(); | 
| 16 |  | 
| 17 | void launchProbe(int forceField, vector<double> sigmaGrid, | 
| 18 | vector<double> sGrid, vector<double> epsGrid); | 
| 19 | void releaseProbe(double farPos); | 
| 20 | void calcEnergy(); | 
| 21 | void printGridFiles(); | 
| 22 |  | 
| 23 | protected: | 
| 24 | int i, j, k, l; | 
| 25 | int gridwidth; | 
| 26 | int forcefield; | 
| 27 | double thetaStep; | 
| 28 | double phiStep; | 
| 29 | double thetaMin; | 
| 30 | double probeCoor; //the probe atom motion is 1-dimensional | 
| 31 | double rhoStep; | 
| 32 | double sigDist; | 
| 33 | double sDist; | 
| 34 | double epsVal; | 
| 35 | double potEnergy; | 
| 36 | double rparHe, epsHe; | 
| 37 | vector<double> potProgress; | 
| 38 | vector<double> distProgress; | 
| 39 | vector<double> sigList; | 
| 40 | vector<double> epsList; | 
| 41 | vector<double> sList; | 
| 42 |  | 
| 43 | RigidBody* rbMol; | 
| 44 | }; | 
| 45 |  | 
| 46 | #endif |