## SYNOPSIS

#include <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.

**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.

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. *

## Detailed Description

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.

## Constructor & Destructor Documentation

## sc::CharacterTable::CharacterTable (const char *)

This constructor takes the Schoenflies symbol of a **point** group as input.

## 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.

## Member Function Documentation

## int sc::CharacterTable::complex () const [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.

## Author

Generated automatically by Doxygen for MPQC from the source code.