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 Sat Mar 29 2025 15:15:51 for MPQC 2.3.1 using the documentation package Doxygen 1.9.6.