Loading...
Searching...
No Matches
BALL::BondOrderAssignment Class Reference

A solution to the bond order assignment problem. More...

`#include <BALL/STRUCTURE/BONDORDERS/bondOrderAssignment.h>`

Inheritance diagram for BALL::BondOrderAssignment:

## Public Member Functions

| BondOrderAssignment (AssignBondOrderProcessor *abop)
virtual | ~BondOrderAssignment ()
void | clear ()
bool | apply ()
| Apply the solution to the AtomContainer.
int | getNumberOfNodeExpansions () const
int | getQueueSize () const
Public Member Functions inherited from BALL::PartialBondOrderAssignment
| PartialBondOrderAssignment (AssignBondOrderProcessor *parent)
| ~PartialBondOrderAssignment ()
boost::shared_ptr< BondOrderAssignment > | convertToFullAssignment ()
void | clear ()
bool | operator< (const PartialBondOrderAssignment &b) const
float | coarsePenalty (float atom_type_penalty, float bond_length_penalty) const
float | coarsePenalty () const
float | finePenalty () const
float | getAtomTypePenalty (bool include_heuristic_term=true, HEURISTIC_INDEX heuristic_index=SIMPLE)
| Convenience function to obtain total atom type penalty value.
bool | estimatePenalty_ (bool include_heuristic_term=true, HEURISTIC_INDEX heuristic_index=SIMPLE)
float | estimateAtomTypePenalty_ (Atom *atom, Index atom_index, int fixed_valence, int fixed_virtual_order, int num_free_bonds, HEURISTIC_INDEX heuristic_index)
| Estimates the atom type penalty for a given unclosed atom.
float | estimateBondLengthPenalty_ (Index atom_index, const vector< Bond * > &free_bonds, int fixed_virtual_order, int fixed_valence, int num_free_bonds)
| Estimates the bond length penalty for a given unclosed atom.

## Public Attributes

bool | valid
HashMap< Bond *, int > | bond_order_map
HashMap< Atom *, int > | number_of_virtual_hydrogens
vector< Atom * > | atoms_to_delete
float | total_charge
int | node_expansions
int | queue_size
AtomContainer * | ac
Public Attributes inherited from BALL::PartialBondOrderAssignment
float | estimated_atom_type_penalty
float | estimated_bond_length_penalty
vector< short > | bond_orders
Position | last_bond
AssignBondOrderProcessor * | abop

## Friends

class | AssignBondOrderProcessor

## Additional Inherited Members

Public Types inherited from BALL::PartialBondOrderAssignment
enum | HEURISTIC_INDEX { SIMPLE , MEDIUM , TIGHT }

## Detailed Description

A solution to the bond order assignment problem.

This class represents a full bond order assignment as it is generated by the AssignBondOrderProcessor through a BondOrderAssignmentStrategy .

Definition at line 30 of file bondOrderAssignment.h.

## Constructor & Destructor Documentation

## BondOrderAssignment()

BALL::BondOrderAssignment::BondOrderAssignment | ( | AssignBondOrderProcessor * | abop | ) |

## ~BondOrderAssignment()

virtual BALL::BondOrderAssignment::~BondOrderAssignment | ( |  | ) |

virtual

## Member Function Documentation

## apply()

bool BALL::BondOrderAssignment::apply | ( |  | ) |

Apply the solution to the AtomContainer.

## clear()

void BALL::BondOrderAssignment::clear | ( |  | ) |

## getNumberOfNodeExpansions()

int BALL::BondOrderAssignment::getNumberOfNodeExpansions | ( |  | ) | const

inline

Definition at line 49 of file bondOrderAssignment.h.

## getQueueSize()

int BALL::BondOrderAssignment::getQueueSize | ( |  | ) | const

inline

Definition at line 52 of file bondOrderAssignment.h.

## Friends And Related Symbol Documentation

## AssignBondOrderProcessor

friend class AssignBondOrderProcessor

friend

Definition at line 33 of file bondOrderAssignment.h.

## Member Data Documentation

## ac

AtomContainer* BALL::BondOrderAssignment::ac

Definition at line 72 of file bondOrderAssignment.h.

## atoms_to_delete

vector<Atom*> BALL::BondOrderAssignment::atoms_to_delete

Definition at line 65 of file bondOrderAssignment.h.

## bond_order_map

HashMap<Bond*, int> BALL::BondOrderAssignment::bond_order_map

Definition at line 58 of file bondOrderAssignment.h.

## node_expansions

int BALL::BondOrderAssignment::node_expansions

Definition at line 69 of file bondOrderAssignment.h.

## number_of_virtual_hydrogens

HashMap<Atom*, int> BALL::BondOrderAssignment::number_of_virtual_hydrogens

Definition at line 61 of file bondOrderAssignment.h.

## queue_size

int BALL::BondOrderAssignment::queue_size

Definition at line 70 of file bondOrderAssignment.h.

## total_charge

float BALL::BondOrderAssignment::total_charge

Definition at line 68 of file bondOrderAssignment.h.

## valid

bool BALL::BondOrderAssignment::valid

Definition at line 55 of file bondOrderAssignment.h.