113 G4double hh = h * 0.5, h6 = h / 6.0;
121 for(
unsigned int i = 0; i <
N; ++i)
123 yt[i] = yIn[i] + hh * dydx[i];
125 this->RightHandSideInl(yt, dydxt);
127 for(
unsigned int i = 0; i <
N; ++i)
129 yt[i] = yIn[i] + hh * dydxt[i];
131 this->RightHandSideInl(yt, dydxm);
133 for(
unsigned int i = 0; i <
N; ++i)
135 yt[i] = yIn[i] + h * dydxm[i];
136 dydxm[i] += dydxt[i];
138 this->RightHandSideInl(yt, dydxt);
140 for(
unsigned int i = 0; i <
N; ++i)
142 yOut[i] = yIn[i] + h6 * (dydx[i] + dydxt[i] +
147 this->NormalisePolarizationVector(yOut);