<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta name="robots" content="noindex"> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>sc::PointGroup class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body bgcolor="#ffffff"> <!-- Generated by Doxygen 1.2.5 on Mon Oct 14 14:17:20 2002 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="pages.html">Related Pages</a> </center> <hr><h1>sc::PointGroup Class Reference</h1>The <a class="el" href="class_sc__PointGroup.html">PointGroup</a> class is really a place holder for a <a class="el" href="class_sc__CharacterTable.html">CharacterTable</a>. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="pointgrp_h-source.html">pointgrp.h</a>></code> <p> Inheritance diagram for sc::PointGroup<p><center><img src="class_sc__PointGroup_inherit_graph.gif" border="0" usemap="#sc::PointGroup_inherit_map" alt="Inheritance graph"></center> <map name="sc::PointGroup_inherit_map"> <area href="class_sc__SavableState.html" shape="rect" coords="21,214,122,233"> <area href="class_sc__DescribedClass.html" shape="rect" coords="14,147,129,166"> <area href="class_sc__RefCount.html" shape="rect" coords="30,81,113,99"> <area href="class_sc__Identity.html" shape="rect" coords="35,14,107,33"> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for sc::PointGroup:<p><center><img src="class_sc__PointGroup_coll_graph.gif" border="0" usemap="#sc::PointGroup_coll_map" alt="Collaboration graph"></center> <map name="sc::PointGroup_coll_map"> <area href="class_sc__SavableState.html" shape="rect" coords="21,222,122,241"> <area href="class_sc__DescribedClass.html" shape="rect" coords="14,153,129,171"> <area href="class_sc__RefCount.html" shape="rect" coords="30,83,113,102"> <area href="class_sc__Identity.html" shape="rect" coords="35,14,107,33"> <area href="class_sc__SymmetryOperation.html" shape="rect" coords="261,222,402,241"> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="class_sc__PointGroup-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0> <tr><td colspan=2><br><h2>Public Methods</h2></td></tr> <tr><td nowrap align=right valign=top><a name="a0" doxytag="sc::PointGroup::PointGroup"></a> </td><td valign=bottom><b>PointGroup</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="a1" doxytag="sc::PointGroup::PointGroup"></a> </td><td valign=bottom><a class="el" href="class_sc__PointGroup.html#a1">PointGroup</a> (const char *)</td></tr> <tr><td> </td><td><font size=-1><em>This constructor takes a string containing the Schoenflies symbol of the point group as its only argument.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a2" doxytag="sc::PointGroup::PointGroup"></a> </td><td valign=bottom><a class="el" href="class_sc__PointGroup.html#a2">PointGroup</a> (const char *,<a class="el" href="class_sc__SymmetryOperation.html">SymmetryOperation</a> &)</td></tr> <tr><td> </td><td><font size=-1><em>Like the above, but this constructor also takes a frame of reference as an argument.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a3" doxytag="sc::PointGroup::PointGroup"></a> </td><td valign=bottom><a class="el" href="class_sc__PointGroup.html#a3">PointGroup</a> (const char *,<a class="el" href="class_sc__SymmetryOperation.html">SymmetryOperation</a> &,const SCVector3 &)</td></tr> <tr><td> </td><td><font size=-1><em>Like the above, but this constructor also takes a point of origin as an argument.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="class_sc__PointGroup.html#a4">PointGroup</a> (const <a class="el" href="class_sc__Ref.html">Ref</a>< <a class="el" href="class_sc__KeyVal.html">KeyVal</a> > &)</td></tr> <tr><td> </td><td><font size=-1><em>The <a class="el" href="class_sc__PointGroup.html">PointGroup</a> <a class="el" href="class_sc__KeyVal.html">KeyVal</a> constructor looks for three keywords: symmetry, symmetry_frame, and origin.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a5" doxytag="sc::PointGroup::PointGroup"></a> </td><td valign=bottom><b>PointGroup</b> (<a class="el" href="class_sc__StateIn.html">StateIn</a> &)</td></tr> <tr><td nowrap align=right valign=top><a name="a6" doxytag="sc::PointGroup::PointGroup"></a> </td><td valign=bottom><b>PointGroup</b> (const PointGroup &)</td></tr> <tr><td nowrap align=right valign=top><a name="a7" doxytag="sc::PointGroup::PointGroup"></a> </td><td valign=bottom><b>PointGroup</b> (const <a class="el" href="class_sc__Ref.html">Ref</a>< PointGroup > &)</td></tr> <tr><td nowrap align=right valign=top><a name="a8" doxytag="sc::PointGroup::~PointGroup"></a> </td><td valign=bottom><b>~PointGroup</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="a9" doxytag="sc::PointGroup::operator="></a> PointGroup& </td><td valign=bottom><b>operator=</b> (const PointGroup &)</td></tr> <tr><td nowrap align=right valign=top><a name="a10" doxytag="sc::PointGroup::equiv"></a> int </td><td valign=bottom><a class="el" href="class_sc__PointGroup.html#a10">equiv</a> (const <a class="el" href="class_sc__Ref.html">Ref</a>< PointGroup > &, double tol=1.0e-6) const</td></tr> <tr><td> </td><td><font size=-1><em>Returns 1 if the point groups are equivalent, 0 otherwise.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a11" doxytag="sc::PointGroup::char_table"></a> <a class="el" href="class_sc__CharacterTable.html">CharacterTable</a> </td><td valign=bottom><a class="el" href="class_sc__PointGroup.html#a11">char_table</a> () const</td></tr> <tr><td> </td><td><font size=-1><em>Returns the <a class="el" href="class_sc__CharacterTable.html">CharacterTable</a> for this point group.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a12" doxytag="sc::PointGroup::symbol"></a> const char* </td><td valign=bottom><a class="el" href="class_sc__PointGroup.html#a12">symbol</a> () const</td></tr> <tr><td> </td><td><font size=-1><em>Returns the Schoenflies symbol for this point group.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a13" doxytag="sc::PointGroup::symm_frame"></a> <a class="el" href="class_sc__SymmetryOperation.html">SymmetryOperation</a>& </td><td valign=bottom><a class="el" href="class_sc__PointGroup.html#a13">symm_frame</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Returns the frame of reference for this point group.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a14" doxytag="sc::PointGroup::symm_frame"></a> const <a class="el" href="class_sc__SymmetryOperation.html">SymmetryOperation</a>& </td><td valign=bottom><a class="el" href="class_sc__PointGroup.html#a14">symm_frame</a> () const</td></tr> <tr><td> </td><td><font size=-1><em>A const version of the above.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a15" doxytag="sc::PointGroup::origin"></a> SCVector3& </td><td valign=bottom><a class="el" href="class_sc__PointGroup.html#a15">origin</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Returns the origin of the symmetry frame.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a16" doxytag="sc::PointGroup::origin"></a> const SCVector3& </td><td valign=bottom><b>origin</b> () const</td></tr> <tr><td nowrap align=right valign=top><a name="a17" doxytag="sc::PointGroup::set_symbol"></a> void </td><td valign=bottom><a class="el" href="class_sc__PointGroup.html#a17">set_symbol</a> (const char *)</td></tr> <tr><td> </td><td><font size=-1><em>Sets (or resets) the Schoenflies symbol.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_sc__PointGroup.html#a18">save_data_state</a> (<a class="el" href="class_sc__StateOut.html">StateOut</a> &so)</td></tr> <tr><td> </td><td><font size=-1><em>Save the base classes (with save_data_state) and the members in the same order that the <a class="el" href="class_sc__StateIn.html">StateIn</a> CTOR initializes them.</em> <a href="#a18">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a19" doxytag="sc::PointGroup::print"></a> void </td><td valign=bottom><a class="el" href="class_sc__PointGroup.html#a19">print</a> (std::ostream &o=ExEnv::out0()) const</td></tr> <tr><td> </td><td><font size=-1><em>Print the object.</em></font><br><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The <a class="el" href="class_sc__PointGroup.html">PointGroup</a> class is really a place holder for a <a class="el" href="class_sc__CharacterTable.html">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. <p> <hr><h2>Constructor & Destructor Documentation</h2> <a name="a4" doxytag="sc::PointGroup::PointGroup"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> sc::PointGroup::PointGroup ( </b></td> <td valign="bottom"><b> const <a class="el" href="class_sc__Ref.html">Ref</a>< <a class="el" href="class_sc__KeyVal.html">KeyVal</a> > & ) </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> The <a class="el" href="class_sc__PointGroup.html">PointGroup</a> <a class="el" href="class_sc__KeyVal.html">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<<a class="el" href="class_sc__PointGroup.html">PointGroup</a>>: ( 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<<a class="el" href="class_sc__PointGroup.html">PointGroup</a>>: ( symmetry = "c2v" symmetry_frame = [ [ 0 0 1 ] [ 0 1 0 ] [ 1 0 0 ] ] ) </pre> </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a name="a18" doxytag="sc::PointGroup::save_data_state"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> void sc::PointGroup::save_data_state ( </b></td> <td valign="bottom"><b> <a class="el" href="class_sc__StateOut.html">StateOut</a> & <em>so</em> )<code> [virtual]</code> </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Save the base classes (with save_data_state) and the members in the same order that the <a class="el" href="class_sc__StateIn.html">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="class_sc__SavableState.html#a5">sc::SavableState</a>. </td> </tr> </table> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="pointgrp_h-source.html">pointgrp.h</a></ul> <hr> <address> <small> Generated at Mon Oct 14 14:17:21 2002 for <a href="http://aros.ca.sandia.gov/~cljanss/mpqc">MPQC</a> 2.1.2 using the documentation package <a href="http://www.stack.nl/~dimitri/doxygen/index.html">Doxygen</a> 1.2.5. </small> </address> </body> </html>