Psi4
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
psi::OperatorSymmetry Class Reference

#include <multipolesymmetry.h>

Public Types

enum  Operator {
  Dipole = 1, Quadrupole = 2, L = -1, AngularMomentum = -1,
  P = Dipole, Nabla = Dipole
}
 

Public Member Functions

 OperatorSymmetry (int order, std::shared_ptr< Molecule > mol, std::shared_ptr< IntegralFactory > ints, std::shared_ptr< MatrixFactory > mats)
 
virtual ~OperatorSymmetry ()
 
std::string name_of_component (int i)
 
int component_symmetry (int i) const
 
std::vector< SharedMatrixcreate_matrices (const std::string &basename)
 

Private Member Functions

std::string form_suffix (int x, int y, int z)
 
void common_init ()
 

Private Attributes

int order_
 
std::shared_ptr< Moleculemolecule_
 
std::shared_ptr< IntegralFactoryintegral_
 
std::shared_ptr< MatrixFactorymatrix_
 
std::vector< int > component_symmetry_
 

Member Enumeration Documentation

Enumerator
Dipole 
Quadrupole 
L 
AngularMomentum 
P 
Nabla 

Constructor & Destructor Documentation

psi::OperatorSymmetry::OperatorSymmetry ( int  order,
std::shared_ptr< Molecule mol,
std::shared_ptr< IntegralFactory ints,
std::shared_ptr< MatrixFactory mats 
)

Constructor Constructs an object that determines the symmetry of the different components of the order-th multipole. Orders with negative values have a special meaning (see OperatorSymmetry enum)

Parameters
orderOrder of the multipole (1 = dipole, 2 = quadrupole, etc.)
molMolecule the the multipole will be computed for. Needed to obtain point group object.
intsIntegral factory. Needed for creation of ShellRotation objects.
matsMatrix factory. Used by create_matrices to create matrices of the proper size and symmetry.
psi::OperatorSymmetry::~OperatorSymmetry ( )
virtual

Member Function Documentation

void psi::OperatorSymmetry::common_init ( void  )
private
int psi::OperatorSymmetry::component_symmetry ( int  i) const
inline
std::vector< SharedMatrix > psi::OperatorSymmetry::create_matrices ( const std::string &  basename)
std::string psi::OperatorSymmetry::form_suffix ( int  x,
int  y,
int  z 
)
private

Forms a string that describes what the name of the componet is. (x=1, y=0, z=0) => "x" (x=1, y=0, z=1) => "xz" (x=0, y=2, z=0) => "y2"

std::string psi::OperatorSymmetry::name_of_component ( int  i)

Member Data Documentation

std::vector<int> psi::OperatorSymmetry::component_symmetry_
private

The symmetry of each component of the multipole. Length = INT_NCART(order_)

std::shared_ptr<IntegralFactory> psi::OperatorSymmetry::integral_
private
std::shared_ptr<MatrixFactory> psi::OperatorSymmetry::matrix_
private
std::shared_ptr<Molecule> psi::OperatorSymmetry::molecule_
private
int psi::OperatorSymmetry::order_
private

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