Psi4
psi::SymmetryOperation Class Reference

`#include <pointgrp.h>`

Public Member Functions

SymmetryOperation ()

SymmetryOperation (const SymmetryOperation &)

~SymmetryOperation ()

SymmetryOperationoperator= (SymmetryOperation const &a)

double trace () const
returns the trace of the transformation matrix More...

const std::array< std::array
< double, 3 >, 3 > &
matrix ()

double * operator[] (int i)
returns the i'th row of the transformation matrix More...

const double * operator[] (int i) const
const version of the above More...

double & operator() (int i, int j)

double operator() (int i, int j) const
const version of the above More...

void zero ()
zero out the symop More...

SymmetryOperation operate (const SymmetryOperation &r) const
This operates on this with r (i.e. return r * this). More...

SymmetryOperation transform (const SymmetryOperation &r) const
This performs the transform r * this * r~. More...

unsigned char bit () const
Get the bit value. More...

void unit ()
Set equal to a unit matrix. More...

void E ()
Set equal to E. More...

void i ()
Set equal to an inversion. More...

void sigma_xy ()
Set equal to reflection in xy plane. More...

void sigma_xz ()
Set equal to reflection in xz plane. More...

void sigma_yz ()
Set equal to reflection in yz plane. More...

void rotation (int n)
Set equal to a clockwise rotation by 2pi/n. More...

void rotation (double theta)

void c2_x ()
Set equal to C2 about the x axis. More...

void c2_y ()
Set equal to C2 about the y axis. More...

void c2_z ()
Set equal to C2 about the z axis. More...

void transpose ()

void print (std::string out)
print the matrix More...

Private Member Functions

void analyze_d ()

Private Attributes

std::array< std::array< double, 3 >, 3 > d

unsigned short bits_

Detailed Description

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

Constructor & Destructor Documentation

 SymmetryOperation::SymmetryOperation ( )
 SymmetryOperation::SymmetryOperation ( const SymmetryOperation & so )
 SymmetryOperation::~SymmetryOperation ( )

Member Function Documentation

 void SymmetryOperation::analyze_d ( )
private
 unsigned char psi::SymmetryOperation::bit ( ) const
inline

Get the bit value.

 void psi::SymmetryOperation::c2_x ( )
inline

Set equal to C2 about the x axis.

 void psi::SymmetryOperation::c2_y ( )
inline

Set equal to C2 about the y axis.

 void psi::SymmetryOperation::c2_z ( )
inline

Set equal to C2 about the z axis.

 void psi::SymmetryOperation::E ( )
inline

Set equal to E.

 void psi::SymmetryOperation::i ( )
inline

Set equal to an inversion.

 const std::array, 3>& psi::SymmetryOperation::matrix ( )
inline
 SymmetryOperation SymmetryOperation::operate ( const SymmetryOperation & r ) const

This operates on this with r (i.e. return r * this).

 double& psi::SymmetryOperation::operator() ( int i, int j )
inline

returns a reference to the (i,j)th element of the transformation matrix

 double psi::SymmetryOperation::operator() ( int i, int j ) const
inline

const version of the above

 SymmetryOperation & SymmetryOperation::operator= ( SymmetryOperation const & a )
 double* psi::SymmetryOperation::operator[] ( int i )
inline

returns the i'th row of the transformation matrix

 const double* psi::SymmetryOperation::operator[] ( int i ) const
inline

const version of the above

 void SymmetryOperation::print ( std::string out )

print the matrix

 void SymmetryOperation::rotation ( int n )

Set equal to a clockwise rotation by 2pi/n.

 void SymmetryOperation::rotation ( double theta )
 void psi::SymmetryOperation::sigma_xy ( )
inline

Set equal to reflection in xy plane.

 void psi::SymmetryOperation::sigma_xz ( )
inline

Set equal to reflection in xz plane.

 void psi::SymmetryOperation::sigma_yz ( )
inline

Set equal to reflection in yz plane.

 double psi::SymmetryOperation::trace ( ) const
inline

returns the trace of the transformation matrix

 SymmetryOperation SymmetryOperation::transform ( const SymmetryOperation & r ) const

This performs the transform r * this * r~.

 void SymmetryOperation::transpose ( )
 void psi::SymmetryOperation::unit ( )
inline

Set equal to a unit matrix.

 void psi::SymmetryOperation::zero ( )
inline

zero out the symop

Member Data Documentation

 unsigned short psi::SymmetryOperation::bits_
private
 std::array, 3> psi::SymmetryOperation::d
private

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