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.sourceforge.net/> 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 namespace OpenBabel 00024 { 00025 00026 class GasteigerState; 00027 00028 // class introduction in molchrg.cpp 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
This file is part of the documentation for Open Babel, version 2.2.0.