sc::TorsSimpleCo Class Reference

The TorsSimpleCo class describes an torsion internal coordinate of a molecule. More...

#include <simple.h>

Inheritance diagram for sc::TorsSimpleCo:

sc::SimpleCo sc::IntCoor sc::SavableState sc::DescribedClass sc::RefCount sc::Identity List of all members.

Public Member Functions

 TorsSimpleCo (const TorsSimpleCo &)
 TorsSimpleCo (const char *refr, int, int, int, int)
 This constructor takes a string containing a label, and four integers a, b, c, and d which give the indices of the atoms involved in the torsion angle abcd.
 TorsSimpleCo (const Ref< KeyVal > &)
 The KeyVal constructor.
const char * ctype () const
 Always returns the string "TORS".
double radians () const
 Returns the value of the angle abc in radians.
double degrees () const
 Returns the value of the angle abc in degrees.
double preferred_value () const
 Returns the value of the angle abc in degrees.

Detailed Description

The TorsSimpleCo class describes an torsion internal coordinate of a molecule.

The input is described in the documentation of its parent class SimpleCo.

Designating the four atoms as $a$, $b$, $c$, and $d$ and their cartesian positions as $\bar{r}_a$, $\bar{r}_b$, $\bar{r}_c$, and $\bar{r}_d$, the value of the coordinate, $\tau$, is given by

\[ \bar{u}_{ab} = \frac{\bar{r}_a - \bar{r}_b}{\| \bar{r}_a - \bar{r}_b \|}\]

\[ \bar{u}_{cb} = \frac{\bar{r}_c - \bar{r}_b}{\| \bar{r}_c - \bar{r}_b \|}\]

\[ \bar{u}_{cd} = \frac{\bar{r}_c - \bar{r}_d}{\| \bar{r}_c - \bar{r}_b \|}\]

\[ \bar{n}_{abc}= \frac{\bar{u}_{ab} \times \bar{u}_{cb}} {\| \bar{u}_{ab} \times \bar{u}_{cb} \|} \]

\[ \bar{n}_{bcd}= \frac{\bar{u}_{cd} \times \bar{u}_{bc}} {\| \bar{u}_{cd} \times \bar{u}_{bc} \|} \]

\[ s = \left\{ \begin{array}{ll} 1 & \mbox{if $(\bar{n}_{abc}\times\bar{n}_{bcd}) \cdot \bar{u}_{cb} > 0;$} \\ -1 & \mbox{otherwise} \end{array} \right. \]

\[ \tau = s \arccos ( - \bar{n}_{abc} \cdot \bar{n}_{bcd} ) \]


Constructor & Destructor Documentation

sc::TorsSimpleCo::TorsSimpleCo ( const char *  refr,
int  ,
int  ,
int  ,
int   
)

This constructor takes a string containing a label, and four integers a, b, c, and d which give the indices of the atoms involved in the torsion angle abcd.

Atom numbering begins at atom 1, not atom 0.

sc::TorsSimpleCo::TorsSimpleCo ( const Ref< KeyVal > &   ) 

The KeyVal constructor.

This calls the SimpleCo keyval constructor with an integer argument of 4.


The documentation for this class was generated from the following file:
Generated at Mon Dec 3 23:23:48 2007 for MPQC 2.3.1 using the documentation package Doxygen 1.5.2.