FOX/ObjCryst++  1.10.X (development)
ObjCryst::StretchModeTwist Struct Reference

Atoms moved between two other atoms, using a "twist" of their positions - only small twists of their positions are allowed to avoid breaking restraints too much. More...

+ Inheritance diagram for ObjCryst::StretchModeTwist:
+ Collaboration diagram for ObjCryst::StretchModeTwist:

Public Member Functions

 StretchModeTwist (MolAtom &at1, MolAtom &at2)
 Constructor If pDihedralAngle!=0, the dihedral angle length restraint is respected.
 
virtual void CalcDeriv (const bool derivllk=true) const
 Calculate the derivative of the Molecule's Log(likelihood) and atomic positions versus a change of the bond length. More...
 
virtual void Print (ostream &os, bool full=true) const
 Print one-line list of atoms moved.
 
virtual void Stretch (const REAL change, const bool keepCenter=true)
 Move the atoms according to this mode.
 
virtual void RandomStretch (const REAL amplitude, const bool keepCenter=true)
 Move the atoms according to this mode, randomly.
 

Public Attributes

MolAtommpAtom1
 The first atom.
 
MolAtommpAtom2
 The second atom.
 
set< MolAtom * > mvRotatedAtomList
 The set of atoms that are to be rotated around at1-at2.
 
- Public Attributes inherited from ObjCryst::StretchMode
std::map< const MolBond *, REAL > mvpBrokenBond
 List of bond restraints affected by this mode The key is the restraint, the value is the derivative of the LLK associated.
 
std::map< const MolBondAngle
*, REAL > 
mvpBrokenBondAngle
 List of bond angle restraints modified by this mode The key is the restraint, the value is the derivative of the LLK associated.
 
std::map< const
MolDihedralAngle *, REAL > 
mvpBrokenDihedralAngle
 List of dihedral angle restraints modified by this mode The key is the restraint, the value is the derivative of the LLK associated.
 
REAL mLLKDeriv
 Derivative of the Molecule's Log(likelihood) versus a change of the bond length.
 
std::map< const MolAtom *, XYZmDerivXYZ
 Derivative of the atomic positions versus a change of the bond length.
 
MoleculempMol
 The Molecule corresponding to this stretch mode.
 
REAL mBaseAmplitude
 The recommended change amplitude, for a base global optimization displacement, to obtain an average 0.1 Angstroem displacement. More...
 

Detailed Description

Atoms moved between two other atoms, using a "twist" of their positions - only small twists of their positions are allowed to avoid breaking restraints too much.

Also, the atoms in the middle between the two reference atoms are more displaced than the one closer, to help avoid breaking restraints.

Definition at line 658 of file Molecule.h.

Member Function Documentation

void ObjCryst::StretchModeTwist::CalcDeriv ( const bool  derivllk = true) const
virtual

Calculate the derivative of the Molecule's Log(likelihood) and atomic positions versus a change of the bond length.

The result is stored in mLLKDeriv and mLLKDerivXYZ, as well as in the various lists of restraints broken by this mode.

Parameters
derivllkif false, the derivative of the overall llk will not be computed, only the derivative of the atomic positions.

Implements ObjCryst::StretchMode.

Definition at line 1775 of file Molecule.cpp.


The documentation for this struct was generated from the following files: