<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>MPQC: sc::LinIPSimpleCo Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><b>sc</b>::<a class="el" href="classsc_1_1LinIPSimpleCo.html">LinIPSimpleCo</a> </div> </div> <div class="contents"> <h1>sc::LinIPSimpleCo Class Reference</h1><!-- doxytag: class="sc::LinIPSimpleCo" --><!-- doxytag: inherits="sc::SimpleCo" -->The <a class="el" href="classsc_1_1LinIPSimpleCo.html" title="The LinIPSimpleCo class describes an in-plane component of a linear bend internal...">LinIPSimpleCo</a> class describes an in-plane component of a linear bend internal coordinate of a molecule. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="simple_8h_source.html">simple.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for sc::LinIPSimpleCo:</div> <div class="dynsection"> <p><center><img src="classsc_1_1LinIPSimpleCo.png" usemap="#sc::LinIPSimpleCo_map" border="0" alt=""></center> <map name="sc::LinIPSimpleCo_map"> <area href="classsc_1_1SimpleCo.html" alt="sc::SimpleCo" shape="rect" coords="0,280,120,304"> <area href="classsc_1_1IntCoor.html" alt="sc::IntCoor" shape="rect" coords="0,224,120,248"> <area href="classsc_1_1SavableState.html" alt="sc::SavableState" shape="rect" coords="0,168,120,192"> <area href="classsc_1_1DescribedClass.html" alt="sc::DescribedClass" shape="rect" coords="0,112,120,136"> <area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="0,56,120,80"> <area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="0,0,120,24"> </map> </div> <p> <a href="classsc_1_1LinIPSimpleCo-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8e2d3bb5661f225bf6c157459ac9653d"></a><!-- doxytag: member="sc::LinIPSimpleCo::LinIPSimpleCo" ref="8e2d3bb5661f225bf6c157459ac9653d" args="(const LinIPSimpleCo &)" --> </td><td class="memItemRight" valign="bottom"><b>LinIPSimpleCo</b> (const <a class="el" href="classsc_1_1LinIPSimpleCo.html">LinIPSimpleCo</a> &)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1LinIPSimpleCo.html#fed31a1726edf7ceb5330db0ddbd0d4d">LinIPSimpleCo</a> (const char *refr, int, int, int, const SCVector3 &u)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This constructor takes a string containing a label, and three integers a, b, and d which give the indices of the atoms involved in the linear angle abc. <a href="#fed31a1726edf7ceb5330db0ddbd0d4d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1LinIPSimpleCo.html#31a3a77e45a91eecceffc53471352593">LinIPSimpleCo</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1KeyVal.html">KeyVal</a> > &)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classsc_1_1KeyVal.html" title="The KeyVal class is designed to simplify the process of allowing a user to specify...">KeyVal</a> constructor. <a href="#31a3a77e45a91eecceffc53471352593"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3a746f011141d937413f12e2193a3105"></a><!-- doxytag: member="sc::LinIPSimpleCo::ctype" ref="3a746f011141d937413f12e2193a3105" args="() const " --> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1LinIPSimpleCo.html#3a746f011141d937413f12e2193a3105">ctype</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Always returns the string "LINIP". <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bee4fbcc18b8fb176f248be6f3b885fc"></a><!-- doxytag: member="sc::LinIPSimpleCo::radians" ref="bee4fbcc18b8fb176f248be6f3b885fc" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1LinIPSimpleCo.html#bee4fbcc18b8fb176f248be6f3b885fc">radians</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the value of the angle abc in radians. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f29b66f53cd9cd852cccddbaa206ec3c"></a><!-- doxytag: member="sc::LinIPSimpleCo::degrees" ref="f29b66f53cd9cd852cccddbaa206ec3c" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1LinIPSimpleCo.html#f29b66f53cd9cd852cccddbaa206ec3c">degrees</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the value of the angle abc in degrees. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0dd21e5bf7da2f21f465950c9d2e334b"></a><!-- doxytag: member="sc::LinIPSimpleCo::preferred_value" ref="0dd21e5bf7da2f21f465950c9d2e334b" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1LinIPSimpleCo.html#0dd21e5bf7da2f21f465950c9d2e334b">preferred_value</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the value of the angle abc in degrees. <br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The <a class="el" href="classsc_1_1LinIPSimpleCo.html" title="The LinIPSimpleCo class describes an in-plane component of a linear bend internal...">LinIPSimpleCo</a> class describes an in-plane component of a linear bend internal coordinate of a molecule. <p> The input is described in the documentation of its parent class <a class="el" href="classsc_1_1SimpleCo.html" title="The SimpleCo abstract class describes a simple internal coordinate of a molecule...">SimpleCo</a>. A vector, <img class="formulaInl" alt="$\bar{u}$" src="form_36.png">, given as the keyword u, that is not colinear with either <img class="formulaInl" alt="$\bar{r}_a - \bar{r}_b$" src="form_37.png"> or <img class="formulaInl" alt="$\bar{r}_b - \bar{r}_c$" src="form_38.png"> must be provided, where <img class="formulaInl" alt="$\bar{r}_a$" src="form_13.png">, <img class="formulaInl" alt="$\bar{r}_b$" src="form_14.png">, and <img class="formulaInl" alt="$\bar{r}_c$" src="form_18.png"> are the positions of the first, second, and third atoms, respectively.<p> Usually, <a class="el" href="classsc_1_1LinIPSimpleCo.html" title="The LinIPSimpleCo class describes an in-plane component of a linear bend internal...">LinIPSimpleCo</a> is used with a corresponding <a class="el" href="classsc_1_1LinOPSimpleCo.html" title="The LinOPSimpleCo class describes an out-of-plane component of a linear bend internal...">LinOPSimpleCo</a>, which is given exactly the same u.<p> Designating the three atoms as <img class="formulaInl" alt="$a$" src="form_11.png">, <img class="formulaInl" alt="$b$" src="form_12.png">, and <img class="formulaInl" alt="$c$" src="form_17.png"> and their cartesian positions as <img class="formulaInl" alt="$\bar{r}_a$" src="form_13.png">, <img class="formulaInl" alt="$\bar{r}_b$" src="form_14.png">, and <img class="formulaInl" alt="$\bar{r}_c$" src="form_18.png">, the value of the coordinate, <img class="formulaInl" alt="$\theta_i$" src="form_39.png">, is given by<p> <p class="formulaDsp"> <img class="formulaDsp" alt="\[ \bar{u}_{ab} = \frac{\bar{r}_a - \bar{r}_b}{\| \bar{r}_a - \bar{r}_b \|}\]" src="form_20.png"> <p> <p class="formulaDsp"> <img class="formulaDsp" alt="\[ \bar{u}_{cb} = \frac{\bar{r}_b - \bar{r}_c}{\| \bar{r}_c - \bar{r}_b \|}\]" src="form_40.png"> <p> <p class="formulaDsp"> <img class="formulaDsp" alt="\[ \theta_i = \pi - \arccos ( \bar{u}_{ab} \cdot \bar{u} ) - \arccos ( \bar{u}_{cb} \cdot \bar{u} )\]" src="form_41.png"> <p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="fed31a1726edf7ceb5330db0ddbd0d4d"></a><!-- doxytag: member="sc::LinIPSimpleCo::LinIPSimpleCo" ref="fed31a1726edf7ceb5330db0ddbd0d4d" args="(const char *refr, int, int, int, const SCVector3 &u)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">sc::LinIPSimpleCo::LinIPSimpleCo </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>refr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const SCVector3 & </td> <td class="paramname"> <em>u</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> This constructor takes a string containing a label, and three integers a, b, and d which give the indices of the atoms involved in the linear angle abc. <p> The last argument, u, is a unit vector used to defined the direction in which distortion is measured. Atom numbering begins at atom 1, not atom 0. </div> </div><p> <a class="anchor" name="31a3a77e45a91eecceffc53471352593"></a><!-- doxytag: member="sc::LinIPSimpleCo::LinIPSimpleCo" ref="31a3a77e45a91eecceffc53471352593" args="(const Ref< KeyVal > &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">sc::LinIPSimpleCo::LinIPSimpleCo </td> <td>(</td> <td class="paramtype">const <a class="el" href="classsc_1_1Ref.html">Ref</a>< <a class="el" href="classsc_1_1KeyVal.html">KeyVal</a> > & </td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> The <a class="el" href="classsc_1_1KeyVal.html" title="The KeyVal class is designed to simplify the process of allowing a user to specify...">KeyVal</a> constructor. <p> This calls the <a class="el" href="classsc_1_1SimpleCo.html" title="The SimpleCo abstract class describes a simple internal coordinate of a molecule...">SimpleCo</a> keyval constructor with an integer argument of 3. </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="simple_8h_source.html">simple.h</a></ul> </div> <hr> <address> <small> Generated at Wed Oct 14 14:12:13 2009 for <a href="http://www.mpqc.org">MPQC</a> 2.3.1 using the documentation package <a href="http://www.doxygen.org">Doxygen</a> 1.5.9. </small> </address> </body> </html>