Chemical Data Processing Library C++ API - Version 1.2.0
MMFF94PropertyFunctions.hpp
Go to the documentation of this file.
1 /*
2  * MMFF94PropertyFunctions.hpp
3  *
4  * This file is part of the Chemical Data Processing Toolkit
5  *
6  * Copyright (C) 2003 Thomas Seidel <thomas.seidel@univie.ac.at>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public License
19  * along with this library; see the file COPYING. If not, write to
20  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21  * Boston, MA 02111-1307, USA.
22  */
23 
30 #ifndef CDPL_FORCEFIELD_MMFF94PROPERTYFUNCTIONS_HPP
31 #define CDPL_FORCEFIELD_MMFF94PROPERTYFUNCTIONS_HPP
32 
33 #include <string>
34 #include <functional>
35 
37 
38 
39 namespace CDPL
40 {
41 
42  namespace Chem
43  {
44 
45  class Atom;
46  class Bond;
47  class MolecularGraph;
48  } // namespace Chem
49 
50  namespace ForceField
51  {
52 
56  typedef std::function<unsigned int(const Chem::Atom&)> MMFF94NumericAtomTypeFunction;
57 
61  typedef std::function<const std::string&(const Chem::Atom&)> MMFF94SymbolicAtomTypeFunction;
62 
66  typedef std::function<double(const Chem::Atom&)> MMFF94AtomChargeFunction;
67 
71  typedef std::function<unsigned int(const Chem::Bond&)> MMFF94BondTypeIndexFunction;
72 
77  } // namespace ForceField
78 } // namespace CDPL
79 
80 #endif // CDPL_FORCEFIELD_MMFF94PROPERTYFUNCTIONS_HPP
Definition of the class CDPL::Chem::FragmentList.
Atom.
Definition: Atom.hpp:52
Bond.
Definition: Bond.hpp:50
std::shared_ptr< FragmentList > SharedPointer
Definition: FragmentList.hpp:52
MolecularGraph.
Definition: MolecularGraph.hpp:52
std::function< unsigned int(const Chem::Atom &)> MMFF94NumericAtomTypeFunction
A generic wrapper class used to store a user-defined numeric MMFF94 atom type function.
Definition: MMFF94PropertyFunctions.hpp:56
std::function< double(const Chem::Atom &)> MMFF94AtomChargeFunction
A generic wrapper class used to store a user-defined MMFF94 partial atom charge function.
Definition: MMFF94PropertyFunctions.hpp:66
std::function< const Chem::FragmentList::SharedPointer &(const Chem::MolecularGraph &)> MMFF94RingSetFunction
A generic wrapper class used to store a user-defined MMFF94 ring set function.
Definition: MMFF94PropertyFunctions.hpp:76
std::function< unsigned int(const Chem::Bond &)> MMFF94BondTypeIndexFunction
A generic wrapper class used to store a user-defined MMFF94 bond type index function.
Definition: MMFF94PropertyFunctions.hpp:71
std::function< const std::string &(const Chem::Atom &)> MMFF94SymbolicAtomTypeFunction
A generic wrapper class used to store a user-defined symbolic MMFF94 atom type function.
Definition: MMFF94PropertyFunctions.hpp:61
The namespace of the Chemical Data Processing Library.