59 typedef typename RungeKuttaGeodesic<Acceleration>::Scalar_t Scalar_t;
60 typedef typename RungeKuttaGeodesic<Acceleration>::Point_t Point_t;
61 typedef typename RungeKuttaGeodesic<Acceleration>::Vector_t Vector_t;
68 Vector_t b0, b1, b2, b3;
70 void predict(Point_t&xp, Vector_t&vp,
const Scalar_t&ds)
const
72 xp = x + v*ds + ds*ds/360.*(323.*b0-264.*b1+159.*b2-38.*b3);
73 vp = v + ds/24. *( 55.*b0- 59.*b1+ 37.*b2- 9.*b3);
76 void correct(Point_t&xp, Vector_t&vp,
const Scalar_t&ds)
const
78 Vector_t bp = -Accel(xp, vp);
80 + ds*ds/1440.*(135.*bp+752.*b0-246.*b1+ 96.*b2-17.*b3);
81 vp = v + ds/720. *(251.*bp+646.*b0-264.*b1+106.*b2-19.*b3);
105 Scalar_t ds = bk?-this->ds:this->ds;