MTK++ Latest version: 0.2.0

ligProtonate.h
Go to the documentation of this file.
00001 
00033 #ifndef LIGPROTONATE_H
00034 #define LIGPROTONATE_H
00035 
00036 #include <iostream>
00037 #include <string>
00038 #include <vector>
00039 #include <algorithm>
00040 #include <cmath>
00041 #include "Utils/constants.h"
00042 
00043 namespace MTKpp
00044 {
00045 
00046 class collection;
00047 class molecule;
00048 class submolecule;
00049 class atom;
00050 struct Bond;
00051 class parameters;
00052 struct bondParam;
00053 struct angleParam;
00054 struct torsionParam;
00055 
00056 class vector3d;
00057 
00058 // ============================================================
00059 // Class : ligProtonate()
00060 // ------------------------------------------------------------
00150 // ============================================================
00151 class ligProtonate
00152 {
00153 public:
00154 
00158     ligProtonate();
00159 
00161     virtual ~ligProtonate();
00162 
00167     void addHydrogens(submolecule* s);
00168 
00169 protected:
00170 
00176     double getBestDistance(atom* a);
00177 
00185     double getBestAngle(atom* a, atom* b, const int& r = 0);
00186 
00194     std::vector<double> getBestTorsions(atom* a, atom* b, atom* c);
00195 
00220     std::vector<double> getHBDonorTorsions(atom* a, atom* b, atom* c,
00221                 double dist, double angle, std::vector<atom*> acceptors);
00222 
00223 protected: // DATA
00225     collection*    pCol;
00226 
00228     bool           bCol;
00229 
00231     molecule*      pMol;
00232 
00234     bool           bMol;
00235 
00237     std::vector<submolecule*> subMoleculeList;
00238 
00240     std::vector<atom*>        atomList;
00241 
00243     submolecule*   pSubMolecule;
00244 
00246     submolecule*   pSubMoleculeMinus1;
00247 
00249     atom*          pAtom1;
00250 
00252     atom*          pAtom2;
00253 
00255     atom*          pAtom3;
00256 
00258     atom*          pAtom4;
00259 
00261     Bond*          pBond;
00262 
00264     vector3d*      coord1;
00265 
00267     vector3d*      coord2;
00268 
00269 };
00270 
00271 } // MTKpp namespace
00272 
00273 #endif // LIGPROTONATE_H
00274 

Generated on Fri Dec 23 2011 09:28:50 for MTK++ by Doxygen 1.7.5.1