19#include "BDSIntegratorDipoleFringeScaling.hh"
21#include "G4Mag_EqRhs.hh"
22#include "G4ThreeVector.hh"
27 G4double minimumRadiusOfCurvatureIn,
28 const G4double& tiltIn):
30 bRho(brhoIn*(*strengthIn)[
"scaling"])
34 const G4double dydx[],
40 G4ThreeVector mom = G4ThreeVector(yIn[3], yIn[4], yIn[5]);
41 G4double momInMag = mom.mag();
44 const G4double fcof =
eqOfM->FCof();
47 G4double momScaling = std::abs(momInMag / (fcof *
bRho));
49 BaseStepper(yIn, dydx, h, yOut, yErr, fcof, momScaling);
BDSIntegratorDipoleFringeScaling()=delete
Private default constructor to enforce use of supplied constructor.
const G4double bRho
Nominal magnetic rigidity.
virtual void Stepper(const G4double yIn[], const G4double dydx[], const G4double h, G4double yOut[], G4double yErr[])
Integrator that ignores the field and uses the analytical solution for a dipole kick.
void BaseStepper(const G4double yIn[6], const G4double dydx[6], const G4double &h, G4double yOut[6], G4double yErr[6], const G4double &fcof, const G4double &momScaling)
G4Mag_EqRhs * eqOfM
Cache of equation of motion. This class does not own it.
Efficient storage of magnet strengths.