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

ObjCryst::StretchModeBondAngle Struct Reference

Atoms moved when changing a bond angle. More...

Inheritance diagram for ObjCryst::StretchModeBondAngle:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 StretchModeBondAngle (MolAtom &at0, MolAtom &at1, MolAtom &at2, const MolBondAngle *pBondAngle)
 Constructor If pBondAngle!=0, the bond angle length restraint is respected.

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

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

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

virtual void RandomStretch (const REAL amplitude)
 Move the atoms according to this mode, randomly.


Public Attributes

MolAtommpAtom0
 The first atom.

MolAtommpAtom1
 The second atom.

MolAtommpAtom2
 The third atom.

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

set< MolAtom * > mvRotatedAtomList
 The set of atoms that are to be rotated around the direction going through at1 and perpendicular to the at0-at1-at2 plane.


Detailed Description

Atoms moved when changing a bond angle.

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


Constructor & Destructor Documentation

ObjCryst::StretchModeBondAngle::StretchModeBondAngle MolAtom at0,
MolAtom at1,
MolAtom at2,
const MolBondAngle pBondAngle
 

Constructor If pBondAngle!=0, the bond angle length restraint is respected.

virtual ObjCryst::StretchModeBondAngle::~StretchModeBondAngle  )  [virtual]
 


Member Function Documentation

virtual void ObjCryst::StretchModeBondAngle::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:
derivllk: if false, the derivative of the overall llk will not be computed, only the derivative of the atomic positions.

Implements ObjCryst::StretchMode.

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

Print one-line list of atoms moved.

Implements ObjCryst::StretchMode.

virtual void ObjCryst::StretchModeBondAngle::RandomStretch const REAL  amplitude  )  [virtual]
 

Move the atoms according to this mode, randomly.

Implements ObjCryst::StretchMode.

virtual void ObjCryst::StretchModeBondAngle::Stretch const REAL  change  )  [virtual]
 

Move the atoms according to this mode.

Implements ObjCryst::StretchMode.


Member Data Documentation

MolAtom* ObjCryst::StretchModeBondAngle::mpAtom0
 

The first atom.

MolAtom* ObjCryst::StretchModeBondAngle::mpAtom1
 

The second atom.

MolAtom* ObjCryst::StretchModeBondAngle::mpAtom2
 

The third atom.

const MolBondAngle* ObjCryst::StretchModeBondAngle::mpBondAngle
 

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

set<MolAtom *> ObjCryst::StretchModeBondAngle::mvRotatedAtomList
 

The set of atoms that are to be rotated around the direction going through at1 and perpendicular to the at0-at1-at2 plane.


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