~ubuntu-branches/ubuntu/oneiric/mpqc/oneiric

« back to all changes in this revision

Viewing changes to src/lib/chemistry/qc/intcca/obintcca.h

  • Committer: Bazaar Package Importer
  • Author(s): Michael Banck
  • Date: 2005-11-27 11:41:49 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20051127114149-zgz9r3gk50w8ww2q
Tags: 2.3.0-1
* New upstream release.
* debian/rules (SONAME): Activate awk snippet for automatic so-name
  detection again, resulting in a bump to `7' and making a `c2a' for
  the C++ allocator change unnecessary; closes: #339232.
* debian/patches/00list (08_gcc-4.0_fixes): Removed, no longer needed.
* debian/rules (test): Remove workarounds, do not abort build if tests
  fail.
* debian/ref: Removed.
* debian/control.in (libsc): Added Conflict against libsc6c2.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
 
 
46
/** This implements one body integrals through the CCA interface. It is
 
47
    given a function pointer to the IntCCA member that computes the
 
48
    particular integral of interest. */
 
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
 
 
67
///////////////////////////////////////////////////////////////////////////////
 
68
 
 
69
 /** This implements one body derivative integrals. It
 
70
     is given a function pointer to the Int1eCCA member that computes the
 
71
     particular integral of interest. */
 
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: