Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

ObjCryst::Molecule::FlipGroup Struct Reference

When 3(A1..1n) or more atoms are connected to a same atom A, it defines a 'flip' group, where it is possible to rotate bonds to their symmetric with respect to one plane defined by atoms Ai-A-Aj. More...

Collaboration diagram for ObjCryst::Molecule::FlipGroup:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 FlipGroup (const MolAtom &at0, const MolAtom &at1, const MolAtom &at2)
 Constructor, with the central atom.


Public Attributes

const MolAtommpAtom0
 The atom which is an asymmetric center.

const MolAtommpAtom1
 The first atom defining the rotation axis.

const MolAtommpAtom2
 The second atom defining the rotation axis.

list< pair< const MolAtom *,
set< MolAtom * > > > 
mvRotatedChainList
 The set of atoms that are to be rotated during the flip.

unsigned long mNbTest
 Number of times this flip has been tried, and the number of times it has been accepted.

unsigned long mNbAccept
 Number of times this flip has been tried, and the number of times it has been accepted.


Detailed Description

When 3(A1..1n) or more atoms are connected to a same atom A, it defines a 'flip' group, where it is possible to rotate bonds to their symmetric with respect to one plane defined by atoms Ai-A-Aj.

This is useful to flip the absolute configuration for asymmetric centers. Note that the bond is only rotated, so that the entire group is not mirrored (no absolute configuration is broken in the group).

Also, a FlipGroup can correspond to a 180° rotation exchanging Ai and Aj (rotating the two chains around the bissecting angle of bonds A-Ai and A-Aj)


Constructor & Destructor Documentation

ObjCryst::Molecule::FlipGroup::FlipGroup const MolAtom at0,
const MolAtom at1,
const MolAtom at2
 

Constructor, with the central atom.


Member Data Documentation

unsigned long ObjCryst::Molecule::FlipGroup::mNbAccept [mutable]
 

Number of times this flip has been tried, and the number of times it has been accepted.

Used in Molecule::GlobalOptRandomMove, to avoid flips that break some restraint (and deciding which flips break some restraint is difficult before having a real conformation).

unsigned long ObjCryst::Molecule::FlipGroup::mNbTest [mutable]
 

Number of times this flip has been tried, and the number of times it has been accepted.

Used in Molecule::GlobalOptRandomMove, to avoid flips that break some restraint (and deciding which flips break some restraint is difficult before having a real conformation).

const MolAtom* ObjCryst::Molecule::FlipGroup::mpAtom0
 

The atom which is an asymmetric center.

const MolAtom* ObjCryst::Molecule::FlipGroup::mpAtom1
 

The first atom defining the rotation axis.

const MolAtom* ObjCryst::Molecule::FlipGroup::mpAtom2
 

The second atom defining the rotation axis.

list<pair<const MolAtom *,set<MolAtom *> > > ObjCryst::Molecule::FlipGroup::mvRotatedChainList
 

The set of atoms that are to be rotated during the flip.

The first atom is the one bonded to the central atom, whose bond will be flipped with respect to the plane defined by (at1,at0,at2).

However, if this atom is identical to mpAtom0, then this indicates that a 180° rotation exchanging atom1 and atom2 is to be performed.


The documentation for this struct was generated from the following file:
Generated on Tue Nov 14 15:04:23 2006 for ObjCryst++ by doxygen 1.3.6