Kindfield
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Friends Pages
gaussianelectroninteractionintegral.h
Go to the documentation of this file.
1 #ifndef GAUSSIANTYPEELECTRONINTERACTIONINTEGRAL_H
2 #define GAUSSIANTYPEELECTRONINTERACTIONINTEGRAL_H
3 
4 #include <armadillo>
5 #include <hermiteintegral.h>
7 
8 class Vector3;
9 
10 using namespace arma;
11 
13 
15 {
16 public:
17  GaussianElectronInteractionIntegral(int singleAngularMomentumMax);
18 
20 
21  void reset(int singleAngularMomentumMax);
22 
23  void set(const Vector3 &corePositionA, const Vector3 &corePositionB,
24  const Vector3 &corePositionC, const Vector3 &corePositionD,
25  const GaussianPrimitiveOrbital &primitiveA, const GaussianPrimitiveOrbital &primitiveB,
26  const GaussianPrimitiveOrbital &primitiveC, const GaussianPrimitiveOrbital &primitiveD);
27  void setAB(const Vector3 &corePositionA, const Vector3 &corePositionB,
28  const GaussianPrimitiveOrbital &primitiveA, const GaussianPrimitiveOrbital &primitiveB);
29  void setCD(const Vector3 &corePositionC, const Vector3 &corePositionD,
30  const GaussianPrimitiveOrbital &primitiveC, const GaussianPrimitiveOrbital &primitiveD);
31  double electronInteractionIntegral(int iA, int jA, int kA,
32  int iB, int jB, int kB,
33  int iC, int jC, int kC,
34  int iD, int jD, int kD);
35  double electronInteractionIntegral(const GaussianPrimitiveOrbital &primitiveA, const GaussianPrimitiveOrbital &primitiveB, const GaussianPrimitiveOrbital &primitiveC, const GaussianPrimitiveOrbital &primitiveD);
36 protected:
43  double m_exponentP;
44  double m_exponentQ;
45 
50 };
51 
52 #endif // GAUSSIANTYPEELECTRONINTERACTIONINTEGRAL_H