Main Page   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

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:

Inheritance graph
[legend]
Collaboration diagram for sc::Int2eCints:

Collaboration graph
[legend]
List of all members.

Public Methods

 Int2eCints (Integral *, const Ref< GaussianBasisSet > &, const Ref< GaussianBasisSet > &, const Ref< GaussianBasisSet > &, const Ref< GaussianBasisSet > &, size_t storage)
 ~Int2eCints ()
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< GaussianBasisSetbasis ()
Ref< GaussianBasisSetbasis1 ()
Ref< GaussianBasisSetbasis2 ()
Ref< GaussianBasisSetbasis3 ()
Ref< GaussianBasisSetbasis4 ()

Protected Methods

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 Methods

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

Integralintegral_
Ref< GaussianBasisSetbs1_
Ref< GaussianBasisSetbs2_
Ref< GaussianBasisSetbs3_
Ref< GaussianBasisSetbs4_
Ref< MessageGrpgrp_
GaussianShellint_shell1_
GaussianShellint_shell2_
GaussianShellint_shell3_
GaussianShellint_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:
Generated at Fri Dec 26 11:17:40 2003 for MPQC 2.2.1 using the documentation package Doxygen 1.2.14.