BALL::RingAnalyser Class Reference

class, providing methods for the analysis of the structure of ringsystems More...

#include <BALL/STRUCTURE/ringAnalyser.h>

List of all members.


Classes

struct  RingInfo

Public Types

enum  RingType {
  NONE, TEMPLATE, FUSED, BRIDGED,
  SPIRO, CORE
}

Public Member Functions

 RingAnalyser ()
 

Default-Constructor.


virtual ~RingAnalyser ()
 

Destructor.


std::vector< RingInfoanalyseRings (std::vector< std::vector< Atom * > > &ringsystem)
 

performs an anylsis of the structure of a ringsystem


bool isInRing (const Atom *atom, std::vector< Atom * > &ring)
 

helper-function; determines, whether an atom is part of a certain ring



Private Member Functions

bool checkRTD (std::vector< Atom * > &ring)
 

interface for a Ring Template Database (RTD), no functionality yet


RingType checkFusedOrBridged (vector< Atom * > &ring, vector< RingInfo > &ringset, bool &first_bridged_to_fused)
 

ckecks, if a ring is connected to the ringsystem in fused way, or bridged way


RingType checkSpiro (vector< Atom * > &ring, vector< RingInfo > &ringset)
 

ckecks, if a ring is connected to the ringsystem in spiro way



Detailed Description

class, providing methods for the analysis of the structure of ringsystems


Member Enumeration Documentation

Enumerator:
NONE 
TEMPLATE 
FUSED 
BRIDGED 
SPIRO 
CORE 

Constructor & Destructor Documentation

BALL::RingAnalyser::RingAnalyser (  ) 

Default-Constructor.

virtual BALL::RingAnalyser::~RingAnalyser (  )  [virtual]

Destructor.


Member Function Documentation

std::vector<RingInfo> BALL::RingAnalyser::analyseRings ( std::vector< std::vector< Atom * > > &  ringsystem  ) 

performs an anylsis of the structure of a ringsystem

Parameters:
ringsystem the ringsystem
Returns:
a vector of struct RingInfo, containing information about the way each ring is connected to the ringsystem
RingType BALL::RingAnalyser::checkFusedOrBridged ( vector< Atom * > &  ring,
vector< RingInfo > &  ringset,
bool first_bridged_to_fused 
) [private]

ckecks, if a ring is connected to the ringsystem in fused way, or bridged way

Parameters:
ring the ring, which is to be checked
ringset the ringsystem, which is to be checked
first_bridged_to_fused flag, determines whether the first (if there is one) bridged-ring of a system has already been found
Returns:
assignment (0 = none, 1 = template, 2 = fused, 3 = bridged, 4 = spiro, 5 = core)
bool BALL::RingAnalyser::checkRTD ( std::vector< Atom * > &  ring  )  [private]

interface for a Ring Template Database (RTD), no functionality yet

Parameters:
ring the ring, which is to be checked
Returns:
always returns false by now
RingType BALL::RingAnalyser::checkSpiro ( vector< Atom * > &  ring,
vector< RingInfo > &  ringset 
) [private]

ckecks, if a ring is connected to the ringsystem in spiro way

Parameters:
ring the ring, which is to be checked
ringset the ringsystem, which is to be checked
Returns:
assignment (0 = none, 1 = template, 2 = fused, 3 = bridged, 4 = spiro, 5 = core
bool BALL::RingAnalyser::isInRing ( const Atom atom,
std::vector< Atom * > &  ring 
)

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