5#ifndef BALL_STRUCTURE_KEKULIZER_H
6#define BALL_STRUCTURE_KEKULIZER_H
12#ifndef BALL_DATATYPE_HASHMAP_H
44 AtomInfo& operator = (
const AtomInfo& ai) ;
53 std::vector<Bond*> abonds;
56 std::vector<Position> partner_id;
68 Index uncharged_double;
85 void setAromaticRings(
const std::vector<std::set<Atom*> >& rings) { aromatic_rings_ = rings;}
88 void setRings(
const std::vector<std::set<Atom*> >& rings) { rings_ = rings;}
#define BALL_CREATE(name)
BALL_EXPORT bool operator<(const String &s1, const String &s2)
HashMap class based on the STL map (containing serveral convenience functions)
HashMap< Atom *, Index > max_valence_
std::vector< std::set< Atom * > > aromatic_systems_
void fixAromaticSystem_(Position it)
std::vector< std::set< Atom * > > rings_
void calculateAromaticSystems_()
virtual Size getPenalty_(Atom &atom, Index charge)
bool hasAromaticBonds_(Atom &atom)
void applySolution_(Position pos)
Position calculateDistanceScores_()
void setRings(const std::vector< std::set< Atom * > > &rings)
std::vector< Bond * > unassigned_bonds_
void setUseFormalCharges(bool state)
bool useFormalCharges() const
const std::vector< Bond * > & getUnassignedBonds() const
void getMaximumValence_()
std::vector< std::set< Atom * > > aromatic_rings_
void collectSystems_(Atom &atom)
std::vector< std::vector< AtomInfo > > solutions_
std::set< const Atom * > all_aromatic_atoms_
void setAromaticRings(const std::vector< std::set< Atom * > > &rings)
std::set< const Atom * > aromatic_atoms_
void collectAromaticAtoms_()
std::vector< AtomInfo > atom_infos_
std::set< Atom * > current_aromatic_system_