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;
163 #endif // CDPL_DESCR_MOLECULARCOMPLEXITYCALCULATOR_HPP