83 G4double inv_momentum_magnitude = 1.0 / std::sqrt( momentum_mag_square );
86 dydx[0] = y[3] * inv_momentum_magnitude;
87 dydx[1] = y[4] * inv_momentum_magnitude;
88 dydx[2] = y[5] * inv_momentum_magnitude;
98 dydx[3] = cof*(y[4]*
B[2] - y[5]*
B[1]) ;
99 dydx[4] = cof*(y[5]*
B[0] - y[3]*
B[2]) ;
100 dydx[5] = cof*(y[3]*
B[1] - y[4]*
B[0]) ;
104 u *= inv_momentum_magnitude;
108 G4double udb = anomaly*beta*gamma/(1.+gamma) * (BField * u);
109 G4double ucb = (anomaly+1./gamma)/beta;
112 dydx[6] = dydx[7] = dydx[8] = 0.0;
127 if (Spin.mag2() != 0.)
129 dSpin = pcharge*omegac*(ucb*(Spin.cross(BField))-udb*(Spin.cross(u)));
133 dydx[10] = dSpin.
y();
134 dydx[11] = dSpin.
z();