MPQC
3.0.0-alpha
|
The PointGroup class is really a place holder for a CharacterTable. More...
#include <math/symmetry/pointgrp.h>
Public Member Functions | |
PointGroup (std::string) | |
This constructor takes a string containing the Schoenflies symbol of the point group as its only argument. | |
PointGroup (std::string, SymmetryOperation &) | |
Like the above, but this constructor also takes a frame of reference as an argument. | |
PointGroup (std::string, 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 & | operator= (const PointGroup &) |
int | order () const |
returns the order of the point group | |
bool | equiv (const Ref< PointGroup > &, double tol=1.0e-6) const |
Returns true if the point groups are equivalent, false otherwise. | |
CharacterTable | char_table () const |
Returns the CharacterTable for this point group. | |
std::string | 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 (std::string) |
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::out0()) const |
Print the object. | |
Public Member Functions inherited from sc::SavableState | |
SavableState & | operator= (const SavableState &) |
void | save_state (StateOut &) |
Save the state of the object as specified by the StateOut object. More... | |
void | save_object_state (StateOut &) |
This can be used for saving state when the exact type of the object is known for both the save and the restore. More... | |
virtual void | save_vbase_state (StateOut &) |
Save the virtual bases for the object. More... | |
Public Member Functions inherited from sc::DescribedClass | |
DescribedClass (const DescribedClass &) | |
DescribedClass & | operator= (const DescribedClass &) |
ClassDesc * | class_desc () const MPQC__NOEXCEPT |
This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More... | |
const char * | class_name () const |
Return the name of the object's exact type. | |
int | class_version () const |
Return the version of the class. | |
Ref< DescribedClass > | ref () |
Return this object wrapped up in a Ref smart pointer. More... | |
Public Member Functions inherited from sc::RefCount | |
size_t | identifier () const |
Return the unique identifier for this object that can be compared for different objects of different types. More... | |
int | lock_ptr () const |
Lock this object. | |
int | unlock_ptr () const |
Unlock this object. | |
void | use_locks (bool inVal) |
start and stop using locks on this object | |
refcount_t | nreference () const |
Return the reference count. | |
refcount_t | reference () |
Increment the reference count and return the new count. | |
refcount_t | dereference () |
Decrement the reference count and return the new count. | |
int | managed () const |
void | unmanage () |
Turn off the reference counting mechanism for this object. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from sc::SavableState | |
static void | save_state (SavableState *s, StateOut &) |
static SavableState * | restore_state (StateIn &si) |
Restores objects saved with save_state. More... | |
static SavableState * | key_restore_state (StateIn &si, const char *keyword) |
Like restore_state, but keyword is used to override values while restoring. | |
static SavableState * | dir_restore_state (StateIn &si, const char *objectname, const char *keyword=0) |
Protected Member Functions inherited from sc::SavableState | |
SavableState (const SavableState &) | |
SavableState (StateIn &) | |
Each derived class StateIn CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above. More... | |
Protected Member Functions inherited from sc::RefCount | |
RefCount (const RefCount &) | |
RefCount & | operator= (const RefCount &) |
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.
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 ] ] )
|
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.