Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 247b28499c443e092731ffba814075f2 > files > 538

mpqc-html-2.3.1-9mdv2010.0.i586.rpm

<!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::PointGroup 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&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;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&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><b>sc</b>::<a class="el" href="classsc_1_1PointGroup.html">PointGroup</a>
  </div>
</div>
<div class="contents">
<h1>sc::PointGroup Class Reference</h1><!-- doxytag: class="sc::PointGroup" --><!-- doxytag: inherits="sc::SavableState" -->The <a class="el" href="classsc_1_1PointGroup.html" title="The PointGroup class is really a place holder for a CharacterTable.">PointGroup</a> class is really a place holder for a <a class="el" href="classsc_1_1CharacterTable.html" title="The CharacterTable class provides a workable character table for all of the non-cubic...">CharacterTable</a>.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="pointgrp_8h_source.html">pointgrp.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for sc::PointGroup:</div>
<div class="dynsection">

<p><center><img src="classsc_1_1PointGroup.png" usemap="#sc::PointGroup_map" border="0" alt=""></center>
<map name="sc::PointGroup_map">
<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_1PointGroup-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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PointGroup.html#90bb1ffee63b5fe1fb0e607f36a96c44">PointGroup</a> (const char *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This constructor takes a string containing the Schoenflies symbol of the point group as its only argument.  <a href="#90bb1ffee63b5fe1fb0e607f36a96c44"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PointGroup.html#314793609fa8f366a3fb8df0e01c3596">PointGroup</a> (const char *, <a class="el" href="classsc_1_1SymmetryOperation.html">SymmetryOperation</a> &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Like the above, but this constructor also takes a frame of reference as an argument.  <a href="#314793609fa8f366a3fb8df0e01c3596"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PointGroup.html#e6ecb001fc4066899169009d6d5c24e4">PointGroup</a> (const char *, <a class="el" href="classsc_1_1SymmetryOperation.html">SymmetryOperation</a> &amp;, const SCVector3 &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Like the above, but this constructor also takes a point of origin as an argument.  <a href="#e6ecb001fc4066899169009d6d5c24e4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PointGroup.html#e30c5195e4c20600a98f0388e2f2ad76">PointGroup</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1KeyVal.html">KeyVal</a> &gt; &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The <a class="el" href="classsc_1_1PointGroup.html" title="The PointGroup class is really a place holder for a CharacterTable.">PointGroup</a> <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 looks for three keywords: symmetry, symmetry_frame, and origin.  <a href="#e30c5195e4c20600a98f0388e2f2ad76"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="056090c83c92170042a0bbf09c05afb5"></a><!-- doxytag: member="sc::PointGroup::PointGroup" ref="056090c83c92170042a0bbf09c05afb5" args="(StateIn &amp;)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>PointGroup</b> (<a class="el" href="classsc_1_1StateIn.html">StateIn</a> &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8d07e32cfb07af704302ed1a443c396b"></a><!-- doxytag: member="sc::PointGroup::PointGroup" ref="8d07e32cfb07af704302ed1a443c396b" args="(const PointGroup &amp;)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>PointGroup</b> (const <a class="el" href="classsc_1_1PointGroup.html">PointGroup</a> &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="86280b3f18ee9f0684c9e468b90490a6"></a><!-- doxytag: member="sc::PointGroup::PointGroup" ref="86280b3f18ee9f0684c9e468b90490a6" args="(const Ref&lt; PointGroup &gt; &amp;)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>PointGroup</b> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1PointGroup.html">PointGroup</a> &gt; &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="07aa77ae4e6f33a440f67cb513985156"></a><!-- doxytag: member="sc::PointGroup::operator=" ref="07aa77ae4e6f33a440f67cb513985156" args="(const PointGroup &amp;)" -->
<a class="el" href="classsc_1_1PointGroup.html">PointGroup</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classsc_1_1PointGroup.html">PointGroup</a> &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3a85fcda93d9bf5db6f388a9eee731c9"></a><!-- doxytag: member="sc::PointGroup::equiv" ref="3a85fcda93d9bf5db6f388a9eee731c9" args="(const Ref&lt; PointGroup &gt; &amp;, double tol=1.0e&#45;6) const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PointGroup.html#3a85fcda93d9bf5db6f388a9eee731c9">equiv</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1PointGroup.html">PointGroup</a> &gt; &amp;, double tol=1.0e-6) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns 1 if the point groups are equivalent, 0 otherwise. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="db21d45c868c871fe1c930cddb3a64f1"></a><!-- doxytag: member="sc::PointGroup::char_table" ref="db21d45c868c871fe1c930cddb3a64f1" args="() const " -->
<a class="el" href="classsc_1_1CharacterTable.html">CharacterTable</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PointGroup.html#db21d45c868c871fe1c930cddb3a64f1">char_table</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the <a class="el" href="classsc_1_1CharacterTable.html" title="The CharacterTable class provides a workable character table for all of the non-cubic...">CharacterTable</a> for this point group. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="00824661f789d24edb7be3cef5cb2e5f"></a><!-- doxytag: member="sc::PointGroup::symbol" ref="00824661f789d24edb7be3cef5cb2e5f" args="() const " -->
const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PointGroup.html#00824661f789d24edb7be3cef5cb2e5f">symbol</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Schoenflies symbol for this point group. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ecfb7357db1a806b8f899d62ca35722a"></a><!-- doxytag: member="sc::PointGroup::symm_frame" ref="ecfb7357db1a806b8f899d62ca35722a" args="()" -->
<a class="el" href="classsc_1_1SymmetryOperation.html">SymmetryOperation</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PointGroup.html#ecfb7357db1a806b8f899d62ca35722a">symm_frame</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the frame of reference for this point group. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cfb42268ff554f0f1e635233feed2e90"></a><!-- doxytag: member="sc::PointGroup::symm_frame" ref="cfb42268ff554f0f1e635233feed2e90" args="() const " -->
const <a class="el" href="classsc_1_1SymmetryOperation.html">SymmetryOperation</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PointGroup.html#cfb42268ff554f0f1e635233feed2e90">symm_frame</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A const version of the above. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3e3a2ce705e36bb0c3630a75f4cfb5a7"></a><!-- doxytag: member="sc::PointGroup::origin" ref="3e3a2ce705e36bb0c3630a75f4cfb5a7" args="()" -->
SCVector3 &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PointGroup.html#3e3a2ce705e36bb0c3630a75f4cfb5a7">origin</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the origin of the symmetry frame. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d0d9c520e576091d801d37135890e3e8"></a><!-- doxytag: member="sc::PointGroup::origin" ref="d0d9c520e576091d801d37135890e3e8" args="() const " -->
const SCVector3 &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>origin</b> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3a6c43b4d0d2e2386af729986599d7f5"></a><!-- doxytag: member="sc::PointGroup::set_symbol" ref="3a6c43b4d0d2e2386af729986599d7f5" args="(const char *)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PointGroup.html#3a6c43b4d0d2e2386af729986599d7f5">set_symbol</a> (const char *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets (or resets) the Schoenflies symbol. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PointGroup.html#b5e0c66d132639bbf052ddec860085b7">save_data_state</a> (<a class="el" href="classsc_1_1StateOut.html">StateOut</a> &amp;so)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save the base classes (with save_data_state) and the members in the same order that the <a class="el" href="classsc_1_1StateIn.html" title="Restores objects that derive from SavableState.">StateIn</a> CTOR initializes them.  <a href="#b5e0c66d132639bbf052ddec860085b7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="884571374bccb264f013423982ac69ba"></a><!-- doxytag: member="sc::PointGroup::print" ref="884571374bccb264f013423982ac69ba" args="(std::ostream &amp;o=ExEnv::out0()) const " -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PointGroup.html#884571374bccb264f013423982ac69ba">print</a> (std::ostream &amp;o=ExEnv::out0()) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print the object. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The <a class="el" href="classsc_1_1PointGroup.html" title="The PointGroup class is really a place holder for a CharacterTable.">PointGroup</a> class is really a place holder for a <a class="el" href="classsc_1_1CharacterTable.html" title="The CharacterTable class provides a workable character table for all of the non-cubic...">CharacterTable</a>. 
<p>
It contains a string representation of the Schoenflies symbol of a point group, a frame of reference for the symmetry operation transformation matrices, and a point of origin. The origin is not respected by the symmetry operations, so if you want to use a point group with a nonzero origin, first translate all your coordinates to the origin and then set the origin to zero. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="90bb1ffee63b5fe1fb0e607f36a96c44"></a><!-- doxytag: member="sc::PointGroup::PointGroup" ref="90bb1ffee63b5fe1fb0e607f36a96c44" args="(const char *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sc::PointGroup::PointGroup           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This constructor takes a string containing the Schoenflies symbol of the point group as its only argument. 
<p>

