FOX/ObjCryst++
1.10.X (development)

Abstract base Stretch Mode for Molecule objects. More...
Public Member Functions  
virtual void  CalcDeriv (const bool derivllk=true) const =0 
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 =0 
Print oneline list of atoms moved.  
virtual void  Stretch (const REAL change, const bool keepCenter=true)=0 
Move the atoms according to this mode.  
virtual void  RandomStretch (const REAL amplitude, const bool keepCenter=true)=0 
Move the atoms according to this mode, randomly.  
Public Attributes  
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...  
Abstract base Stretch Mode for Molecule objects.
Definition at line 520 of file Molecule.h.

pure 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. 
Implemented in ObjCryst::StretchModeTwist, ObjCryst::StretchModeTorsion, ObjCryst::StretchModeBondAngle, and ObjCryst::StretchModeBondLength.
REAL ObjCryst::StretchMode::mBaseAmplitude 
The recommended change amplitude, for a base global optimization displacement, to obtain an average 0.1 Angstroem displacement.
This is learnt at the beginning of an optimization.
This can be superseeded to respect any restraint.
Definition at line 560 of file Molecule.h.