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

# sc\_SOBasis(3)

A SOBasis object describes the transformation from an atomic orbital basis to a symmetry orbital basis.

## NAME

sc::SOBasis - A **SOBasis** object describes the transformation from an atomic orbital basis to a symmetry orbital basis.

## SYNOPSIS

`#include <sobasis.h>`

Inherits **sc::RefCount**.

### Public Member Functions

**SOBasis** (const **Ref**\< **GaussianBasisSet** \> &, const **Ref**\< **Integral** \> &)\
 Create an **SOBasis** object given a **GaussianBasisSet** and **Integral** objects.  int **nshell** () const\
 Return the number of shells.  int **nirrep** () const\
 Return the number of irreps.  int **ncomponent** (int iirrep) const\
 int **nfunction\_in\_irrep** (int **irrep**) const\
 Return the number of functions in the given irrep.  int **function\_offset\_for\_irrep** (int **irrep**) const\
 Return the offset for the first function of the given irrep.  int **nfunction** (int ishell) const\
 Return the number of functions in the given shell.  int **naofunction** (int ishell) const\
 Return the number of functions in the AO shell that make up the given **SO** shell.  int **nfunction** (int ishell, int iirrep) const\
 Returns the number of functions in the shell in a given irrep.  int **max\_nfunction\_in\_shell** () const\
 Returns the maximum number of functions in a shell (summed over all irreps)  int **function\_offset\_within\_shell** (int ishell, int iirrep) const\
 Normally, **SO** shell numbering starts at zero within each irrep.  int **function** (int ishell)\
 Convert the **SO** shell number to the overall number of the first function within that shell.  int **irrep** (int ishell, int ifunc) const\
 Convert **SO** shell and function number within shell to irrep.  int **function\_within\_irrep** (int ishell, int ifunc) const\
 Convert **SO** shell and function number to number within irrep.  const **SOTransform** & **trans** (int i) const\
 Return the **SOTransform** object for the given shell.  void **print** (std::ostream &o=**ExEnv::out0**()) const\

### Protected Attributes

**Ref**\< **GaussianBasisSet** \> **basis\_**\
 int **nshell\_**\
 int **nirrep\_**\
 int \* **ncomp\_**\
 int \*\* **nfunc\_**\
 int \* **naofunc\_**\
 int \*\* **funcoff\_**\
 int \* **nfunc\_in\_irrep\_**\
 int \* **func\_**\
 int \* **irrep\_**\
 int \* **func\_within\_irrep\_**\
 **SOTransform** \* **trans\_**\

### Additional Inherited Members

## Detailed Description

A **SOBasis** object describes the transformation from an atomic orbital basis to a symmetry orbital basis.

## Member Function Documentation

### int sc::SOBasis::function\_offset\_within\_shell (int ishell, int iirrep) const` [inline]`

Normally, **SO** shell numbering starts at zero within each irrep. This returns an offset to make **SO** shell numbers unique within the shell.

## Author

Generated automatically by Doxygen for MPQC from the source code.
