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

ObjCryst::StretchMode Struct Reference

Abstract base Stretch Mode for Molecule objects. More...

Inheritance diagram for ObjCryst::StretchMode:

Inheritance graph
[legend]
Collaboration diagram for ObjCryst::StretchMode:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual ~StretchMode ()
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.

virtual void Print (ostream &os, bool full=true) const=0
 Print one-line list of atoms moved.

virtual void Stretch (const REAL change)=0
 Move the atoms according to this mode.

virtual void RandomStretch (const REAL amplitude)=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.

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.


Detailed Description

Abstract base Stretch Mode for Molecule objects.


Constructor & Destructor Documentation

virtual ObjCryst::StretchMode::~StretchMode  )  [virtual]
 


Member Function Documentation

virtual void ObjCryst::StretchMode::CalcDeriv const bool  derivllk = true  )  const [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.

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

Implemented in ObjCryst::StretchModeBondLength, ObjCryst::StretchModeBondAngle, ObjCryst::StretchModeTorsion, and ObjCryst::StretchModeTwist.

virtual void ObjCryst::StretchMode::Print ostream &  os,
bool  full = true
const [pure virtual]
 

Print one-line list of atoms moved.

Implemented in ObjCryst::StretchModeBondLength, ObjCryst::StretchModeBondAngle, ObjCryst::StretchModeTorsion, and ObjCryst::StretchModeTwist.

virtual void ObjCryst::StretchMode::RandomStretch const REAL  amplitude  )  [pure virtual]
 

Move the atoms according to this mode, randomly.

Implemented in ObjCryst::StretchModeBondLength, ObjCryst::StretchModeBondAngle, ObjCryst::StretchModeTorsion, and ObjCryst::StretchModeTwist.

virtual void ObjCryst::StretchMode::Stretch const REAL  change  )  [pure virtual]
 

Move the atoms according to this mode.

Implemented in ObjCryst::StretchModeBondLength, ObjCryst::StretchModeBondAngle, ObjCryst::StretchModeTorsion, and ObjCryst::StretchModeTwist.


Member Data Documentation

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.

std::map<const MolAtom*,XYZ> ObjCryst::StretchMode::mDerivXYZ [mutable]
 

Derivative of the atomic positions versus a change of the bond length.

REAL ObjCryst::StretchMode::mLLKDeriv [mutable]
 

Derivative of the Molecule's Log(likelihood) versus a change of the bond length.

Molecule* ObjCryst::StretchMode::mpMol
 

The Molecule corresponding to this stretch mode.

std::map<const MolBond*,REAL> ObjCryst::StretchMode::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> ObjCryst::StretchMode::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> ObjCryst::StretchMode::mvpBrokenDihedralAngle
 

List of dihedral angle restraints modified by this mode The key is the restraint, the value is the derivative of the LLK associated.


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