1
#ifndef _psi_src_lib_libmints_kinetic_h_
2
#define _psi_src_lib_libmints_kinetic_h_
5
\file libmints/kinetic.h
9
#include <libmints/ref.h>
11
#include <libmints/basisset.h>
12
#include <libmints/gshell.h>
13
#include <libmints/osrecur.h>
14
#include <libmints/onebody.h>
15
#include <libmints/integral.h>
19
//! Computes kinetic integrals.
20
//! Use an IntegralFactory to create this object.
21
class KineticInt : public OneBodyInt
23
//! Obara and Saika recursion object to be used.
24
ObaraSaikaTwoCenterRecursion overlap_recur_;
26
//! Computes the kinetic integral between two gaussian shells.
27
void compute_pair(Ref<GaussianShell> &, Ref<GaussianShell> &);
28
//! Computes the kinetic derivatve between two gaussian shells.
29
void compute_pair_deriv1(Ref<GaussianShell> &, Ref<GaussianShell> &);
32
//! Constructor. Do not call directly, use an IntegralFactory.
33
KineticInt(IntegralFactory*, Ref<BasisSet> &, Ref<BasisSet> &, int deriv=0);
34
//! Virtual destructor.
35
virtual ~KineticInt();
37
//! Compute kinetic integral between two shells, result stored in buffer_.
38
void compute_shell(int, int);
39
//! Compute kinetic derivative between two shells, result stored in buffer_.
40
void compute_shell_deriv1(int, int);
42
/// Does the method provide first derivatives?
43
bool has_deriv1() { return true; }