MPQC  2.3.1
obintv3.h
1 //
2 // obintv3.h
3 //
4 // Copyright (C) 1996 Limit Point Systems, Inc.
5 //
6 // Author: Curtis Janssen <cljanss@limitpt.com>
7 // Maintainer: LPS
8 //
9 // This file is part of the SC Toolkit.
10 //
11 // The SC Toolkit is free software; you can redistribute it and/or modify
12 // it under the terms of the GNU Library General Public License as published by
13 // the Free Software Foundation; either version 2, or (at your option)
14 // any later version.
15 //
16 // The SC Toolkit is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 // GNU Library General Public License for more details.
20 //
21 // You should have received a copy of the GNU Library General Public License
22 // along with the SC Toolkit; see the file COPYING.LIB. If not, write to
23 // the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
24 //
25 // The U.S. Government is granted a limited license as per AL 91-7.
26 //
27 
28 #ifndef _chemistry_qc_intv3_obintv3_h
29 #define _chemistry_qc_intv3_obintv3_h
30 
31 #include <chemistry/qc/basis/obint.h>
32 #include <chemistry/qc/intv3/int1e.h>
33 
34 namespace sc {
35 
36 // /////////////////////////////////////////////////////////////////////////
37 
41 class OneBodyIntV3 : public OneBodyInt {
42  protected:
43  Ref<Int1eV3> int1ev3_;
44  typedef void (Int1eV3::*IntegralFunction)(int,int);
45  IntegralFunction intfunc_;
46  public:
49  IntegralFunction);
50  ~OneBodyIntV3();
51  void compute_shell(int,int);
52  bool cloneable();
54 };
55 
57 {
58  protected:
59  Ref<Int1eV3> int1ev3_;
61  public:
63  const Ref<GaussianBasisSet>&,
64  const Ref<GaussianBasisSet>&,
65  const Ref<PointChargeData>&);
67  void compute_shell(int,int);
68 };
69 
71 {
72  protected:
73  Ref<Int1eV3> int1ev3_;
75  public:
77  const Ref<GaussianBasisSet>&,
78  const Ref<GaussianBasisSet>&,
81  void compute_shell(int,int);
82 };
83 
84 class DipoleIntV3: public OneBodyInt
85 {
86  protected:
87  Ref<Int1eV3> int1ev3_;
88  Ref<DipoleData> data_;
89  public:
91  const Ref<GaussianBasisSet>&,
92  const Ref<GaussianBasisSet>&,
93  const Ref<DipoleData>&);
94  ~DipoleIntV3();
95  void compute_shell(int,int);
96 };
97 
98 // /////////////////////////////////////////////////////////////////////////
99 
104  protected:
105  Ref<Int1eV3> int1ev3_;
106  typedef void (Int1eV3::*IntegralFunction)(int,int,int,int);
107  IntegralFunction intfunc_;
108  public:
110  const Ref<GaussianBasisSet>&,
111  const Ref<GaussianBasisSet>&,
112  IntegralFunction);
114  void compute_shell(int,int,DerivCenters&);
115  void compute_shell(int,int,int);
116 };
117 
118 }
119 
120 #endif
121 
122 // Local Variables:
123 // mode: c++
124 // c-file-style: "CLJ"
125 // End:
OneBodyInt is an abstract base class for objects that compute integrals between two basis functions...
Definition: obint.h:100
Int1eV3 is a class wrapper for the one body part of the C language IntV3 library. ...
Definition: intv3/int1e.h:47
void compute_shell(int, int)
Computes the integrals between basis functions in the given shell pair.
This implements most one body integrals in the IntV3 library.
Definition: obintv3.h:41
The Integral abstract class acts as a factory to provide objects that compute one and two electron in...
Definition: integral.h:58
void compute_shell(int, int)
Computes the integrals between basis functions in the given shell pair.
bool cloneable()
Return true if the clone member can be called.
OneBodyDerivInt is an abstract base class for objects that compute one body derivative integrals...
Definition: obint.h:390
A template class that maintains references counts.
Definition: ref.h:332
Definition: obintv3.h:84
Definition: mpqcin.h:13
DerivCenters keeps track the centers that derivatives are taken with respect to.
Definition: dercent.h:41
Definition: obintv3.h:56
This implements one body derivative integrals in the IntV3 library.
Definition: obintv3.h:103
void compute_shell(int, int, DerivCenters &)
Compute the derivative integrals and place the result in the buffer returned by buffer().
Ref< OneBodyInt > clone()
Returns a clone of this.
void compute_shell(int, int)
Computes the integrals between basis functions in the given shell pair.
Definition: obintv3.h:70
void compute_shell(int, int)
Computes the integrals between basis functions in the given shell pair.

Generated at Fri Feb 16 2018 01:48:56 for MPQC 2.3.1 using the documentation package Doxygen 1.8.14.