#include <pointgrp.h>
Inheritance diagram for PointGroup


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. | |
| 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. More... | |
| void | print (std::ostream &o=ExEnv::out()) const |
| Print the object. | |
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.
|
|
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 ]
]
)
|
|
|
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. |