# sc::Int2eCints Class Reference

Int2eCints is an interface to various specializations of two-electron integral evaluators implemented in Cints. More...

`#include <int2e.h>`

Inheritance diagram for sc::Int2eCints:

List of all members.

## Public Member Functions

| Int2eCints (Integral *, const Ref< GaussianBasisSet > &, const Ref< GaussianBasisSet > &, const Ref< GaussianBasisSet > &, const Ref< GaussianBasisSet > &, size_t storage)
void | init_storage (size_t)
| Sets storage limit and starts storage tracking.
void | done_storage ()
| Finishes storage tracking.
size_t | storage_used () const
| Reports how much storage is actually used at a given time.
int | redundant () const
| Whether redundant integrals are returned.
void | set_redundant (int flag)
| Set redundant flag.
int | permute () const
| Whether shells can be permuted.
void | set_permute (int flag)
| Set shell permutation flag.
virtual void | compute_quartet (int *, int *, int *, int *)=0
| Evaluate the target quartet of integrals.
virtual double * | buffer (TwoBodyInt::tbint_type=TwoBodyInt::eri) const =0
| Returns the location of the buffer with target integrals.
Ref< GaussianBasisSet > | basis ()
Ref< GaussianBasisSet > | basis1 ()
Ref< GaussianBasisSet > | basis2 ()
Ref< GaussianBasisSet > | basis3 ()
Ref< GaussianBasisSet > | basis4 ()

## Protected Member Functions

void | check_storage_ () const
void | transform_contrquartets_ (double *, double *)
void | sort_contrquartets_to_shellquartet_ (double *, double *)
void | permute_target_ (double *, double *, int, int, int)
void | permute_1234_to_1243_ (double *, double *)
void | permute_1234_to_2134_ (double *, double *)
void | permute_1234_to_2143_ (double *, double *)
void | permute_1234_to_3412_ (double *, double *)
void | permute_1234_to_3421_ (double *, double *)
void | permute_1234_to_4312_ (double *, double *)
void | permute_1234_to_4321_ (double *, double *)
void | get_nonredundant_ints_ (double *, double *, int, int, int)

## Static Protected Member Functions

static size_t | storage_required_ (const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< GaussianBasisSet > &b4=0)

## Protected Attributes

Integral * | integral_
Ref< GaussianBasisSet > | bs1_
Ref< GaussianBasisSet > | bs2_
Ref< GaussianBasisSet > | bs3_
Ref< GaussianBasisSet > | bs4_
Ref< MessageGrp > | grp_
GaussianShell * | int_shell1_
GaussianShell * | int_shell2_
GaussianShell * | int_shell3_
GaussianShell * | int_shell4_
int | permute_
int | redundant_
size_t | storage_
size_t | storage_used_
double * | tformbuf_

## Detailed Description

Int2eCints is an interface to various specializations of two-electron integral evaluators implemented in Cints.

It is used by TwoBodyIntCints and TwoBodyDerivIntCints to implement IntegralCints.

The documentation for this class was generated from the following file:

- cints/int2e.h