Back to home page

Project CMSSW displayed by LXR

 
 

    


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   // Geant4 virtual methods
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