Man Linux: Main Page and Category List

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.