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

Atoms moved when rotated around a bond at0-at1-at2-at3. More...

+ Inheritance diagram for ObjCryst::StretchModeTorsion:
+ Collaboration diagram for ObjCryst::StretchModeTorsion:

Public Member Functions

 StretchModeTorsion (MolAtom &at1, MolAtom &at2, const MolDihedralAngle *pDihedralAngle)
 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.
 
const MolDihedralAnglempDihedralAngle
 The (optional) bond angle restraint which this stretch mode should respect. More...
 
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 when rotated around a bond at0-at1-at2-at3.

This should be merged (or have an inheritance relation) with MolDihedralAngle

Definition at line 626 of file Molecule.h.

Member Function Documentation

void ObjCryst::StretchModeTorsion::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 1693 of file Molecule.cpp.

Member Data Documentation

const MolDihedralAngle* ObjCryst::StretchModeTorsion::mpDihedralAngle

The (optional) bond angle restraint which this stretch mode should respect.

The mpAtom1 and mpAtom2 must be the central atoms of this restraint.

Definition at line 647 of file Molecule.h.


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