File indexing completed on 2024-04-06 12:30:25
0001 #ifndef SimG4Core_MagneticField_FieldStepper_H
0002 #define SimG4Core_MagneticField_FieldStepper_H
0003
0004 #include "G4MagIntegratorStepper.hh"
0005
0006 class G4Mag_UsualEqRhs;
0007
0008 class FieldStepper : public G4MagIntegratorStepper {
0009 public:
0010 explicit FieldStepper(G4Mag_UsualEqRhs *eq, double del, const std::string &name);
0011 ~FieldStepper() override;
0012
0013
0014 void Stepper(const G4double y[], const G4double dydx[], G4double h, G4double yout[], G4double yerr[]) override;
0015 G4double DistChord() const override;
0016 G4int IntegratorOrder() const override;
0017
0018 private:
0019 void selectStepper(const std::string &);
0020
0021 G4MagIntegratorStepper *theStepper;
0022 G4Mag_UsualEqRhs *theEquation;
0023 double theDelta;
0024 };
0025
0026 #endif