BALL::MoleculeAssembler Class Reference

class, providing methods for the assembly of a structure diagram More...

#include <BALL/STRUCTURE/moleculeAssembler.h>

List of all members.

Public Member Functions

 MoleculeAssembler ()
 Default-Constructor.
 ~MoleculeAssembler ()
 Destructor.
void assembleMolecule (System &molecule_sys, vector< vector< vector< Atom * > > > &ringsystems, vector< vector< Atom * > > &chains)
 assembles the structure diagram from previously prepared fragments

Static Public Member Functions

static bool compareRingsystems (const vector< vector< Atom * > > &x, const vector< vector< Atom * > > &y)
 comparator for sorting the ringsystems by their size

Private Member Functions

void assembleRS (Atom *&start_atom, Atom *&assemble_atom, vector< vector< vector< Atom * > > > &ringsystems)
 adds a prefabricated ringsystem to the structure diagram
void assembleChain (Atom *&start_atom, Atom *&assemble_atom, vector< vector< Atom * > > &chains)
 adds a chain to the structure diagram
void assembleSubstituents (Atom *&start_atom, System &molecule_sys)
 adds single atoms to the structure diagram
void updateCFS (Atom *&atom)
 determines the free space, which is left around an atom to assemble further substituents

Private Attributes

list< Atom * > aq_

Detailed Description

class, providing methods for the assembly of a structure diagram


Constructor & Destructor Documentation

BALL::MoleculeAssembler::MoleculeAssembler ( )

Default-Constructor.

BALL::MoleculeAssembler::~MoleculeAssembler ( )

Destructor.


Member Function Documentation

void BALL::MoleculeAssembler::assembleChain ( Atom *&  start_atom,
Atom *&  assemble_atom,
vector< vector< Atom * > > &  chains 
) [private]

adds a chain to the structure diagram

Parameters:
start_atomthe already positioned neighbour-atom of the chain
assemble_atomthe atom, that belongs to the chain and is a neighbour of start_atom
chainsall chains of the molecule
void BALL::MoleculeAssembler::assembleMolecule ( System molecule_sys,
vector< vector< vector< Atom * > > > &  ringsystems,
vector< vector< Atom * > > &  chains 
)

assembles the structure diagram from previously prepared fragments

Parameters:
molecule_sysSystem of the input molecule
ringsystemsthe prefabricated ringsystems
chainsthe chains of the molecule
void BALL::MoleculeAssembler::assembleRS ( Atom *&  start_atom,
Atom *&  assemble_atom,
vector< vector< vector< Atom * > > > &  ringsystems 
) [private]

adds a prefabricated ringsystem to the structure diagram

Parameters:
start_atomthe already positioned neighbour-atom of the ringsystem
assemble_atomthe atom, that belongs to the ringsystem and is a neighbour of start_atom
ringsystemsall prefabricated ringsystems of the molecule
void BALL::MoleculeAssembler::assembleSubstituents ( Atom *&  start_atom,
System molecule_sys 
) [private]

adds single atoms to the structure diagram

Parameters:
start_atomthe already positioned neighbour-atom of the single atoms
molecule_sysSystem of the input molecule
static bool BALL::MoleculeAssembler::compareRingsystems ( const vector< vector< Atom * > > &  x,
const vector< vector< Atom * > > &  y 
) [static]

comparator for sorting the ringsystems by their size

Parameters:
xringsystem
yringsystem
void BALL::MoleculeAssembler::updateCFS ( Atom *&  atom) [private]

determines the free space, which is left around an atom to assemble further substituents

Parameters:
atom

Member Data Documentation