main page
namespaces
classes
files
GGL home
Generated on Wed Apr 29 2015 11:51:40 for GGL-4.1.2 by
doxygen
1.8.3.1
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
src
ggl
chem
EC_MoleculeDecomposition.hh
Go to the documentation of this file.
1
2
#ifndef GGL_CHEM_EC_MOLECULEDECOMPOSITION_HH_
3
#define GGL_CHEM_EC_MOLECULEDECOMPOSITION_HH_
4
5
#include "
ggl/chem/EnergyCalculation.hh
"
6
#include "
ggl/chem/MoleculeDecomposition.hh
"
7
8
namespace
ggl {
9
namespace
chem {
10
11
12
13
/*! @brief Molecule energy ala Jankowski et al.
14
*
15
* An energy calculator implementation based on the molecule decomposition
16
* approach introduced by Jankowski et al. (2008)
17
* (see ggl::chem::MoleculeDecomposition)
18
*/
19
class
EC_MoleculeDecomposition
:
public
EnergyCalculation
20
{
21
22
protected
:
23
24
//! the graph isomorphism matcher needed for the decomposition
25
sgm::GraphMatching
*
fullMatcher
;
26
//! the subgraph mono-morphism matcher needed for the decomposition
27
sgm::SubGraphMatching
*
subMatcher
;
28
29
//! the molecule decomposition handler used
30
mutable
MoleculeDecomposition
*
decompositionHandler
;
31
32
public
:
33
34
//! construction
35
EC_MoleculeDecomposition
();
36
37
//! copy construction
38
//! @param toCopy the instance to make this a copy of
39
EC_MoleculeDecomposition
(
const
EC_MoleculeDecomposition
& toCopy );
40
41
//! destruction
42
virtual
43
~EC_MoleculeDecomposition
();
44
45
46
//! assignment operator
47
//! @param toCopy the instance to make this a copy of
48
//! @return the changed *this object
49
virtual
50
EC_MoleculeDecomposition
&
51
operator=
(
const
EC_MoleculeDecomposition
& toCopy );
52
53
/*!
54
* Computes the energy estimate in "kcal/mol" of a given molecule
55
* based of a decomposition of the molecule graph into components
56
* and a summation over all component contributions.
57
*
58
* @param mol the molecule to be analyzed
59
* @return an estimate of its energy in kcal/mol
60
*/
61
virtual
62
double
63
getEnergy
(
const
Molecule
& mol )
const
;
64
65
};
66
67
68
}
// namespace chem
69
}
// namespace ggl
70
71
// include member implementations
72
#include "ggl/chem/EC_MoleculeDecomposition.icc"
73
74
#endif
/* GGL_CHEM_EC_MOLECULEDECOMPOSITION_HH_ */