molchrg.h Source File

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

molchrg.h
Go to the documentation of this file.

    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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines