<!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::CharacterTable 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_1CharacterTable.html">CharacterTable</a> </div> </div> <div class="contents"> <h1>sc::CharacterTable Class Reference</h1><!-- doxytag: class="sc::CharacterTable" -->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> class provides a workable character table for all of the non-cubic point groups. <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_1CharacterTable-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 Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><b>pgroups</b> { <br> <b>C1</b>, <b>CS</b>, <b>CI</b>, <b>CN</b>, <br> <b>CNV</b>, <b>CNH</b>, <b>DN</b>, <b>DND</b>, <br> <b>DNH</b>, <b>SN</b>, <b>T</b>, <b>TH</b>, <br> <b>TD</b>, <b>O</b>, <b>OH</b>, <b>I</b>, <br> <b>IH</b> <br> }</td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1CharacterTable.html#2c3367c4631159386b7ef5b6ceb4a698">CharacterTable</a> (const char *)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This constructor takes the Schoenflies symbol of a point group as input. <a href="#2c3367c4631159386b7ef5b6ceb4a698"></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_1CharacterTable.html#e7dd340ce8a8cbfab8f8250399e8109a">CharacterTable</a> (const char *, const <a class="el" href="classsc_1_1SymmetryOperation.html">SymmetryOperation</a> &)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This is like the above, but it also takes a reference to a <a class="el" href="classsc_1_1SymmetryOperation.html" title="The SymmetryOperation class provides a 3 by 3 matrix representation of a symmetry...">SymmetryOperation</a> which is the frame of reference. <a href="#e7dd340ce8a8cbfab8f8250399e8109a"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="740fe81ca6a365e8c849a4d2432fac9b"></a><!-- doxytag: member="sc::CharacterTable::CharacterTable" ref="740fe81ca6a365e8c849a4d2432fac9b" args="(const CharacterTable &)" --> </td><td class="memItemRight" valign="bottom"><b>CharacterTable</b> (const <a class="el" href="classsc_1_1CharacterTable.html">CharacterTable</a> &)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fe45ee4bd5f43169ad2cd0440fe66e2e"></a><!-- doxytag: member="sc::CharacterTable::operator=" ref="fe45ee4bd5f43169ad2cd0440fe66e2e" args="(const CharacterTable &)" --> <a class="el" href="classsc_1_1CharacterTable.html">CharacterTable</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classsc_1_1CharacterTable.html">CharacterTable</a> &)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2dad8da0a625f430f73c32e61a4d1986"></a><!-- doxytag: member="sc::CharacterTable::nirrep" ref="2dad8da0a625f430f73c32e61a4d1986" args="() const " --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1CharacterTable.html#2dad8da0a625f430f73c32e61a4d1986">nirrep</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of irreps. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7bb4fa56985a5388538c766cfce36a76"></a><!-- doxytag: member="sc::CharacterTable::order" ref="7bb4fa56985a5388538c766cfce36a76" args="() const " --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1CharacterTable.html#7bb4fa56985a5388538c766cfce36a76">order</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the order of the point group. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1c4b25e2a4062a4da8f66c5f0eb397a5"></a><!-- doxytag: member="sc::CharacterTable::symbol" ref="1c4b25e2a4062a4da8f66c5f0eb397a5" args="() const " --> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1CharacterTable.html#1c4b25e2a4062a4da8f66c5f0eb397a5">symbol</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the Schoenflies symbol for the point group. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="47f976fd950316d453adc8393ade97ed"></a><!-- doxytag: member="sc::CharacterTable::gamma" ref="47f976fd950316d453adc8393ade97ed" args="(int i)" --> <a class="el" href="classsc_1_1IrreducibleRepresentation.html">IrreducibleRepresentation</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1CharacterTable.html#47f976fd950316d453adc8393ade97ed">gamma</a> (int i)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the i'th irrep. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="55636f276179d3f7424704ede3f73d4f"></a><!-- doxytag: member="sc::CharacterTable::symm_operation" ref="55636f276179d3f7424704ede3f73d4f" args="(int i)" --> <a class="el" href="classsc_1_1SymmetryOperation.html">SymmetryOperation</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1CharacterTable.html#55636f276179d3f7424704ede3f73d4f">symm_operation</a> (int i)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the i'th symmetry operation. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1CharacterTable.html#b85d1b39f4e403a6bd254f3861e95098">complex</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Cn, Cnh, Sn, T, and Th point groups have complex representations. <a href="#b85d1b39f4e403a6bd254f3861e95098"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2a8e3c5e87099848aaddaafa087c93bd"></a><!-- doxytag: member="sc::CharacterTable::inverse" ref="2a8e3c5e87099848aaddaafa087c93bd" args="(int i) const " --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1CharacterTable.html#2a8e3c5e87099848aaddaafa087c93bd">inverse</a> (int i) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the index of the symop which is the inverse of symop[i]. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c7470c1e42905f69b49724b7ad75a85f"></a><!-- doxytag: member="sc::CharacterTable::ncomp" ref="c7470c1e42905f69b49724b7ad75a85f" args="() const " --> int </td><td class="memItemRight" valign="bottom"><b>ncomp</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25479dcf0fbfb7a9b9a6f0ad6f7d51c5"></a><!-- doxytag: member="sc::CharacterTable::which_irrep" ref="25479dcf0fbfb7a9b9a6f0ad6f7d51c5" args="(int i)" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1CharacterTable.html#25479dcf0fbfb7a9b9a6f0ad6f7d51c5">which_irrep</a> (int i)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the irrep component i belongs to. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d71b793b2016ed1a7fcda8257fd7eee9"></a><!-- doxytag: member="sc::CharacterTable::which_comp" ref="d71b793b2016ed1a7fcda8257fd7eee9" args="(int i)" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1CharacterTable.html#d71b793b2016ed1a7fcda8257fd7eee9">which_comp</a> (int i)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns which component i is. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ae0e0508bf983e963ca343f3c949577c"></a><!-- doxytag: member="sc::CharacterTable::print" ref="ae0e0508bf983e963ca343f3c949577c" args="(std::ostream &=ExEnv::out0()) const " --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1CharacterTable.html#ae0e0508bf983e963ca343f3c949577c">print</a> (std::ostream &=ExEnv::out0()) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This prints the irrep to the given file, or stdout if none is given. <br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> 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> class provides a workable character table for all of the non-cubic point groups. <p> While I have tried to match the ordering in Cotton's book, I don't guarantee that it is always followed. It shouldn't matter anyway. Also note that I don't lump symmetry operations of the same class together. For example, in C3v there are two distinct C3 rotations and 3 distinct reflections, each with a separate character. Thus symop has 6 elements rather than the 3 you'll find in most published character tables. <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="2c3367c4631159386b7ef5b6ceb4a698"></a><!-- doxytag: member="sc::CharacterTable::CharacterTable" ref="2c3367c4631159386b7ef5b6ceb4a698" args="(const char *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">sc::CharacterTable::CharacterTable </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> This constructor takes the Schoenflies symbol of a point group as input. <p> </div> </div><p> <a class="anchor" name="e7dd340ce8a8cbfab8f8250399e8109a"></a><!-- doxytag: member="sc::CharacterTable::CharacterTable" ref="e7dd340ce8a8cbfab8f8250399e8109a" args="(const char *, const SymmetryOperation &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">sc::CharacterTable::CharacterTable </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classsc_1_1SymmetryOperation.html">SymmetryOperation</a> & </td> <td class="paramname"></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> This is like the above, but it also takes a reference to a <a class="el" href="classsc_1_1SymmetryOperation.html" title="The SymmetryOperation class provides a 3 by 3 matrix representation of a symmetry...">SymmetryOperation</a> which is the frame of reference. <p> All symmetry operations are transformed to this frame of reference. </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="b85d1b39f4e403a6bd254f3861e95098"></a><!-- doxytag: member="sc::CharacterTable::complex" ref="b85d1b39f4e403a6bd254f3861e95098" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int sc::CharacterTable::complex </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Cn, Cnh, Sn, T, and Th point groups have complex representations. <p> This function returns 1 if the point group has a complex representation, 0 otherwise. </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>