</div>
</div><p>
<a class="anchor" name="314793609fa8f366a3fb8df0e01c3596"></a><!-- doxytag: member="sc::PointGroup::PointGroup" ref="314793609fa8f366a3fb8df0e01c3596" args="(const char *, SymmetryOperation &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sc::PointGroup::PointGroup           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1SymmetryOperation.html">SymmetryOperation</a> &amp;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Like the above, but this constructor also takes a frame of reference as an argument. 
<p>

</div>
</div><p>
<a class="anchor" name="e6ecb001fc4066899169009d6d5c24e4"></a><!-- doxytag: member="sc::PointGroup::PointGroup" ref="e6ecb001fc4066899169009d6d5c24e4" args="(const char *, SymmetryOperation &amp;, const SCVector3 &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sc::PointGroup::PointGroup           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1SymmetryOperation.html">SymmetryOperation</a> &amp;&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const SCVector3 &amp;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Like the above, but this constructor also takes a point of origin as an argument. 
<p>

</div>
</div><p>
<a class="anchor" name="e30c5195e4c20600a98f0388e2f2ad76"></a><!-- doxytag: member="sc::PointGroup::PointGroup" ref="e30c5195e4c20600a98f0388e2f2ad76" args="(const Ref&lt; KeyVal &gt; &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sc::PointGroup::PointGroup           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1KeyVal.html">KeyVal</a> &gt; &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The <a class="el" href="classsc_1_1PointGroup.html" title="The PointGroup class is really a place holder for a CharacterTable.">PointGroup</a> <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 looks for three keywords: symmetry, symmetry_frame, and origin. 
<p>
symmetry is a string containing the Schoenflies symbol of the point group. origin is an array of doubles which gives the x, y, and z coordinates of the origin of the symmetry frame. symmetry_frame is a 3 by 3 array of arrays of doubles which specify the principal axes for the transformation matrices as a unitary rotation.<p>
For example, a simple input which will use the default origin and symmetry_frame ((0,0,0) and the unit matrix, respectively), might look like this:<p>
<pre>
       pointgrp&lt;PointGroup&gt;: (
         symmetry = "c2v"
       )
       </pre><p>
