sc::pointgroup(3)
NAME
sc::PointGroup - The PointGroup class is really a place holder for a
CharacterTable.
SYNOPSIS
#include <pointgrp.h> Inherits sc::SavableState. Public Member Functions 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. PointGroup (StateIn &) PointGroup (const PointGroup &) PointGroup (const Ref< 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. SymmetryOperation & symm_frame () Returns the frame of reference for this point group. const SymmetryOperation & symm_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. void print (std::ostream &o=ExEnv::out0()) 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
- sc::PointGroup::PointGroup (const char *)
- This constructor takes a string containing the Schoenflies symbol of
the point group as its only argument. - sc::PointGroup::PointGroup (const char *, SymmetryOperation &)
- Like the above, but this constructor also takes a frame of reference as an argument.
- sc::PointGroup::PointGroup (const char *, SymmetryOperation &, const
- SCVector3 &)
Like the above, but this constructor also takes a point of origin as an argument. - sc::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 sc::PointGroup::save_data_state (StateOut &) [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 sc::SavableState.
Author
- Generated automatically by Doxygen for MPQC from the source code.