Psi4
Public Member Functions | Private Member Functions | Private Attributes | List of all members
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...
 
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

double d [3][3]
 
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.

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 ( void  )
inline

zero out the symop

Member Data Documentation

unsigned short psi::SymmetryOperation::bits_
private
double psi::SymmetryOperation::d[3][3]
private

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