#include <BALL/STRUCTURE/addHydrogenProcessor.h>
Public Member Functions | |
AddHydrogenProcessor () | |
virtual | ~AddHydrogenProcessor () |
AddHydrogenProcessor (const AddHydrogenProcessor &hbp) | |
virtual bool | start () |
virtual Processor::Result | operator() (Composite &composite) |
Size | getConnectivity (Atom &atom) |
void | setRings (const vector< vector< Atom * > > &rings) |
Size | getNumberOfAddedHydrogens () |
Protected Member Functions | |
Size | countBondOrders (Atom &atom) |
void | addHydrogen_ (Atom &atom, Vector3 position) |
bool | isRingAtom_ (Atom &atom) |
vector< Atom * > | getPartners_ (Atom &atom) |
Vector3 | getNormal_ (const Vector3 &v) |
bool | normalize_ (Vector3 &v) |
bool | hasMultipleBond_ (Atom &atom) |
float | getBondLength_ (Position element) |
Protected Attributes | |
HashSet< Atom * > | ring_atoms_ |
Position | atom_nr_ |
Atom * | last_atom_ |
Size | nr_hydrogens_ |
Saturate atoms with hydrogen atoms. Only works with main group elements. The formal charge of the atoms are taken into account. The placement of the hydrogen atoms only depends on the direct neighbour atoms. No additional optimization of the atom placement is done. The optimal bond lengths are calculized by a modified Schomaker-Stevenson rule (adapted from the MMFF94 force field).
Usage:
RingPerceptionProcessor rpp; vector<vector<Atom*> > rings; rpp.calculateSSSR(rings, system); rings = rpp.getAllSmallRings(); AddHydrogenProcessor ap; ap.setRings(rings); system.apply(ap);
Definition at line 47 of file addHydrogenProcessor.h.
BALL::AddHydrogenProcessor::AddHydrogenProcessor | ( | ) |
virtual BALL::AddHydrogenProcessor::~AddHydrogenProcessor | ( | ) | [virtual] |
BALL::AddHydrogenProcessor::AddHydrogenProcessor | ( | const AddHydrogenProcessor & | hbp | ) |
Size BALL::AddHydrogenProcessor::getNumberOfAddedHydrogens | ( | ) | [inline] |
Definition at line 74 of file addHydrogenProcessor.h.
virtual Processor::Result BALL::AddHydrogenProcessor::operator() | ( | Composite & | ) | [virtual] |
operator ()
Reimplemented from BALL::UnaryProcessor< Composite >.
void BALL::AddHydrogenProcessor::setRings | ( | const vector< vector< Atom * > > & | rings | ) |
virtual bool BALL::AddHydrogenProcessor::start | ( | ) | [virtual] |
start method
Reimplemented from BALL::UnaryProcessor< Composite >.
Position BALL::AddHydrogenProcessor::atom_nr_ [protected] |
Definition at line 89 of file addHydrogenProcessor.h.
Atom* BALL::AddHydrogenProcessor::last_atom_ [protected] |
Definition at line 90 of file addHydrogenProcessor.h.
Size BALL::AddHydrogenProcessor::nr_hydrogens_ [protected] |
Definition at line 91 of file addHydrogenProcessor.h.
HashSet<Atom*> BALL::AddHydrogenProcessor::ring_atoms_ [protected] |
Definition at line 88 of file addHydrogenProcessor.h.