FOX/ObjCryst++
1.10.X (development)
|
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...
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 | |
MolAtom * | mpAtom1 |
The first atom. | |
MolAtom * | mpAtom2 |
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 *, XYZ > | mDerivXYZ |
Derivative of the atomic positions versus a change of the bond length. | |
Molecule * | mpMol |
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... | |
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.
|
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.
derivllk | if 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.