# sc_SphericalTransform man page

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

voidadd(inta, intb, intc, doublecoef, intpureindex)Adds anotherSphericalTransformComponent.

intcartindex(int i) constReturns the Cartesian basis function index of component i.

intpureindex(int i) constReturns the solid harmonic basis function index of component i.

doublecoef(int i) constReturns the transform coefficient of component i.

inta(int i) constReturns the Cartesian basis function's x exponent of component i.

intb(int i) constReturns the Cartesian basis function's y exponent of component i.

intc(int i) constReturns the Cartesian basis function's z exponent of component i.

intl() constReturns the angular momentum.

intn() constReturns the number of components in the transformation.

virtualSphericalTransformComponent*new_components()=0This must createSphericalTransformComponent's of the appropriate specialization.

### Protected Member Functions

SphericalTransform(intl, int subl=-1)This constructs theSphericalTransformfor the given Cartesian angular momentum l and solid harmonic angular momentum subl.

virtual voidinit()This determines all of the components of the transformation.

### Protected Attributes

intn_

intl_

intsubl_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::ISphericalTransformCints**, **sc::ISphericalTransformV3**, **sc::ISphericalTransformCCA**, **sc::SphericalTransformCints**, **sc::SphericalTransformV3**, and **sc::SphericalTransformCCA**.

## Author

Generated automatically by Doxygen for MPQC from the source code.