BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Public Attributes | Friends | List of all members
BALL::BondOrderAssignment Class Reference

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

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

Inheritance diagram for BALL::BondOrderAssignment:
BALL::PartialBondOrderAssignment

Public Member Functions

 BondOrderAssignment (AssignBondOrderProcessor *abop)
 
virtual ~BondOrderAssignment ()
 
void clear ()
 
bool apply ()
 Apply the solution to the AtomContainer. More...
 
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. More...
 
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. More...
 
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. More...
 

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
 
AtomContainerac
 
- Public Attributes inherited from BALL::PartialBondOrderAssignment
float estimated_atom_type_penalty
 
float estimated_bond_length_penalty
 
vector< short > bond_orders
 
Position last_bond
 
AssignBondOrderProcessorabop
 

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

BALL::BondOrderAssignment::BondOrderAssignment ( AssignBondOrderProcessor abop)
virtual BALL::BondOrderAssignment::~BondOrderAssignment ( )
virtual

Member Function Documentation

bool BALL::BondOrderAssignment::apply ( )

Apply the solution to the AtomContainer.

void BALL::BondOrderAssignment::clear ( )
int BALL::BondOrderAssignment::getNumberOfNodeExpansions ( ) const
inline

Definition at line 49 of file bondOrderAssignment.h.

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

Definition at line 52 of file bondOrderAssignment.h.

Friends And Related Function Documentation

friend class AssignBondOrderProcessor
friend

Definition at line 33 of file bondOrderAssignment.h.

Member Data Documentation

AtomContainer* BALL::BondOrderAssignment::ac

Definition at line 72 of file bondOrderAssignment.h.

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

Definition at line 65 of file bondOrderAssignment.h.

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

Definition at line 58 of file bondOrderAssignment.h.

int BALL::BondOrderAssignment::node_expansions

Definition at line 69 of file bondOrderAssignment.h.

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

Definition at line 61 of file bondOrderAssignment.h.

int BALL::BondOrderAssignment::queue_size

Definition at line 70 of file bondOrderAssignment.h.

float BALL::BondOrderAssignment::total_charge

Definition at line 68 of file bondOrderAssignment.h.

bool BALL::BondOrderAssignment::valid

Definition at line 55 of file bondOrderAssignment.h.