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:
58 OneBodyIntCCA(Integral*,
60 IntegralEvaluatorFactory, IntegralFunction, bool );
61 ~OneBodyIntCCA();
62 void compute_shell(int,int);
63 bool cloneable();
65};
66
68
72class 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*,
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:
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
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 ...
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.
A template class that maintains references counts.
Definition ref.h:332

Generated at Mon Apr 28 2025 00:00:00 for MPQC 2.3.1 using the documentation package Doxygen 1.13.2.