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

# sc\_TwoBodyTwoCenterDerivInt(3)

This is an abstract base type for classes that compute two centers integrals involving two electrons.

## NAME

sc::TwoBodyTwoCenterDerivInt - This is an abstract base type for classes that compute two centers integrals involving two electrons.

## SYNOPSIS

`#include <tbint.h>`

Inherits **sc::RefCount**.

### Public Member Functions

int **nbasis** () const\
 Return the number of basis functions on center one.  int **nbasis1** () const\
 Return the number of basis functions on center one.  int **nbasis2** () const\
 Return the number of basis functions on center two.  int **nshell** () const\
 Return the number of shells on center one.  int **nshell1** () const\
 Return the number of shells on center one.  int **nshell2** () const\
 Return the number of shells on center two.  **Ref**\< **GaussianBasisSet** \> **basis** ()\
 Return the basis set on center one.  **Ref**\< **GaussianBasisSet** \> **basis1** ()\
 Return the basis set on center one.  **Ref**\< **GaussianBasisSet** \> **basis2** ()\
 Return the basis set on center two.  const double \* **buffer** () const\
 The computed shell integrals will be put in the buffer returned by this member.  virtual void **compute\_shell** (int, int, **DerivCenters** &)=0\
 Given for shell indices, this will cause the integral buffer to be filled in.  virtual int **log2\_shell\_bound** (int=-1, int=-1)=0\
 Return log base 2 of the maximum magnitude of any integral in a shell block.

### Protected Member Functions

**TwoBodyTwoCenterDerivInt** (**Integral** \*integral, const **Ref**\< **GaussianBasisSet** \> &b1, const **Ref**\< **GaussianBasisSet** \> &b2)\

### Protected Attributes

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

## Detailed Description

This is an abstract base type for classes that compute two centers integrals involving two electrons.

## Member Function Documentation

### virtual int sc::TwoBodyTwoCenterDerivInt::log2\_shell\_bound (int = `-1`, int = `-1`)` [pure virtual]`

Return log base 2 of the maximum magnitude of any integral in a shell block. An index of -1 for any argument indicates any shell. \

## Author

Generated automatically by Doxygen for MPQC from the source code.
