Psi4
psi::RedundantCartesianIter Class Reference

`#include <cartesianiter.h>`

## Public Member Functions

RedundantCartesianIter (int l)
Create a object for the given angular momentum. More...

virtual ~RedundantCartesianIter ()

virtual int bfn ()
Return the current Cartesian basis function number. More...

void start ()
Initialize the iterator. More...

void next ()
Move to the next combination of axes. More...

operator int ()
Returns nonzero if the iterator currently hold valid data. More...

int a () const
The current exponent of x. More...

int b () const
The current exponent of y. More...

int c () const
The current exponent of z. More...

int l () const
The angular momentum. More...

int l (int i) const
Returns a() if i==0, b() if i==1, and c() if i==2. More...

int axis (int i) const
Return the i'th axis. More...

int done_

int l_

int * axis_

## Detailed Description

RedundantCartesianIter objects loop through all possible combinations of a given number of axes. This is used to compute the transformation matrices that maps a set of Cartesian functions to another set of Cartesian functions in a rotated coordinate system.

## Constructor & Destructor Documentation

 RedundantCartesianIter::RedundantCartesianIter ( int l )

Create a object for the given angular momentum.

 RedundantCartesianIter::~RedundantCartesianIter ( )
virtual

## Member Function Documentation

 int psi::RedundantCartesianIter::a ( ) const
inline

The current exponent of x.

 int psi::RedundantCartesianIter::axis ( int i ) const
inline

Return the i'th axis.

 int psi::RedundantCartesianIter::b ( ) const
inline

The current exponent of y.

 int RedundantCartesianIter::bfn ( )
virtual

Return the current Cartesian basis function number.

 int psi::RedundantCartesianIter::c ( ) const
inline

The current exponent of z.

 int psi::RedundantCartesianIter::l ( ) const
inline

The angular momentum.

 int psi::RedundantCartesianIter::l ( int i ) const
inline

Returns a() if i==0, b() if i==1, and c() if i==2.

 void psi::RedundantCartesianIter::next ( )
inline

Move to the next combination of axes.

 psi::RedundantCartesianIter::operator int ( )
inline

Returns nonzero if the iterator currently hold valid data.

 void psi::RedundantCartesianIter::start ( )
inline

Initialize the iterator.

## Member Data Documentation

 int* psi::RedundantCartesianIter::axis_
private
 int psi::RedundantCartesianIter::done_
private
 int psi::RedundantCartesianIter::l_
private

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