28 #ifndef _chemistry_qc_basis_intparams_h
29 #define _chemistry_qc_basis_intparams_h
33 #include <util/state/state.h>
34 #include <util/state/statein.h>
35 #include <util/state/stateout.h>
48 void set_position(
double*);
49 void set_vector(
double*);
57 const double *charges_;
58 const double *
const*positions_;
59 double *alloced_charges_;
60 double **alloced_positions_;
66 const double *
const*positions,
const double *charges,
70 int ncharges()
const {
return ncharges_; }
71 const double *charges()
const {
return charges_; }
72 const double *
const*positions()
const {
return positions_; }
91 template <
typename T>
const T* downcast(
const IntParams& p)
const {
92 const T* castptr = dynamic_cast<const T*>(&p);
97 unsigned int nparams_;
122 template <
typename Real>
explicit IntParamsOrigin(
const Real* O) : O_(3) {
123 std::copy(O, O+3, O_.begin());
129 const double* r()
const;
130 double r(
unsigned int xyz)
const;
133 std::vector<double> O_;
148 typedef std::vector<PrimitiveGeminal> ContractedGeminal;
158 const ContractedGeminal& ket);
164 const ContractedGeminal& bra()
const;
165 const ContractedGeminal& ket()
const;
169 static ContractedGeminal product(
const ContractedGeminal& A,
170 const ContractedGeminal& B);
176 static double null_exponent;
178 ContractedGeminal bra_;
179 ContractedGeminal ket_;
static ContractedGeminal zero_exponent_geminal
1 = e^(-0.0 * r_{12}^2)
Definition: intparams.h:150
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
Passes params to Integral::electron_repulsion() and other factory methods which do not need parameter...
Definition: intparams.h:107
Definition: intparams.h:53
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
Passes params to Integral::dipole() and other factory methods which need r information.
Definition: intparams.h:118
unsigned int nparams() const
Some IntParams implementations can have a variable number of params; otherwise this will return 0.
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
SpinCase1 other(SpinCase1 S)
given 1-spin return the other 1-spin
Definition: stateout.h:71
This class passes optional operator parameters.
Definition: intparams.h:80
std::pair< double, double > PrimitiveGeminal
std::pair< g, c > as in c * exp( - g*r12^2)
Definition: intparams.h:147
static ContractedGeminal null_geminal
null (i.e., invalid) geminal
Definition: intparams.h:152
Used to pass params to Integral::g12().
Definition: intparams.h:144
Base class for objects that can save/restore state.
Definition: state.h:45
The base class for all reference counted objects.
Definition: ref.h:192
Vector class derived from Eigen::Matrix with additional MPQC integration.
Definition: matrix.hpp:133
IntParamsG12(const ContractedGeminal &bra)
Request integrals with only 1 geminal (g12, g12/r12, [Ti,g12])
bool operator==(const Atom &a, const Atom &b)
Contains all MPQC code up to version 3.
Definition: mpqcin.h:14
Definition: intparams.h:39
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
Generated at Sun Jan 26 2020 23:23:57 for MPQC
3.0.0-alpha using the documentation package Doxygen
1.8.16.