By default, the principal rotation axis is taken to be the z axis. If you already have a set of coordinates which assume that the rotation axis is the x axis, then you'll have to rotate your frame of reference with symmetry_frame:<p>
<pre>
       pointgrp&lt;PointGroup&gt;: (
         symmetry = "c2v"
         symmetry_frame = [
           [ 0 0 1 ]
           [ 0 1 0 ]
           [ 1 0 0 ]
         ]
       )
       </pre> 
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="b5e0c66d132639bbf052ddec860085b7"></a><!-- doxytag: member="sc::PointGroup::save_data_state" ref="b5e0c66d132639bbf052ddec860085b7" args="(StateOut &amp;so)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sc::PointGroup::save_data_state           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc_1_1StateOut.html">StateOut</a> &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Save the base classes (with save_data_state) and the members in the same order that the <a class="el" href="classsc_1_1StateIn.html" title="Restores objects that derive from SavableState.">StateIn</a> CTOR initializes them. 
<p>
This must be implemented by the derived class if the class has data. 
<p>Reimplemented from <a class="el" href="classsc_1_1SavableState.html#f9e0c212322d3c0f43e2dcb33e111acf">sc::SavableState</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="pointgrp_8h_source.html">pointgrp.h</a></ul>
</div>
<hr>
<address>
<small>

Generated at Wed Oct 14 14:12:16 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>