MTK++ Latest version: 0.2.0

hydrophobize.h
Go to the documentation of this file.
00001 
00033 #ifndef HYDROPHOBIZE_H
00034 #define HYDROPHOBIZE_H
00035 
00036 #include <iostream>
00037 #include <string>
00038 #include <vector>
00039 #include <map>
00040 #include <algorithm>
00041 #include <cmath>
00042 
00043 namespace MTKpp
00044 {
00045 
00046 class molecule;
00047 class atom;
00048 class vector3d;
00049 struct Bond;
00050 
00051 // ============================================================
00052 // Struct : hydrophobe
00053 // ------------------------------------------------------------
00060 // ============================================================
00061 struct hydrophobe
00062 {
00064     std::vector<atom*> atoms;
00065 };
00066 
00067 // ============================================================
00068 // Class : hydrophobize()
00069 // ------------------------------------------------------------
00081 // ============================================================
00082 class hydrophobize
00083 {
00084 public:
00088     hydrophobize(molecule *parent);
00089 
00091     virtual ~hydrophobize();
00092 
00097     int run();
00098 
00099 protected: // DATA
00100 
00101     //---------------//
00102     // -  POINTERS - //
00103     //---------------//
00104 
00106     molecule*                pParent;
00107 
00109     atom*                    pAtom;
00110 
00112     Bond*                    pBond;
00113 
00115     std::vector<atom*>       atomList;
00116 
00118     unsigned int             nAtoms;
00119 
00121     std::vector<int>         atHydrophobicities;
00122 
00124     std::vector<int>         atNumbers;
00125 
00127     std::vector<int>         atGroups;
00128 
00130     std::vector<int>         atPeriods;
00131 
00133     std::vector<std::string> atSymbols;
00134 
00136     std::vector<int>         atHybridizations;
00137 
00139     std::vector<int>         formalCharges;
00140 
00142     std::vector<std::vector<int> > bdAtoms;
00143 
00145     std::vector<int>         bondOrders;
00146 
00148     std::map<int, Bond*> bonds;
00149 
00151     typedef std::map<int, Bond*>::iterator BondMapIterator;
00152 
00154     std::vector<int>         OHs;
00155 
00157     std::vector<int>         NHs;
00158 
00160     std::vector<int>         SHs;
00161 
00162 };
00163 
00164 } // MTKpp namespace
00165 
00166 #endif // HYDROPHOBIZE_H

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