tbintv3.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
#ifndef _chemistry_qc_intv3_tbintv3_h
00029
#define _chemistry_qc_intv3_tbintv3_h
00030
00031
#include <chemistry/qc/basis/tbint.h>
00032
#include <chemistry/qc/intv3/int2e.h>
00033
00034
namespace sc {
00035
00037 class TwoBodyIntV3 :
public TwoBodyInt {
00038
protected:
00039
Ref<Int2eV3> int2ev3_;
00040
00041
public:
00042
TwoBodyIntV3(
Integral*integral,
00043
const Ref<GaussianBasisSet>&b1,
00044
const Ref<GaussianBasisSet>&b2,
00045
const Ref<GaussianBasisSet>&b3,
00046
const Ref<GaussianBasisSet>&b4,
00047 size_t storage);
00048 ~
TwoBodyIntV3();
00049
00050
int log2_shell_bound(
int,
int,
int,
int);
00051
void compute_shell(
int,
int,
int,
int);
00052
00053 size_t storage_used() {
return int2ev3_->storage_used(); }
00054
void set_integral_storage(size_t storage);
00055 };
00056
00059 class TwoBodyDerivIntV3 :
public TwoBodyDerivInt {
00060
protected:
00061
Ref<Int2eV3> int2ev3_;
00062
00063
public:
00064
TwoBodyDerivIntV3(
Integral*integral,
00065
const Ref<GaussianBasisSet>&b1,
00066
const Ref<GaussianBasisSet>&b2,
00067
const Ref<GaussianBasisSet>&b3,
00068
const Ref<GaussianBasisSet>&b4,
00069 size_t storage);
00070 ~
TwoBodyDerivIntV3();
00071
00072
int log2_shell_bound(
int,
int,
int,
int);
00073
void compute_shell(
int,
int,
int,
int,
DerivCenters&);
00074
00075 size_t storage_used() {
return int2ev3_->storage_used(); }
00076 };
00077
00078 }
00079
00080
#endif
00081
00082
00083
00084
00085
Generated at Sat Dec 18 15:14:22 2004 for MPQC
2.2.3 using the documentation package Doxygen
1.3.7-20040617.