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

# sc\_OneBodyInt(3)

OneBodyInt is an abstract base class for objects that compute integrals between two basis functions.

## NAME

sc::OneBodyInt - **OneBodyInt** is an abstract base class for objects that compute integrals between two basis functions.

## SYNOPSIS

`#include <obint.h>`

Inherits **sc::RefCount**.

Inherited by **sc::DipoleIntV3**, **sc::EfieldDotVectorIntV3**, **sc::OneBodyIntCCA**, **sc::OneBodyIntCints**, **sc::OneBodyIntV3**, and **sc::PointChargeIntV3**.

### Public Member Functions

int **nbasis** () const\
 Returns the number of basis functions on center one.  int **nbasis1** () const\
 Returns the number of basis functions on the center one.  int **nbasis2** () const\
 Returns the number of basis functions on the center two.  int **nshell** () const\
 Return the number of shells on center one.  int **nshell1** () const\
 Return the number of shells on the center one.  int **nshell2** () const\
 Return the number of shells on the center two.  **Ref**\< **GaussianBasisSet** \> **basis** ()\
 Return the basis set on center one.  **Ref**\< **GaussianBasisSet** \> **basis1** ()\
 Return the basis set on the center one.  **Ref**\< **GaussianBasisSet** \> **basis2** ()\
 Return the basis set on the center two.  const double \* **buffer** () const\
 Returns the buffer where the integrals are placed.  virtual void **compute\_shell** (int, int)=0\
 Computes the integrals between basis functions in the given shell pair.  virtual void **reinitialize** ()\
 This is called for one body integrals that take data to let them know that the data they reference has changed.  virtual bool **cloneable** ()\
 Return true if the clone member can be called.  virtual **Ref**\< **OneBodyInt** \> **clone** ()\
 Returns a clone of this.  **Integral** \* **integral** () const\

### Protected Member Functions

**OneBodyInt** (**Integral** \*integral, const **Ref**\< **GaussianBasisSet** \> &b1, const **Ref**\< **GaussianBasisSet** \> &b2=0)\

### Protected Attributes

**Integral** \* **integral\_**\
 **Ref**\< **GaussianBasisSet** \> **bs1\_**\
 **Ref**\< **GaussianBasisSet** \> **bs2\_**\
 double \* **buffer\_**\

## Detailed Description

**OneBodyInt** is an abstract base class for objects that compute integrals between two basis functions.

## Member Function Documentation

### virtual Ref\< OneBodyInt \> sc::OneBodyInt::clone ()` [virtual]`

Returns a clone of this. The default implementation throws an exception.

Reimplemented in **sc::OneBodyIntCints**, **sc::OneBodyIntCCA**, and **sc::OneBodyIntV3**.

### virtual bool sc::OneBodyInt::cloneable ()` [virtual]`

Return true if the clone member can be called. The default implementation returns false.

Reimplemented in **sc::OneBodyIntCints**, **sc::OneBodyIntCCA**, and **sc::OneBodyIntV3**.

### virtual void sc::OneBodyInt::compute\_shell (int, int)` [pure virtual]`

Computes the integrals between basis functions in the given shell pair.

Implemented in **sc::OneBodyIntCints**, **sc::OneBodyIntCCA**, **sc::OneBodyIntV3**, **sc::PointChargeIntV3**, **sc::EfieldDotVectorIntV3**, and **sc::DipoleIntV3**.

## Author

Generated automatically by Doxygen for MPQC from the source code.
