## 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.