<!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::SymmetryOperation 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_1SymmetryOperation.html">SymmetryOperation</a> </div> </div> <div class="contents"> <h1>sc::SymmetryOperation Class Reference</h1><!-- doxytag: class="sc::SymmetryOperation" -->The <a class="el" href="classsc_1_1SymmetryOperation.html" title="The SymmetryOperation class provides a 3 by 3 matrix representation of a symmetry...">SymmetryOperation</a> class provides a 3 by 3 matrix representation of a symmetry operation, such as a rotation or reflection. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="pointgrp_8h_source.html">pointgrp.h</a>></code> <p> <p> <a href="classsc_1_1SymmetryOperation-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="f843f31370b7d4e8b8394e02f452b475"></a><!-- doxytag: member="sc::SymmetryOperation::SymmetryOperation" ref="f843f31370b7d4e8b8394e02f452b475" args="(const SymmetryOperation &)" --> </td><td class="memItemRight" valign="bottom"><b>SymmetryOperation</b> (const <a class="el" href="classsc_1_1SymmetryOperation.html">SymmetryOperation</a> &)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4fbcc898650eff6123773c3c3a4c2702"></a><!-- doxytag: member="sc::SymmetryOperation::trace" ref="4fbcc898650eff6123773c3c3a4c2702" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#4fbcc898650eff6123773c3c3a4c2702">trace</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">returns the trace of the transformation matrix <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4e766fbea63641c4144ade1aee9c2f04"></a><!-- doxytag: member="sc::SymmetryOperation::operator[]" ref="4e766fbea63641c4144ade1aee9c2f04" args="(int i)" --> double * </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#4e766fbea63641c4144ade1aee9c2f04">operator[]</a> (int i)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">returns the i'th row of the transformation matrix <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bffe1cfb4a8fde2531294376c801fd67"></a><!-- doxytag: member="sc::SymmetryOperation::operator[]" ref="bffe1cfb4a8fde2531294376c801fd67" args="(int i) const " --> const double * </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#bffe1cfb4a8fde2531294376c801fd67">operator[]</a> (int i) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">const version of the above <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="112c2f77471307d4ecc6d18c01588532"></a><!-- doxytag: member="sc::SymmetryOperation::operator()" ref="112c2f77471307d4ecc6d18c01588532" args="(int i, int j)" --> double & </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#112c2f77471307d4ecc6d18c01588532">operator()</a> (int i, int j)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">returns a reference to the (i,j)th element of the transformation matrix <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4ec9c64473255185381ce1a3113c996e"></a><!-- doxytag: member="sc::SymmetryOperation::operator()" ref="4ec9c64473255185381ce1a3113c996e" args="(int i, int j) const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#4ec9c64473255185381ce1a3113c996e">operator()</a> (int i, int j) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">const version of the above <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b1c07e8f7683e4ce554a495d42be3875"></a><!-- doxytag: member="sc::SymmetryOperation::zero" ref="b1c07e8f7683e4ce554a495d42be3875" args="()" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#b1c07e8f7683e4ce554a495d42be3875">zero</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">zero out the symop <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0ce5f167b12563325bb16b5d164cb197"></a><!-- doxytag: member="sc::SymmetryOperation::operate" ref="0ce5f167b12563325bb16b5d164cb197" args="(const SymmetryOperation &r) const " --> <a class="el" href="classsc_1_1SymmetryOperation.html">SymmetryOperation</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#0ce5f167b12563325bb16b5d164cb197">operate</a> (const <a class="el" href="classsc_1_1SymmetryOperation.html">SymmetryOperation</a> &r) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This operates on this with r (i.e. return r * this). <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b19e5b7c00feb4bb82d07840d0b88880"></a><!-- doxytag: member="sc::SymmetryOperation::transform" ref="b19e5b7c00feb4bb82d07840d0b88880" args="(const SymmetryOperation &r) const " --> <a class="el" href="classsc_1_1SymmetryOperation.html">SymmetryOperation</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#b19e5b7c00feb4bb82d07840d0b88880">transform</a> (const <a class="el" href="classsc_1_1SymmetryOperation.html">SymmetryOperation</a> &r) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This performs the transform r * this * r~. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0904e1358450bd538180d821b5c9f7f8"></a><!-- doxytag: member="sc::SymmetryOperation::unit" ref="0904e1358450bd538180d821b5c9f7f8" args="()" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#0904e1358450bd538180d821b5c9f7f8">unit</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set equal to a unit matrix. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b86a76ac6b4274b52af7618449c8faf5"></a><!-- doxytag: member="sc::SymmetryOperation::E" ref="b86a76ac6b4274b52af7618449c8faf5" args="()" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#b86a76ac6b4274b52af7618449c8faf5">E</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set equal to E. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d20d1d08a32c22b58cfebe3bcd09870b"></a><!-- doxytag: member="sc::SymmetryOperation::i" ref="d20d1d08a32c22b58cfebe3bcd09870b" args="()" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#d20d1d08a32c22b58cfebe3bcd09870b">i</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set equal to an inversion. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cf6f3e3cc39a028f9d342319fdca6692"></a><!-- doxytag: member="sc::SymmetryOperation::sigma_h" ref="cf6f3e3cc39a028f9d342319fdca6692" args="()" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#cf6f3e3cc39a028f9d342319fdca6692">sigma_h</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set equal to reflection in xy plane. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d3d12de4c1d2d2e1e1d5eb021bbd421c"></a><!-- doxytag: member="sc::SymmetryOperation::sigma_xz" ref="d3d12de4c1d2d2e1e1d5eb021bbd421c" args="()" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#d3d12de4c1d2d2e1e1d5eb021bbd421c">sigma_xz</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set equal to reflection in xz plane. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ed645bf670cc136600b5e7a1ac85a6b3"></a><!-- doxytag: member="sc::SymmetryOperation::sigma_yz" ref="ed645bf670cc136600b5e7a1ac85a6b3" args="()" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#ed645bf670cc136600b5e7a1ac85a6b3">sigma_yz</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set equal to reflection in yz plane. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2949adaf44ca45bd6592f08f64a1e122"></a><!-- doxytag: member="sc::SymmetryOperation::rotation" ref="2949adaf44ca45bd6592f08f64a1e122" args="(int n)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#2949adaf44ca45bd6592f08f64a1e122">rotation</a> (int n)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set equal to a clockwise rotation by 2pi/n. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b25a43fed2f49ebec5beb90ebb20d169"></a><!-- doxytag: member="sc::SymmetryOperation::rotation" ref="b25a43fed2f49ebec5beb90ebb20d169" args="(double theta)" --> void </td><td class="memItemRight" valign="bottom"><b>rotation</b> (double theta)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="20cfc9d852be0dce14c7b1ff0d0a115f"></a><!-- doxytag: member="sc::SymmetryOperation::c2_x" ref="20cfc9d852be0dce14c7b1ff0d0a115f" args="()" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#20cfc9d852be0dce14c7b1ff0d0a115f">c2_x</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set equal to C2 about the x axis. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5ed5ca766d9c2ecbd4129a92da427166"></a><!-- doxytag: member="sc::SymmetryOperation::c2_y" ref="5ed5ca766d9c2ecbd4129a92da427166" args="()" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#5ed5ca766d9c2ecbd4129a92da427166">c2_y</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set equal to C2 about the x axis. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7fba492fb69c54315e394439fb2bd977"></a><!-- doxytag: member="sc::SymmetryOperation::transpose" ref="7fba492fb69c54315e394439fb2bd977" args="()" --> void </td><td class="memItemRight" valign="bottom"><b>transpose</b> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9639ec7a1328a9070e4eeceadc1f571a"></a><!-- doxytag: member="sc::SymmetryOperation::print" ref="9639ec7a1328a9070e4eeceadc1f571a" args="(std::ostream &=ExEnv::out0()) const " --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SymmetryOperation.html#9639ec7a1328a9070e4eeceadc1f571a">print</a> (std::ostream &=ExEnv::out0()) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">print the matrix <br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The <a class="el" href="classsc_1_1SymmetryOperation.html" title="The SymmetryOperation class provides a 3 by 3 matrix representation of a symmetry...">SymmetryOperation</a> class provides a 3 by 3 matrix representation of a symmetry operation, such as a rotation or reflection. <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>