Methods for the analysis of the structure of ringsystems.
More...
#include <BALL/STRUCTURE/ringAnalyser.h>
Methods for the analysis of the structure of ringsystems.
Definition at line 36 of file ringAnalyser.h.
◆ RingType
Enumerator |
---|
NONE | |
TEMPLATE | |
FUSED | |
BRIDGED | |
SPIRO | |
CORE | |
Definition at line 41 of file ringAnalyser.h.
◆ RingAnalyser()
BALL::RingAnalyser::RingAnalyser |
( |
| ) |
|
◆ ~RingAnalyser()
virtual BALL::RingAnalyser::~RingAnalyser |
( |
| ) |
|
|
virtual |
◆ assignRTD_()
bool BALL::RingAnalyser::assignRTD_ |
( |
std::list< Position > & |
trial_system | ) |
|
|
protected |
interface for a Ring Template Database (RTD), no functionality yet
- Returns
- always returns false by now
◆ clear()
void BALL::RingAnalyser::clear |
( |
| ) |
|
Clears the datastructures. NOTE: The options remain! Use setDefaultOptions() to clear the options.
◆ clusterRings_()
void BALL::RingAnalyser::clusterRings_ |
( |
| ) |
|
|
protected |
performs an agglomerative clustering of single rings to ringsystems
◆ findSharedBonds_()
void BALL::RingAnalyser::findSharedBonds_ |
( |
| ) |
|
|
protected |
Find the bonds shared between rings in the sssr Precondition: the rings must be sorted such that a_i, a_i+1 share a bond (and a_size-1, a_0)
◆ finish()
virtual bool BALL::RingAnalyser::finish |
( |
| ) |
|
|
virtual |
◆ getNumberOfRingSystems()
Size BALL::RingAnalyser::getNumberOfRingSystems |
( |
| ) |
|
Return the number of ring systems.
◆ getPeelingOrder()
Returns the peeling order for the i-th ring system.
◆ getRingSystem()
std::vector<Ring> BALL::RingAnalyser::getRingSystem |
( |
Position |
i | ) |
|
Returns the i-th ring system.
◆ isCentralRing_()
bool BALL::RingAnalyser::isCentralRing_ |
( |
std::list< Position >::iterator |
ring, |
|
|
std::list< Position > & |
unassigned_rings |
|
) |
| |
|
protected |
◆ isInRing()
bool BALL::RingAnalyser::isInRing |
( |
const Atom * |
atom, |
|
|
std::vector< Atom * > const & |
ring |
|
) |
| const |
helper-function; determines, whether an atom is part of a certain ring
- Parameters
-
atom | the atom |
ring | the ring |
- Returns
- true, if the atom is part of the ring, otherwise returns false
◆ isInRingSystem()
bool BALL::RingAnalyser::isInRingSystem |
( |
const Atom * |
atom, |
|
|
Index |
i |
|
) |
| const |
helper-function; determines, whether an atom is part of a certain ring
- Parameters
-
atom | the atom |
i | the index of the ring system to test |
- Returns
- true, if the atom is part of the ring system, otherwise returns false
◆ operator()()
◆ peelNextRing_()
bool BALL::RingAnalyser::peelNextRing_ |
( |
std::list< Position > & |
unassigned_rings, |
|
|
bool |
peel_fused = false |
|
) |
| |
|
protected |
◆ peelRings_()
void BALL::RingAnalyser::peelRings_ |
( |
| ) |
|
|
protected |
performs an analysis of the structure of a ringsystem
◆ sequenceRing()
void BALL::RingAnalyser::sequenceRing |
( |
std::vector< Atom * > & |
ring | ) |
|
Puts the Atoms in the input ring into the correct order
After calling this function, for i, i+1 it holds that atom i is bonded to atom i+1, and that the last is bonded to the first entry
- Parameters
-
ring | the input ring to sequence |
◆ start()
virtual bool BALL::RingAnalyser::start |
( |
| ) |
|
|
virtual |
◆ peeling_order_
std::vector<std::vector<Position> > BALL::RingAnalyser::peeling_order_ |
|
protected |
the order in which rings are peeled from their respective ring systems
Definition at line 192 of file ringAnalyser.h.
◆ ring_systems_
std::vector<std::vector<Position> > BALL::RingAnalyser::ring_systems_ |
|
protected |
the ring systems, stored as indices into the smallest set of smallest rings
Definition at line 186 of file ringAnalyser.h.
◆ rings_
std::vector<Ring> BALL::RingAnalyser::rings_ |
|
protected |
the smallest set of smallest rings of our molecule
Definition at line 183 of file ringAnalyser.h.
◆ rings_per_bond_