79 G4double *yInitial, *yMiddle, *dydxMid, *yOneStep;
90 G4double momentum_mag_square = y[3]*y[3] + y[4]*y[4] + y[5]*y[5];
91 G4double inv_momentum_magnitude = 1.0 / std::sqrt( momentum_mag_square );
95 dydx[0] = y[3]*inv_momentum_magnitude;
96 dydx[1] = y[4]*inv_momentum_magnitude;
97 dydx[2] = y[5]*inv_momentum_magnitude;
99 dydx[3] = cof*(y[4]*Field[2] - y[5]*Field[1]) ;
100 dydx[4] = cof*(y[5]*Field[0] - y[3]*Field[2]) ;
101 dydx[5] = cof*(y[3]*Field[1] - y[4]*Field[0]) ;
108 PositionAndTime[0] = y[0];
109 PositionAndTime[1] = y[1];
110 PositionAndTime[2] = y[2];
112 PositionAndTime[3] = y[7];
113 fEq -> GetFieldValue(PositionAndTime,
B);
G4double B(G4double temperature)
void Stepper(const G4double y[], const G4double dydx[], G4double h, G4double yout[], G4double yerr[]) override
G4ConstRK4 & operator=(const G4ConstRK4 &)=delete
G4double DistChord() const override
G4int IntegratorOrder() const override
void RightHandSideConst(const G4double y[], G4double dydx[]) const
G4ConstRK4(G4Mag_EqRhs *EquationMotion, G4int numberOfStateVariables=8)
void DumbStepper(const G4double yIn[], const G4double dydx[], G4double h, G4double yOut[]) override
void GetConstField(const G4double y[], G4double Field[])
G4ConstRK4(const G4ConstRK4 &)=delete