*Manual Reference Pages - * SC_TWOBODYTWOCENTERINT (3)
### NAME
sc::TwoBodyTwoCenterInt - This is an abstract base type for classes that compute integrals involving two electrons in two Gaussian functions.
### CONTENTS
Synopsis
### SYNOPSIS
`#include <tbint.h>`
Inherits **sc::RefCount**.
Inherited by **sc::TwoBodyTwoCenterIntV3**.
#### Public Types
enum**tbint_type**{**eri**=0,**r12**=1,**r12t1**=2,**r12t2**=3*}*
*Types of two-body integrals that ***TwoBodyInt** understands: eri stands for electron repulsion integral, r12 stands for integrals of r12 operator, r12t1 and r12t2 are integrals of [r12,T1] and [r12,T2] operators.
#### 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. *
virtual const double * **buffer** (**tbint_type** type=eri) const
*The computed shell integrals will be put in the buffer returned by this member. *
virtual void **compute_shell** (int, int)=0
*Given four shell indices, integrals will be computed and placed in the buffer. *
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 obtained from compute_shell. *
int **redundant** () const
*If redundant is true, then keep redundant integrals in the buffer. *
void **set_redundant** (int i)
*See ***redundant()**.
virtual void **set_integral_storage** (size_t storage)
*This storage is used to cache computed integrals. *
**Integral** * **integral** () const
*Return the integral factory that was used to create this object. *
#### Static Public Attributes
static const int **num_tbint_types** = 4
*The total number of such types. *
#### Protected Member Functions
**TwoBodyTwoCenterInt** (**Integral** ***integral**, const **Ref**< **GaussianBasisSet** > &bs1, const **Ref**< **GaussianBasisSet** > &bs2)
#### Protected Attributes
**Integral** * **integral_**
**Ref**< **GaussianBasisSet** > **bs1_**
**Ref**< **GaussianBasisSet** > **bs2_**
double * **buffer_**
int **redundant_**
### Detailed Description
This is an abstract base type for classes that compute integrals involving two electrons in two Gaussian functions.
### Member Function Documentation
The computed shell integrals will be put in the buffer returned by this member. Some **TwoBodyInt** specializations have more than one buffer: The type arguments selects which buffer is returned. If the requested type is not supported, then 0 is returned.
Given four shell indices, integrals will be computed and placed in the buffer. The first index corresponds to electron 1 and the second index corresponds to electron 2.
Implemented in **sc::TwoBodyTwoCenterIntV3**.
Return log base 2 of the maximum magnitude of any integral in a shell block obtained from compute_shell. An index of -1 for any argument indicates any shell.
Implemented in **sc::TwoBodyTwoCenterIntV3**.
If redundant is true, then keep redundant integrals in the buffer. The default is true.
### Author
Generated automatically by Doxygen for MPQC from the source code.
*Version 2.3.1* | SC::TWOBODYTWOCENTERINT (3) | *Sun Apr 3 2016* |
Visit the GSP FreeBSD Man Page Interface. Output converted with manServer 1.07. |