MPQC  2.3.1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
sc::SphericalTransform Class Referenceabstract

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:
Inheritance graph
[legend]
Collaboration diagram for sc::SphericalTransform:
Collaboration graph
[legend]

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:33:09 for MPQC 2.3.1 using the documentation package Doxygen 1.8.16.