57 for(
G4int i=0; i<nvar; ++i)
59 yInitial[i]=yInput[i];
61 yInitial[7] = yInput[7];
62 yMiddle[7] = yInput[7];
63 yOneStep[7] = yInput[7];
66 for(
G4int i=nvar; i<maxvar; ++i)
82 fMidPoint =
G4ThreeVector( yMiddle[0], yMiddle[1], yMiddle[2]);
87 for(
G4int i=0; i<nvar; ++i)
89 yError [i] = yOutput[i] - yOneStep[i] ;
90 yOutput[i] += yError[i]*correction ;
94 fInitialPoint =
G4ThreeVector( yInitial[0], yInitial[1], yInitial[2]);
95 fFinalPoint =
G4ThreeVector( yOutput[0], yOutput[1], yOutput[2]);
113 if (fInitialPoint != fFinalPoint)
119 distChord = distLine;
123 distChord = (fMidPoint-fInitialPoint).mag();
CLHEP::Hep3Vector G4ThreeVector
static G4double Distline(const G4ThreeVector &OtherPnt, const G4ThreeVector &LinePntA, const G4ThreeVector &LinePntB)
virtual void DumbStepper(const G4double y[], const G4double dydx[], G4double h, G4double yout[])=0
virtual ~G4MagErrorStepper()
G4double DistChord() const
void Stepper(const G4double y[], const G4double dydx[], G4double h, G4double yout[], G4double yerr[])
G4int GetNumberOfVariables() const
void RightHandSide(const G4double y[], G4double dydx[]) const
G4int GetNumberOfStateVariables() const
virtual G4int IntegratorOrder() const =0