8 #ifndef SPARROW_ONECENTERTWOELECTRONINTEGRALS_H
9 #define SPARROW_ONECENTERTWOELECTRONINTEGRALS_H
26 enum class BasisFunctions;
34 using orb_index_t = int;
36 void setElement(Utils::ElementType e, BasisFunctions basisFunctions = BasisFunctions::spd);
37 void calculateIntegrals();
38 int getNumberIntegrals()
const;
40 void set(orb_index_t a, orb_index_t b, orb_index_t c, orb_index_t d,
double value);
41 double get(orb_index_t a, orb_index_t b, orb_index_t c, orb_index_t d)
const;
42 double get(
int index)
const;
43 const Eigen::MatrixXd getIntegralMatrix();
48 void initialize(BasisFunctions basisFunctions);
49 void setExchangePIntegral();
50 void calculateIntegralsFromExponents();
51 bool needsIntegralsFromSlaterCondonParameters();
53 Utils::ElementType element_;
55 std::vector<double> integrals_;
56 std::vector<bool> alreadyGiven_;
59 bool elementHasBeenSet_{
false};
66 #endif // SPARROW_ONECENTERTWOELECTRONINTEGRALS_H
Definition: SlaterCondonParameters.h:43
Definition: OneCenterTwoElectronCalculator.h:29
Definition: oneCenterTwoElectronIntegrals.h:32
Definition: oneCenterTwoElectronIntegrals.h:24
Definition: oneCenterTwoElectronIntegrals.h:23