sc::SphericalTransform(3) This is a base class for a container for a sparse Cartesian to solid harmonic basis function transformation.

SYNOPSIS


#include <transform.h>

Inherited by sc::ISphericalTransform, sc::SphericalTransformCCA, sc::SphericalTransformCints, and sc::SphericalTransformV3.

Public Member Functions


void add (int a, int b, int c, double coef, int pureindex)
Adds another SphericalTransformComponent.
int cartindex (int i) const
Returns the Cartesian basis function index of component i.
int pureindex (int i) const
Returns the solid harmonic basis function index of component i.
double coef (int i) const
Returns the transform coefficient of component i.
int a (int i) const
Returns the Cartesian basis function's x exponent of component i.
int b (int i) const
Returns the Cartesian basis function's y exponent of component i.
int c (int i) const
Returns the Cartesian basis function's z exponent of component i.
int l () const
Returns the angular momentum.
int n () const
Returns the number of components in the transformation.
virtual SphericalTransformComponent * new_components ()=0
This must create SphericalTransformComponent's of the appropriate specialization.

Protected Member Functions


SphericalTransform (int l, int subl=-1)
This constructs the SphericalTransform for the given Cartesian angular momentum l and solid harmonic angular momentum subl.
virtual void init ()
This determines all of the components of the transformation.

Protected Attributes


int n_

int l_

int subl_

SphericalTransformComponent * components_

Detailed Description

This is a base class for a container for a sparse Cartesian to solid harmonic basis function transformation.

Constructor & Destructor Documentation

sc::SphericalTransform::SphericalTransform (int l, int subl = -1) [protected]

This constructs the SphericalTransform for the given Cartesian angular momentum l and solid harmonic angular momentum subl. Usually, l and subl will be the same. They would differ when the S component of a D Cartesian shell or the P component of an F Cartesian shell is desired, for example (see the natural atomic orbital code for an example of such use). The init member must be called to complete initialization.

Member Function Documentation

virtual void sc::SphericalTransform::init () [protected, virtual]

This determines all of the components of the transformation. It should be possible to implement the SphericalTransformComponent::init specialization in such a way that the default SphericalTransform::init can be used.

Reimplemented in sc::ISphericalTransform.

virtual SphericalTransformComponent* sc::SphericalTransform::new_components () [pure virtual]

This must create SphericalTransformComponent's of the appropriate specialization.

Implemented in sc::SphericalTransformCints, sc::ISphericalTransformCints, sc::SphericalTransformCCA, sc::ISphericalTransformCCA, sc::SphericalTransformV3, and sc::ISphericalTransformV3.

Author

Generated automatically by Doxygen for MPQC from the source code.