32 #ifndef CDPL_DESCR_MOLECULARCOMPLEXITYCALCULATOR_HPP
33 #define CDPL_DESCR_MOLECULARCOMPLEXITYCALCULATOR_HPP
102 void calcAtomTypeComplexity();
103 void calcStructuralComplexity();
111 void incNumEquivAtoms();
113 double getValue()
const;
114 double getEtaContribution()
const;
115 double getNumEquivAtoms()
const;
117 std::size_t getID()
const;
120 double numEquivAtoms;
125 typedef std::map<std::size_t, SymmetryTerm> SymmetryTermMap;
131 PiBondTerm(std::size_t, std::size_t, std::size_t);
133 double getCorrection(
const SymmetryTermMap&)
const;
135 bool isRelevant(
const SymmetryTermMap&)
const;
140 std::size_t symClassID1;
141 std::size_t symClassID2;
145 typedef std::map<std::size_t, std::size_t> AtomTypeCountMap;
146 typedef std::set<PiBondTerm> PiBondTermSet;
149 SymmetryTermMap symmetryTerms;
150 AtomTypeCountMap atomTypeCounts;
151 PiBondTermSet piBondTerms;
152 std::size_t numHeavyAtoms;
153 std::size_t numDoubleBonds;
154 std::size_t numTripleBonds;
156 double atmTypeComplexity;
157 double structComplexity;
Definition of the preprocessor macro CDPL_DESCR_API.
#define CDPL_DESCR_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Atom.
Definition: Atom.hpp:52
Bond.
Definition: Bond.hpp:50
MolecularGraph.
Definition: MolecularGraph.hpp:52
MolecularComplexityCalculator.
Definition: MolecularComplexityCalculator.hpp:61
MolecularComplexityCalculator()
Constructs the MolecularComplexityCalculator instance.
Definition: MolecularComplexityCalculator.hpp:67
double calculate(const Chem::MolecularGraph &molgraph)
Calculates the complexity of the molecular graph molgraph.
double getResult() const
Returns the result of the last molecular graph complexity calculation.
MolecularComplexityCalculator & operator=(const MolecularComplexityCalculator &)=delete
MolecularComplexityCalculator(const Chem::MolecularGraph &molgraph)
Constructs the MolecularComplexityCalculator instance and calculates the complexity of the molecular ...
MolecularComplexityCalculator(const MolecularComplexityCalculator &)=delete
bool operator<(const Array< ValueType > &array1, const Array< ValueType > &array2)
Less than comparison operator.
The namespace of the Chemical Data Processing Library.