13#ifndef included_MPQC_IntegralEvaluator2_Impl_hh
14#define included_MPQC_IntegralEvaluator2_Impl_hh
16#ifndef included_sidl_cxx_hh
19#ifndef included_MPQC_IntegralEvaluator2_IOR_h
20#include "MPQC_IntegralEvaluator2_IOR.h"
25#ifndef included_Chemistry_QC_GaussianBasis_DerivCenters_hh
26#include "Chemistry_QC_GaussianBasis_DerivCenters.hh"
28#ifndef included_Chemistry_QC_GaussianBasis_Molecular_hh
29#include "Chemistry_QC_GaussianBasis_Molecular.hh"
31#ifndef included_MPQC_IntegralEvaluator2_hh
32#include "MPQC_IntegralEvaluator2.hh"
34#ifndef included_sidl_BaseInterface_hh
35#include "sidl_BaseInterface.hh"
37#ifndef included_sidl_ClassInfo_hh
38#include "sidl_ClassInfo.hh"
43#include <chemistry/qc/basis/gaussbas.h>
44#include <chemistry/qc/intv3/cartitv3.h>
45#include <chemistry/qc/intv3/intv3.h>
47 #include <chemistry/qc/cints/cints.h>
77 IntegralEvaluator2 self;
80 Chemistry::Molecule molecule_;
81 std::string evaluator_label_;
88 sidl::array<double> sidl_buffer_;
89 const double *sc_buffer_;
92 enum { one_body, one_body_deriv};
97 Chemistry::QC::GaussianBasis::DerivCenters deriv_centers_;
99 void reorder_intv3(int64_t, int64_t);
100 void initialize_reorder_intv3();
114 self(s,
true) { _ctor(); }
135 const ::std::string& label
150 ::Chemistry::QC::GaussianBasis::Molecular bs1,
151 ::Chemistry::QC::GaussianBasis::Molecular bs2,
152 const ::std::string& label,
208 ::sidl::array<
double>
Symbol "MPQC.IntegralEvaluator2" (version 0.2)
Definition: MPQC_IntegralEvaluator2_Impl.hh:72
void set_integral_package(const ::std::string &label)
user defined non-static method.
void set_derivcenters(::Chemistry::QC::GaussianBasis::DerivCenters dc)
Allows a DerivCenters object to be passed to an evaluator, so that derivatives can be taken with resp...
void * get_buffer()
Get the buffer pointer.
void initialize(::Chemistry::QC::GaussianBasis::Molecular bs1, ::Chemistry::QC::GaussianBasis::Molecular bs2, const ::std::string &label, int64_t max_deriv)
Initialize the evaluator.
void compute(int64_t shellnum1, int64_t shellnum2, int64_t deriv_level, ::Chemistry::QC::GaussianBasis::DerivCenters deriv_ctr)
Compute a shell doublet of integrals.
::sidl::array< double > compute_array(int64_t shellnum1, int64_t shellnum2, int64_t deriv_level, ::Chemistry::QC::GaussianBasis::DerivCenters deriv_ctr)
Compute a shell doublet of integrals and return as a borrowed sidl array.
DerivCenters keeps track the centers that derivatives are taken with respect to.
Definition: dercent.h:41
A Gaussian orbital shell.
Definition: gaussshell.h:48
A template class that maintains references counts.
Definition: ref.h:332