Psi4
Public Member Functions | Private Attributes | List of all members
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...
 

Private Attributes

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: