00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef OB_MOLCHRG_H
00021 #define OB_MOLCHRG_H
00022
00023 namespace OpenBabel
00024 {
00025
00026 class GasteigerState;
00027
00028
00029 class OBAPI OBGastChrg
00030 {
00031 std::vector <GasteigerState*> _gsv;
00032
00033 void InitialPartialCharges(OBMol &);
00034 bool GasteigerSigmaChi(OBAtom *,double &,double &,double &);
00035
00036 public:
00037 OBGastChrg() {}
00038 ~OBGastChrg();
00039
00041 bool AssignPartialCharges(OBMol &);
00043 void GSVResize(int);
00044 };
00045
00048 class OBAPI GasteigerState
00049 {
00050 public:
00051 GasteigerState();
00052 ~GasteigerState() {}
00053
00054 void SetValues(double _a,double _b,double _c,double _q)
00055 {
00056 a = _a;
00057 b = _b;
00058 c = _c;
00059 denom=a+b+c;
00060 q = _q;
00061 }
00062
00063 double a, b, c;
00064 double denom;
00065 double chi;
00066 double q;
00067 };
00068
00069 }
00070
00071 #define OB_GASTEIGER_DENOM 20.02
00072 #define OB_GASTEIGER_DAMP 0.5
00073 #define OB_GASTEIGER_ITERS 6
00074
00075 #endif // OB_MOLCHRG_H
00076