00001 #ifndef SimG4Core_Field_H 00002 #define SimG4Core_Field_H 00003 00004 #include "G4MagneticField.hh" 00005 00006 class MagneticField; 00007 class G4Mag_UsualEqRhs; 00008 00009 namespace sim { 00010 class Field : public G4MagneticField 00011 { 00012 public: 00013 Field(const MagneticField * f, double d); 00014 virtual ~Field(); 00015 G4Mag_UsualEqRhs* fieldEquation(); 00016 virtual void GetFieldValue(const double p[3],double b[3]) const; 00017 void fieldEquation(G4Mag_UsualEqRhs* e); 00018 private: 00019 const MagneticField* theCMSMagneticField; 00020 G4Mag_UsualEqRhs* theFieldEquation; 00021 double theDelta; 00022 }; 00023 } 00024 #endif