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
40using namespace Chemistry::QC::GaussianBasis;
41
42namespace sc {
43
44// /////////////////////////////////////////////////////////////////////////
45
49class 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 );
62 void compute_shell(int,int);
63 bool cloneable();
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:
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:
DerivCenters keeps track the centers that derivatives are taken with respect to.
Definition dercent.h:41
Int1eCCA adapts CCA integrals components for use within SC.
Definition intcca/int1e.h:55
The Integral abstract class acts as a factory to provide objects that compute one and two electron in...
Definition integral.h:58
This implements one body derivative integrals.
Definition obintcca.h:72
void compute_shell(int, int, DerivCenters &)
Compute the derivative integrals and place the result in the buffer returned by buffer().
void compute_shell(int, int, int)
Compute the derivative integrals with respect to the given center and place the result in the buffer ...
OneBodyDerivInt is an abstract base class for objects that compute one body derivative integrals.
Definition obint.h:390
This implements one body integrals through the CCA interface.
Definition obintcca.h:49
void compute_shell(int, int)
Computes the integrals between basis functions in the given shell pair.
Ref< OneBodyInt > clone()
Returns a clone of this.
bool cloneable()
Return true if the clone member can be called.
OneBodyInt is an abstract base class for objects that compute integrals between two basis functions.
Definition obint.h:100
A template class that maintains references counts.
Definition ref.h:332

Generated at Fri May 31 2024 00:00:00 for MPQC 2.3.1 using the documentation package Doxygen 1.11.0.