28#ifndef _chemistry_qc_cints_tbint_h
29#define _chemistry_qc_cints_tbint_h
31#include <chemistry/qc/basis/tbint.h>
32#include <chemistry/qc/cints/int2e.h>
37typedef enum {erieval = 0, grteval = 1, greval = 2} tbinteval;
40class TwoBodyIntCints :
public TwoBodyInt {
50 size_t storage, tbinteval int2etype);
56 size_t used_storage()
const {
return int2ecints_->storage_used(); }
60 return int2ecints_->buffer(te_type);
66class TwoBodyDerivIntCints :
public TwoBodyDerivInt {
71 TwoBodyDerivIntCints(
Integral*integral,
76 size_t storage, tbinteval int2etype);
77 ~TwoBodyDerivIntCints();
82 size_t used_storage()
const {
return int2ecints_->storage_used(); }
DerivCenters keeps track the centers that derivatives are taken with respect to.
Definition dercent.h:41
The Integral abstract class acts as a factory to provide objects that compute one and two electron in...
Definition integral.h:58
A template class that maintains references counts.
Definition ref.h:332
int log2_shell_bound(int, int, int, int)
Return log base 2 of the maximum magnitude of any integral in a shell block.
void compute_shell(int, int, int, int, DerivCenters &)
Given for shell indices, this will cause the integral buffer to be filled in.
void set_integral_storage(size_t storage)
This storage is used to cache computed integrals.
void compute_shell(int, int, int, int)
Given four shell indices, integrals will be computed and placed in the buffer.
const double * buffer(tbint_type te_type) const
The computed shell integrals will be put in the buffer returned by this member.
Definition tbintcints.h:59
int log2_shell_bound(int, int, int, int)
Return log base 2 of the maximum magnitude of any integral in a shell block obtained from compute_she...
tbint_type
Types of two-body integrals that TwoBodyInt understands: eri stands for electron repulsion integral,...
Definition tbint.h:111
Integral * integral() const
Return the integral factory that was used to create this object.
Definition tbint.h:141