# sc::SymmetryOperation Class Reference

The SymmetryOperation class provides a 3 by 3 matrix representation of a symmetry operation, such as a rotation or reflection. More...

`#include <pointgrp.h>`

List of all members.

## Public Member Functions

| SymmetryOperation (const SymmetryOperation &)
double | trace () const
| returns the trace of the transformation matrix
double * | operator[] (int i)
| returns the i'th row of the transformation matrix
const double * | operator[] (int i) const
| const version of the above
double & | operator() (int i, int j)
| returns a reference to the (i,j)th element of the transformation matrix
double | operator() (int i, int j) const
| const version of the above
void | zero ()
| zero out the symop
SymmetryOperation | operate (const SymmetryOperation &r) const
| This operates on this with r (i.e. return r * this).
SymmetryOperation | transform (const SymmetryOperation &r) const
| This performs the transform r * this * r~.
void | unit ()
| Set equal to a unit matrix.
void | E ()
| Set equal to E.
void | i ()
| Set equal to an inversion.
void | sigma_h ()
| Set equal to reflection in xy plane.
void | sigma_xz ()
| Set equal to reflection in xz plane.
void | sigma_yz ()
| Set equal to reflection in yz plane.
void | rotation (int n)
| Set equal to a clockwise rotation by 2pi/n.
void | rotation (double theta)
void | c2_x ()
| Set equal to C2 about the x axis.
void | c2_y ()
| Set equal to C2 about the x axis.
void | transpose ()
void | print (std::ostream &=ExEnv::out0()) const
| print the matrix

## Detailed Description

The SymmetryOperation class provides a 3 by 3 matrix representation of a symmetry operation, such as a rotation or reflection.

The documentation for this class was generated from the following file:

- pointgrp.h