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_cints_obint_h
00029 #define _chemistry_qc_cints_obint_h
00030
00031 #include <chemistry/qc/basis/obint.h>
00032 #include <chemistry/qc/cints/int1e.h>
00033
00034 namespace sc {
00035
00039 class OneBodyIntCints : public OneBodyInt {
00040 Ref<Int1eCints> int1ecints_;
00041 typedef void (Int1eCints::*IntegralFunction)(int,int);
00042 IntegralFunction intfunc_;
00043 public:
00044 OneBodyIntCints(Integral*,
00045 const Ref<GaussianBasisSet>&, const Ref<GaussianBasisSet>&,
00046 IntegralFunction);
00047 ~OneBodyIntCints();
00048
00049 void set_multipole_origin(const Ref<DipoleData>&);
00050 void set_EdotV_origin(const Ref<EfieldDotVectorData>&);
00051 void set_Q_origin(const Ref<PointChargeData>&);
00052
00053 void compute_shell(int,int);
00054
00055 bool cloneable();
00056 Ref<OneBodyInt> clone();
00057 };
00058
00059 }
00060
00061 #endif
00062
00063
00064
00065
00066