NAME
sc::SphericalTransform -
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 functions x exponent of component i.
int b (int i) const
Returns the Cartesian basis functions y exponent of component i.
int c (int i) const
Returns the Cartesian basis functions 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 SphericalTransformComponents 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.