MPQC 2.3.1

- Main Page
- Related Pages
- Classes
- Files

- File List

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:
58 OneBodyIntCCA(Integral*,
59 const Ref<GaussianBasisSet>&, const Ref<GaussianBasisSet>&,
60 IntegralEvaluatorFactory, IntegralFunction, bool );
61 ~OneBodyIntCCA();
62 void compute_shell(int,int);
63 bool cloneable();
64 Ref<OneBodyInt> clone();
65 };
66
68
72 class OneBodyDerivIntCCA : public OneBodyDerivInt {
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:
81 OneBodyDerivIntCCA(Integral*,
82 const Ref<GaussianBasisSet>&,
83 const Ref<GaussianBasisSet>&,
84 IntegralEvaluatorFactory,
85 bool, string);
86 ~OneBodyDerivIntCCA();
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: