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

obintv3.h

00001 //
00002 // obintv3.h
00003 //
00004 // Copyright (C) 1996 Limit Point Systems, Inc.
00005 //
00006 // Author: Curtis Janssen <cljanss@limitpt.com>
00007 // Maintainer: LPS
00008 //
00009 // This file is part of the SC Toolkit.
00010 //
00011 // The SC Toolkit is free software; you can redistribute it and/or modify
00012 // it under the terms of the GNU Library General Public License as published by
00013 // the Free Software Foundation; either version 2, or (at your option)
00014 // any later version.
00015 //
00016 // The SC Toolkit is distributed in the hope that it will be useful,
00017 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00018 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019 // GNU Library General Public License for more details.
00020 //
00021 // You should have received a copy of the GNU Library General Public License
00022 // along with the SC Toolkit; see the file COPYING.LIB.  If not, write to
00023 // the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
00024 //
00025 // The U.S. Government is granted a limited license as per AL 91-7.
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 // Local Variables:
00117 // mode: c++
00118 // c-file-style: "CLJ"
00119 // End:

Generated at Thu Oct 4 18:08:46 2001 for MPQC 2.0.0 using the documentation package Doxygen 1.2.5.