00001 /********************************************************************** 00002 molchrg.h - Assign Gasteiger partial charges. 00003 00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc. 00005 Some portions Copyright (C) 2001-2005 by Geoffrey R. Hutchison 00006 00007 This file is part of the Open Babel project. 00008 For more information, see <http://openbabel.org/> 00009 00010 This program is free software; you can redistribute it and/or modify 00011 it under the terms of the GNU General Public License as published by 00012 the Free Software Foundation version 2 of the License. 00013 00014 This program is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU General Public License for more details. 00018 ***********************************************************************/ 00019 00020 #ifndef OB_MOLCHRG_H 00021 #define OB_MOLCHRG_H 00022 00023 #include <openbabel/babelconfig.h> 00024 #include <vector> 00025 00026 namespace OpenBabel 00027 { 00028 00029 // Foward declarations 00030 class OBMol; 00031 class OBAtom; 00032 00035 class OBAPI GasteigerState 00036 { 00037 public: 00038 GasteigerState(); 00039 ~GasteigerState() {} 00040 00041 void SetValues(double _a,double _b,double _c,double _q) 00042 { 00043 a = _a; 00044 b = _b; 00045 c = _c; 00046 denom=a+b+c; 00047 q = _q; 00048 } 00049 00050 double a, b, c; 00051 double denom; 00052 double chi; 00053 double q; 00054 }; 00055 00056 // class introduction in molchrg.cpp 00057 class OBAPI OBGastChrg 00058 { 00059 std::vector <GasteigerState*> _gsv; 00060 00061 void InitialPartialCharges(OBMol &); 00062 bool GasteigerSigmaChi(OBAtom *,double &,double &,double &); 00063 00064 public: 00065 OBGastChrg() {} 00066 ~OBGastChrg(); 00067 00069 bool AssignPartialCharges(OBMol &); 00071 void GSVResize(int); 00072 }; 00073 00074 } 00075 00076 #define OB_GASTEIGER_DENOM 20.02 00077 #define OB_GASTEIGER_DAMP 0.5 00078 #define OB_GASTEIGER_ITERS 6 00079 00080 #endif // OB_MOLCHRG_H 00081
This file is part of the documentation for Open Babel, version 2.3.