MPQC
3.0.0-alpha
|
The CharacterTable class provides a workable character table for all of the non-cubic point groups. More...
#include <math/symmetry/pointgrp.h>
Public Types | |
enum | pgroups { C1, CS, CI, CN, CNV, CNH, DN, DND, DNH, SN, T, TH, TD, O, OH, I, IH } |
Public Member Functions | |
CharacterTable (const char *) | |
This constructor takes the Schoenflies symbol of a point group as input. | |
CharacterTable (const char *, const SymmetryOperation &) | |
This is like the above, but it also takes a reference to a SymmetryOperation which is the frame of reference. More... | |
CharacterTable (const CharacterTable &) | |
CharacterTable & | operator= (const CharacterTable &) |
int | nirrep () const |
Returns the number of irreps. | |
int | order () const |
Returns the order of the point group. | |
const char * | symbol () const |
Returns the Schoenflies symbol for the point group. | |
IrreducibleRepresentation & | gamma (int i) |
Returns the i'th irrep. | |
SymmetryOperation & | symm_operation (int i) |
Returns the i'th symmetry operation. | |
int | complex () const |
Cn, Cnh, Sn, T, and Th point groups have complex representations. More... | |
int | inverse (int i) const |
Returns the index of the symop which is the inverse of symop[i]. | |
int | ncomp () const |
int | which_irrep (int i) |
Returns the irrep component i belongs to. | |
int | which_comp (int i) |
Returns which component i is. | |
void | print (std::ostream &=ExEnv::out0()) const |
This prints the irrep to the given file, or stdout if none is given. | |
The CharacterTable class provides a workable character table for all of the non-cubic point groups.
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.
sc::CharacterTable::CharacterTable | ( | const char * | , |
const SymmetryOperation & | |||
) |
This is like the above, but it also takes a reference to a SymmetryOperation which is the frame of reference.
All symmetry operations are transformed to this frame of reference.
|
inline |
Cn, Cnh, Sn, T, and Th point groups have complex representations.
This function returns 1 if the point group has a complex representation, 0 otherwise.