9 m_hermiteIntegral(4 * singleAngularMomentumMax),
10 m_hermiteExpansionCoefficientAB(singleAngularMomentumMax+1),
11 m_hermiteExpansionCoefficientCD(singleAngularMomentumMax+1)
13 reset(singleAngularMomentumMax);
25 setAB(corePositionA, corePositionB, primitiveA, primitiveB);
26 setCD(corePositionC, corePositionD, primitiveC, primitiveD);
38 Vector3 P = (a * corePositionA + b * corePositionB) / (a + b);
57 Vector3 Q = (c * corePositionC + d * corePositionD) / (c + d);
60 double alpha = p*q/(p+q);
86 int iB,
int jB,
int kB,
87 int iC,
int jC,
int kC,
88 int iD,
int jD,
int kD) {
101 int phiMax = kC + kD;
102 for (
int t = 0; t < tMax + 1; ++t) {
103 for (
int u = 0; u < uMax + 1; ++u) {
104 for (
int v = 0; v < vMax + 1; ++v) {
105 for (
int tau = 0; tau < tauMax + 1; ++tau) {
106 for (
int nu = 0; nu < nuMax + 1; ++nu) {
107 for (
int phi = 0; phi < phiMax + 1; ++phi) {
109 product *= Eab(iA, jA, kA, iB, jB, kB, t, u, v);
110 product *= Ecd(iC, jC, kC, iD, jD, kD, tau, nu, phi);
112 product *= (1 - 2*((tau + nu + phi) % 2));
113 product *= R(0, t + tau, u + nu, v + phi);
122 result *= 2 * pow(M_PI, 5.0/2.0) / (p*q*sqrt(p + q));