46 :
G4Mag_EqRhs( MagField ), omegac(0.), anomaly(0.0011659208),
47 pcharge(0.), E(0.), gamma(0.), beta(0.)
65 pcharge = particleCharge;
67 E = std::sqrt(
sqr(MomentumXc)+
sqr(particleMass));
69 gamma = E/particleMass;
71 G4double neutronAnomaly = -2.9156797;
81 G4double inv_momentum_magnitude = 1.0 / std::sqrt( momentum_mag_square );
84 dydx[0] = y[3] * inv_momentum_magnitude;
85 dydx[1] = y[4] * inv_momentum_magnitude;
86 dydx[2] = y[5] * inv_momentum_magnitude;
93 dydx[3] = cof*(y[4]*B[2] - y[5]*B[1]) ;
94 dydx[4] = cof*(y[5]*B[0] - y[3]*B[2]) ;
95 dydx[5] = cof*(y[3]*B[1] - y[4]*B[0]) ;
99 u *= inv_momentum_magnitude;
103 G4double udb = anomaly*beta*gamma/(1.+gamma) * (BField * u);
104 G4double ucb = (anomaly+1./gamma)/beta;
107 dydx[6] = dydx[7] = dydx[8] = 0.0;
115 dSpin = omegac*(ucb*(Spin.
cross(BField))-udb*(Spin.
cross(u)));
117 dSpin = pcharge*omegac*(ucb*(Spin.
cross(BField))-udb*(Spin.
cross(u)));
120 dydx[ 9] = dSpin.
x();
121 dydx[10] = dSpin.
y();
122 dydx[11] = dSpin.
z();