19#ifndef BDSINTEGRATORDIPOLERODRIGUES2_H
20#define BDSINTEGRATORDIPOLERODRIGUES2_H
22#include "BDSIntegratorDrift.hh"
23#include "BDSMagnetStrength.hh"
26#include "G4MagHelicalStepper.hh"
27#include "G4ThreeVector.hh"
29class G4MagIntegratorStepper;
78 virtual void Stepper(
const G4double yIn[6],
79 const G4double dydx[],
84 virtual G4int IntegratorOrder()
const {
return 1;}
89 const G4ThreeVector& field,
Exact helix through pure dipole field.
void AdvanceHelixForSpiralling(const G4double yIn[6], const G4ThreeVector &field, const G4double &h, G4double yOut[6], G4double yErr[6])
G4Mag_EqRhs * eqOfM
Cache of equation of motion. This class does not own it.
void SingleStep(const G4double yIn[6], const G4double &h, G4double yOut[6])
G4double minimumRadiusOfCurvature
virtual void DumbStepper(const G4double yIn[6], G4ThreeVector field, G4double stepLength, G4double yOut[6])
G4double RadiusOfHelix() const
Public accessor for protected variable in base class.
virtual void Stepper(const G4double yIn[6], const G4double dydx[], G4double h, G4double yOut[6], G4double yErr[6])
Output error array.
BDSIntegratorDipoleRodrigues2()=delete
Private default constructor to force use of provided one.
void FudgeDistChordToZero()
Routine for drift algorithm.