# sc::SphericalTransform Class Reference

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

`#include <transform.h>`

Inheritance diagram for sc::SphericalTransform:

List of all members.

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

The documentation for this class was generated from the following file:

- chemistry/qc/basis/transform.h