81 G4double *yInitial, *yMiddle, *dydxMid, *yOneStep;
92 G4double momentum_mag_square = y[3]*y[3] + y[4]*y[4] + y[5]*y[5];
93 G4double inv_momentum_magnitude = 1.0 / std::sqrt( momentum_mag_square );
97 dydx[0] = y[3]*inv_momentum_magnitude;
98 dydx[1] = y[4]*inv_momentum_magnitude;
99 dydx[2] = y[5]*inv_momentum_magnitude;
101 dydx[3] = cof*(y[4]*Field[2] - y[5]*Field[1]) ;
102 dydx[4] = cof*(y[5]*Field[0] - y[3]*Field[2]) ;
103 dydx[5] = cof*(y[3]*Field[1] - y[4]*Field[0]) ;
110 PositionAndTime[0] = y[0];
111 PositionAndTime[1] = y[1];
112 PositionAndTime[2] = y[2];
114 PositionAndTime[3] = y[7];
115 fEq -> GetFieldValue(PositionAndTime,
B);
double B(double temperature)
void DumbStepper(const G4double yIn[], const G4double dydx[], G4double h, G4double yOut[])
G4ConstRK4 & operator=(const G4ConstRK4 &)=delete
G4int IntegratorOrder() const
void RightHandSideConst(const G4double y[], G4double dydx[]) const
void Stepper(const G4double y[], const G4double dydx[], G4double h, G4double yout[], G4double yerr[])
void GetConstField(const G4double y[], G4double Field[])
G4double DistChord() const
G4ConstRK4(const G4ConstRK4 &)=delete