MPQC  2.3.1
obintcca.h
1 //
2 // obintcca.h
3 //
4 // Copyright (C) 2004, Sandia National Laboratories
5 //
6 // Author: Joe Kenny <jpkenny@sandia.gov>
7 // Maintainer: Joe Kenny
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 #ifdef __GNUG__
29 #pragma interface
30 #endif
31 
32 #ifndef _chemistry_qc_intcca_obintcca_h
33 #define _chemistry_qc_intcca_obintcca_h
34 
35 #include <chemistry/qc/basis/obint.h>
36 #include <chemistry/qc/intcca/int1e.h>
37 #include <Chemistry_QC_GaussianBasis_IntegralEvaluatorFactory.hh>
38 #include <Chemistry_QC_GaussianBasis_DerivCenters.hh>
39 
40 using namespace Chemistry::QC::GaussianBasis;
41 
42 namespace sc {
43 
44 // /////////////////////////////////////////////////////////////////////////
45 
49 class OneBodyIntCCA : public OneBodyInt {
50  private:
51  IntegralEvaluatorFactory eval_factory_;
52  bool use_opaque_;
53  protected:
54  Ref<sc::Int1eCCA> int1ecca_;
55  typedef void (sc::Int1eCCA::*IntegralFunction)(int,int);
56  IntegralFunction intfunc_;
57  public:
60  IntegralEvaluatorFactory, IntegralFunction, bool );
61  ~OneBodyIntCCA();
62  void compute_shell(int,int);
63  bool cloneable();
64  Ref<OneBodyInt> clone();
65 };
66 
68 
73  private:
74  IntegralEvaluatorFactory eval_factory_;
75  bool use_opaque_;
76  string eval_type_;
77  protected:
78  Ref<Int1eCCA> int1ecca_;
79  typedef void (Int1eCCA::*IntegralFunction)(int, int, DerivCenters&);
80  public:
82  const Ref<GaussianBasisSet>&,
83  const Ref<GaussianBasisSet>&,
84  IntegralEvaluatorFactory,
85  bool, string);
87  void compute_shell(int, int, DerivCenters&);
88  void compute_shell(int, int, int);
89 };
90 
91 }
92 
93 #endif
94 
95 // Local Variables:
96 // mode: c++
97 // c-file-style: "CLJ"
98 // End:
sc::OneBodyDerivIntCCA
This implements one body derivative integrals.
Definition: obintcca.h:72
sc::Ref< sc::Int1eCCA >
sc::OneBodyInt
OneBodyInt is an abstract base class for objects that compute integrals between two basis functions.
Definition: obint.h:100
sc::Integral
The Integral abstract class acts as a factory to provide objects that compute one and two electron in...
Definition: integral.h:58
sc::OneBodyDerivInt
OneBodyDerivInt is an abstract base class for objects that compute one body derivative integrals.
Definition: obint.h:390
sc::OneBodyIntCCA
This implements one body integrals through the CCA interface.
Definition: obintcca.h:49
sc::Int1eCCA
Int1eCCA adapts CCA integrals components for use within SC.
Definition: intcca/int1e.h:55
sc::DerivCenters
DerivCenters keeps track the centers that derivatives are taken with respect to.
Definition: dercent.h:41

Generated at Sun Jan 26 2020 23:33:04 for MPQC 2.3.1 using the documentation package Doxygen 1.8.16.