---
name: "sc_RedundantCartesianIter"
section: "3"
platform: "linux"
package: "libsc-doc"
version: "2.3.1-22"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/sc_RedundantCartesianIter"
---

# sc\_RedundantCartesianIter(3)

RedundantCartesianIter objects loop through all possible combinations of a given number of axes.

## NAME

sc::RedundantCartesianIter - **RedundantCartesianIter** objects loop through all possible combinations of a given number of axes.

## SYNOPSIS

`#include <cartiter.h>`

Inherited by **sc::RedundantCartesianIterCCA**, **sc::RedundantCartesianIterCints**, and **sc::RedundantCartesianIterV3**.

### Public Member Functions

**RedundantCartesianIter** (int **l**)\
 Create a object for the given angular momentum.  virtual int **bfn** ()=0\
 Return the current Cartesian basis function number.  void **start** ()\
 Initialize the iterator.  void **next** ()\
 Move to the next combination of axes.  **operator int** ()\
 Returns nonzero if the iterator currently hold valid data.  int **a** ()\
 The current exponent of x.  int **b** ()\
 The current exponent of y.  int **c** ()\
 The current exponent of z.  int **l** ()\
 The angular momentum.  int **l** (int i)\
 Returns **a()** if i==0, **b()** if i==1, and **c()** if i==2.  int **axis** (int i)\
 Return the i'th 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.

## Member Function Documentation

### virtual int sc::RedundantCartesianIter::bfn ()` [pure virtual]`

Return the current Cartesian basis function number.

Implemented in **sc::RedundantCartesianIterCints**, **sc::RedundantCartesianIterCCA**, and **sc::RedundantCartesianIterV3**.

## Author

Generated automatically by Doxygen for MPQC from the source code.
