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_obintv3_h
00029 #define _chemistry_qc_intv3_obintv3_h
00030
00031 #include <chemistry/qc/basis/obint.h>
00032 #include <chemistry/qc/intv3/int1e.h>
00033
00034
00035
00039 class OneBodyIntV3 : public OneBodyInt {
00040 protected:
00041 Ref<Int1eV3> int1ev3_;
00042 typedef void (Int1eV3::*IntegralFunction)(int,int);
00043 IntegralFunction intfunc_;
00044 public:
00045 OneBodyIntV3(Integral*,
00046 const Ref<GaussianBasisSet>&, const Ref<GaussianBasisSet>&,
00047 IntegralFunction);
00048 ~OneBodyIntV3();
00049 void compute_shell(int,int);
00050 };
00051
00052 class PointChargeIntV3 : public OneBodyInt
00053 {
00054 protected:
00055 Ref<Int1eV3> int1ev3_;
00056 Ref<PointChargeData> data_;
00057 public:
00058 PointChargeIntV3(Integral*,
00059 const Ref<GaussianBasisSet>&,
00060 const Ref<GaussianBasisSet>&,
00061 const Ref<PointChargeData>&);
00062 ~PointChargeIntV3();
00063 void compute_shell(int,int);
00064 };
00065
00066 class EfieldDotVectorIntV3: public OneBodyInt
00067 {
00068 protected:
00069 Ref<Int1eV3> int1ev3_;
00070 Ref<EfieldDotVectorData> data_;
00071 public:
00072 EfieldDotVectorIntV3(Integral*,
00073 const Ref<GaussianBasisSet>&,
00074 const Ref<GaussianBasisSet>&,
00075 const Ref<EfieldDotVectorData>&);
00076 ~EfieldDotVectorIntV3();
00077 void compute_shell(int,int);
00078 };
00079
00080 class DipoleIntV3: public OneBodyInt
00081 {
00082 protected:
00083 Ref<Int1eV3> int1ev3_;
00084 Ref<DipoleData> data_;
00085 public:
00086 DipoleIntV3(Integral*,
00087 const Ref<GaussianBasisSet>&,
00088 const Ref<GaussianBasisSet>&,
00089 const Ref<DipoleData>&);
00090 ~DipoleIntV3();
00091 void compute_shell(int,int);
00092 };
00093
00094
00095
00099 class OneBodyDerivIntV3 : public OneBodyDerivInt {
00100 protected:
00101 Ref<Int1eV3> int1ev3_;
00102 typedef void (Int1eV3::*IntegralFunction)(int,int,int,int);
00103 IntegralFunction intfunc_;
00104 public:
00105 OneBodyDerivIntV3(Integral*,
00106 const Ref<GaussianBasisSet>&,
00107 const Ref<GaussianBasisSet>&,
00108 IntegralFunction);
00109 ~OneBodyDerivIntV3();
00110 void compute_shell(int,int,DerivCenters&);
00111 void compute_shell(int,int,int);
00112 };
00113
00114 #endif
00115
00116
00117
00118
00119