FOX/ObjCryst++
1.10.X (development)
|
Dihedral angle restraint between 4 atoms. More...
Public Member Functions | |
MolDihedralAngle (MolAtom &atom1, MolAtom &atom2, MolAtom &atom3, MolAtom &atom4, const REAL angle, const REAL sigma, const REAL delta, Molecule &parent) | |
Constructor. More... | |
virtual | ~MolDihedralAngle () |
Destructor. More... | |
const Molecule & | GetMolecule () const |
Molecule & | GetMolecule () |
string | GetName () const |
virtual void | XMLOutput (ostream &os, int indent=0) const |
virtual void | XMLInput (istream &is, const XMLCrystTag &tag) |
virtual REAL | GetLogLikelihood () const |
Get -ln(likelihood) for this restraint. | |
REAL | GetLogLikelihood (const bool calcDeriv, const bool recalc) const |
REAL | GetDeriv (const std::map< const MolAtom *, XYZ > &m, const bool llk=false) const |
Get the derivative of the Angle, given the derivatives of the atom positions This requires that GetLogLikelihood(calcDeriv=true) be called first If llk=true, this will return the derivative of the llk rather than the derivative of the length or angle. | |
void | CalcGradient (std::map< MolAtom *, XYZ > &m) const |
Calc log(likelihood) gradient - versus all atomic coordinates. More... | |
REAL | GetAngle () const |
REAL & | Angle0 () |
REAL & | AngleDelta () |
REAL & | AngleSigma () |
REAL | GetAngle0 () const |
REAL | GetAngleDelta () const |
REAL | GetAngleSigma () const |
void | SetAngle0 (const REAL angle) |
void | SetAngleDelta (const REAL delta) |
void | SetAngleSigma (const REAL sigma) |
const MolAtom & | GetAtom1 () const |
const MolAtom & | GetAtom2 () const |
const MolAtom & | GetAtom3 () const |
const MolAtom & | GetAtom4 () const |
void | SetAtom1 (MolAtom &at) |
void | SetAtom2 (MolAtom &at) |
void | SetAtom3 (MolAtom &at) |
void | SetAtom4 (MolAtom &at) |
MolAtom & | GetAtom1 () |
MolAtom & | GetAtom2 () |
MolAtom & | GetAtom3 () |
MolAtom & | GetAtom4 () |
Public Member Functions inherited from ObjCryst::Restraint | |
Restraint () | |
Default constructor, sets RefParType to gpRefParTypeObjCryst. | |
Restraint (const RefParType *type) | |
constructor specifying the type | |
virtual const RefParType * | GetType () const |
virtual void | SetType (const RefParType *type) |
Private Attributes | |
vector< MolAtom * > | mvpAtom |
The vector of the 4 atoms involved in the bond angle. | |
REAL | mAngle0 |
REAL | mDelta |
REAL | mSigma |
Molecule * | mpMol |
Parent Molecule. | |
REAL | mLLK |
Stored log(likelihood) | |
XYZ | mDerivAtom1 |
Partial derivatives of the angle with respect to the coordinates of the atoms. More... | |
XYZ | mDerivAtom2 |
XYZ | mDerivAtom3 |
XYZ | mDerivAtom4 |
REAL | mDerivLLKCoeff |
The factor used to change the derivative of the length/angle, to the derivative of the log(likelihood). More... | |
Dihedral angle restraint between 4 atoms.
The atoms involved need not be bonded.
Definition at line 346 of file Molecule.h.
ObjCryst::MolDihedralAngle::MolDihedralAngle | ( | MolAtom & | atom1, |
MolAtom & | atom2, | ||
MolAtom & | atom3, | ||
MolAtom & | atom4, | ||
const REAL | angle, | ||
const REAL | sigma, | ||
const REAL | delta, | ||
Molecule & | parent | ||
) |
Constructor.
Definition at line 930 of file Molecule.cpp.
|
virtual |
Destructor.
Definition at line 951 of file Molecule.cpp.
Calc log(likelihood) gradient - versus all atomic coordinates.
m | this map should have been initialized by adding all possible atom pointers as keys, with all XYZ values equal to zeros. On return, the derivative of the log(likelihood) vs each atomic coordinates will added to each coordinate of the corresponding atoms. |
Definition at line 1213 of file Molecule.cpp.
|
mutableprivate |
Partial derivatives of the angle with respect to the coordinates of the atoms.
The derivatives are calculated in MolBondAngle::GetLogLikelihood(true)
Definition at line 413 of file Molecule.h.
|
mutableprivate |
The factor used to change the derivative of the length/angle, to the derivative of the log(likelihood).
e.g. (for mDelta=0)
Definition at line 417 of file Molecule.h.