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.