Main Page   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

PointGroup Class Reference

The PointGroup class is really a place holder for a CharacterTable. More...

#include <pointgrp.h>

Inheritance diagram for PointGroup

Inheritance graph
[legend]
Collaboration diagram for PointGroup:

Collaboration graph
[legend]
List of all members.

Public Methods

 PointGroup ()
 PointGroup (const char *)
 This constructor takes a string containing the Schoenflies symbol of the point group as its only argument.

 PointGroup (const char *,SymmetryOperation &)
 Like the above, but this constructor also takes a frame of reference as an argument.

 PointGroup (const char *,SymmetryOperation &,const SCVector3 &)
 Like the above, but this constructor also takes a point of origin as an argument.

 PointGroup (const Ref< KeyVal > &)
 The PointGroup KeyVal constructor looks for three keywords: symmetry, symmetry_frame, and origin. More...

 PointGroup (StateIn &)
 PointGroup (const PointGroup &)
 PointGroup (const Ref< PointGroup > &)
 ~PointGroup ()
PointGroup& operator= (const PointGroup &)
int equiv (const Ref< PointGroup > &, double tol=1.0e-6) const
 Returns 1 if the point groups are equivalent, 0 otherwise.

CharacterTable char_table () const
 Returns the CharacterTable for this point group.

const char* symbol () const
 Returns the Schoenflies symbol for this point group.

SymmetryOperationsymm_frame ()
 Returns the frame of reference for this point group.

const SymmetryOperationsymm_frame () const
 A const version of the above.

SCVector3& origin ()
 Returns the origin of the symmetry frame.

const SCVector3& origin () const
void set_symbol (const char *)
 Sets (or resets) the Schoenflies symbol.

void save_data_state (StateOut &so)
 Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. More...

void print (std::ostream &o=ExEnv::out()) const
 Print the object.


Detailed Description

The PointGroup class is really a place holder for a CharacterTable.

It contains a string representation of the Schoenflies symbol of a point group, a frame of reference for the symmetry operation transformation matrices, and a point of origin. The origin is not respected by the symmetry operations, so if you want to use a point group with a nonzero origin, first translate all your coordinates to the origin and then set the origin to zero.


Constructor & Destructor Documentation

PointGroup::PointGroup ( const Ref< KeyVal > & )
 

The PointGroup KeyVal constructor looks for three keywords: symmetry, symmetry_frame, and origin.

symmetry is a string containing the Schoenflies symbol of the point group. origin is an array of doubles which gives the x, y, and z coordinates of the origin of the symmetry frame. symmetry_frame is a 3 by 3 array of arrays of doubles which specify the principal axes for the transformation matrices as a unitary rotation.

For example, a simple input which will use the default origin and symmetry_frame ((0,0,0) and the unit matrix, respectively), might look like this:

       pointgrp<PointGroup>: (
         symmetry = "c2v"
       )
       

By default, the principal rotation axis is taken to be the z axis. If you already have a set of coordinates which assume that the rotation axis is the x axis, then you'll have to rotate your frame of reference with symmetry_frame:

       pointgrp<PointGroup>: (
         symmetry = "c2v"
         symmetry_frame = [
           [ 0 0 1 ]
           [ 0 1 0 ]
           [ 1 0 0 ]
         ]
       )
       


Member Function Documentation

void PointGroup::save_data_state ( StateOut & so ) [virtual]
 

Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.

This must be implemented by the derived class if the class has data.

Reimplemented from SavableState.


The documentation for this class was generated from the following file:
Generated at Thu Oct 4 18:09:33 2001 for MPQC 2.0.0 using the documentation package Doxygen 1.2.5.