MPQC  3.0.0-alpha
sc::SphericalTransform Class Referenceabstract

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>

Inheritance diagram for sc::SphericalTransform:
sc::ISphericalTransform sc::SphericalTransformLibint2 sc::SphericalTransformV3 sc::ISphericalTransformLibint2 sc::ISphericalTransformV3

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 SphericalTransformComponentnew_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_
 
SphericalTransformComponentcomponents_
 

Detailed Description

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


Constructor & Destructor Documentation

◆ SphericalTransform()

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

◆ init()

virtual void sc::SphericalTransform::init ( )
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.


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

Generated at Sun Jan 26 2020 23:24:12 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.