1 #ifndef BALL_STRUCTURE_BONDORDERS_PARTIALBONDORDERASSIGNMENT_H 2 #define BALL_STRUCTURE_BONDORDERS_PARTIALBONDORDERASSIGNMENT_H 4 #ifndef BALL_COMMON_GLOBAL_H 8 #ifndef BALL_KERNEL_ATOM_H 12 #ifndef BALL_KERNEL_BOND_H 16 #include <boost/shared_ptr.hpp> 21 class AssignBondOrderProcessor;
22 class BondOrderAssignment;
50 boost::shared_ptr<BondOrderAssignment> convertToFullAssignment();
60 float coarsePenalty(
float atom_type_penalty,
float bond_length_penalty)
const;
63 float coarsePenalty()
const;
66 float finePenalty()
const {
return estimated_bond_length_penalty;}
69 float getAtomTypePenalty(
bool include_heuristic_term =
true,
HEURISTIC_INDEX heuristic_index = SIMPLE);
78 bool estimatePenalty_(
bool include_heuristic_term =
true,
HEURISTIC_INDEX heuristic_index = SIMPLE);
81 float estimateAtomTypePenalty_(
Atom* atom,
84 int fixed_virtual_order,
90 float estimateBondLengthPenalty_(
Index atom_index,
91 const vector<Bond*>& free_bonds,
92 int fixed_virtual_order,
114 #endif // BALL_STRUCTURE_BONDORDERS_PARTIALBONDORDERASSIGNMENT_H float estimated_bond_length_penalty
Assignment of bond orders from topology information.
AssignBondOrderProcessor * abop
float estimated_atom_type_penalty
vector< short > bond_orders
-*- Mode: C++; tab-width: 2; -*-
float finePenalty() const
A full or partial solution to the AStar-based bond order assignment problem.
BALL_EXPORT bool operator<(const String &s1, const String &s2)