Psi4
Public Member Functions | Private Member Functions | Private Attributes | List of all members
psi::CharacterTable Class Reference

#include <pointgrp.h>

Public Member Functions

 CharacterTable ()
 
 CharacterTable (const std::string &)
 
 CharacterTable (unsigned char)
 
 CharacterTable (const CharacterTable &)
 
 ~CharacterTable ()
 
CharacterTableoperator= (const CharacterTable &)
 
int nirrep () const
 Returns the number of irreps. More...
 
int order () const
 Returns the order of the point group. More...
 
const std::string & symbol () const
 Returns the Schoenflies symbol for the point group. More...
 
IrreducibleRepresentationgamma (int i)
 Returns the i'th irrep. More...
 
SymmetryOperationsymm_operation (int i)
 Returns the i'th symmetry operation. More...
 
int complex () const
 
int inverse (int i) const
 Returns the index of the symop which is the inverse of symop[i]. More...
 
int ncomp () const
 
int which_irrep (int i)
 Returns the irrep component i belongs to. More...
 
int which_comp (int i)
 Returns which component i is. More...
 
unsigned char bits ()
 
void print (std::string="outfile") const
 This prints the irrep to the given file, or stdout if none is given. More...
 

Private Member Functions

int make_table ()
 this fills in the irrep and symop arrays. More...
 
void common_init ()
 

Private Attributes

int nt
 order of the princ rot axis More...
 
PointGroups::Groups pg
 the class of the point group More...
 
int nirrep_
 the number of irreps in this pg More...
 
IrreducibleRepresentationgamma_
 an array of irreps More...
 
SymmetryOperationsymop
 the matrices describing sym ops More...
 
int * _inv
 index of the inverse symop More...
 
std::string symb
 the Schoenflies symbol for the pg More...
 
unsigned char bits_
 Bitwise representation of the symmetry operations. More...
 

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

CharacterTable::CharacterTable ( )
CharacterTable::CharacterTable ( const std::string &  cpg)

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

CharacterTable::CharacterTable ( unsigned char  bits)

This constructor takes the bitswise representation of a point group as input.

CharacterTable::CharacterTable ( const CharacterTable ct)
CharacterTable::~CharacterTable ( )

Member Function Documentation

unsigned char CharacterTable::bits ( )
void CharacterTable::common_init ( void  )
private
int psi::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.

IrreducibleRepresentation& psi::CharacterTable::gamma ( int  i)
inline

Returns the i'th irrep.

int psi::CharacterTable::inverse ( int  i) const
inline

Returns the index of the symop which is the inverse of symop[i].

int CharacterTable::make_table ( )
private

this fills in the irrep and symop arrays.

int psi::CharacterTable::ncomp ( ) const
inline
int psi::CharacterTable::nirrep ( void  ) const
inline

Returns the number of irreps.

CharacterTable & CharacterTable::operator= ( const CharacterTable ct)
int psi::CharacterTable::order ( ) const
inline

Returns the order of the point group.

void CharacterTable::print ( std::string  out = "outfile") const

This prints the irrep to the given file, or stdout if none is given.

const std::string& psi::CharacterTable::symbol ( ) const
inline

Returns the Schoenflies symbol for the point group.

SymmetryOperation& psi::CharacterTable::symm_operation ( int  i)
inline

Returns the i'th symmetry operation.

int psi::CharacterTable::which_comp ( int  i)
inline

Returns which component i is.

int psi::CharacterTable::which_irrep ( int  i)
inline

Returns the irrep component i belongs to.

Member Data Documentation

int* psi::CharacterTable::_inv
private

index of the inverse symop

unsigned char psi::CharacterTable::bits_
private

Bitwise representation of the symmetry operations.

IrreducibleRepresentation* psi::CharacterTable::gamma_
private

an array of irreps

int psi::CharacterTable::nirrep_
private

the number of irreps in this pg

int psi::CharacterTable::nt
private

order of the princ rot axis

PointGroups::Groups psi::CharacterTable::pg
private

the class of the point group

std::string psi::CharacterTable::symb
private

the Schoenflies symbol for the pg

SymmetryOperation* psi::CharacterTable::symop
private

the matrices describing sym ops


The documentation for this class was generated from the following files: