MPQC
3.0.0-alpha
|
This is a base class for a container for a sparse Cartesian to solid harmonic basis function transformation. More...
#include <chemistry/qc/basis/transform.h>
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. More... | |
virtual void | init () |
This determines all of the components of the transformation. More... | |
Protected Attributes | |
int | n_ |
int | l_ |
int | subl_ |
SphericalTransformComponent * | components_ |
This is a base class for a container for a sparse Cartesian to solid harmonic basis function transformation.
|
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.
|
protectedvirtual |
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.