00001 #ifndef SimG4Core_FieldStepper_H 00002 #define SimG4Core_FieldStepper_H 00003 00004 #include "G4MagIntegratorStepper.hh" 00005 00006 class G4Mag_UsualEqRhs; 00007 00008 namespace sim { 00009 class FieldStepper : public G4MagIntegratorStepper 00010 { 00011 public: 00012 FieldStepper(G4Mag_UsualEqRhs * eq); 00013 ~FieldStepper(); 00014 virtual void Stepper(const double y[],const double dydx[],double h, 00015 double yout[],double yerr[]); 00016 virtual double DistChord() const; 00017 virtual int IntegratorOrder() const; 00018 G4MagIntegratorStepper * select(const std::string & s); 00019 private: 00020 G4MagIntegratorStepper * theStepper; 00021 G4Mag_UsualEqRhs * theEquation; 00022 }; 00023 } 00024 00025 #endif