00001
00002
00003
00004
00005
00006
00007
00008 #ifndef BDSEQRHS_DEF
00009 #define BDSEQRHS_DEF
00010
00011 #include "globals.hh"
00012 #include "G4EquationOfMotion.hh"
00013 #include "G4MagneticField.hh"
00014 #include "G4Mag_EqRhs.hh"
00015 #include "BDSSbendMagField.hh"
00016
00017 class BDS_EqRhs: public G4Mag_EqRhs
00018 {
00019 public:
00020
00021 BDS_EqRhs( BDSSbendMagField *magField );
00022 virtual ~BDS_EqRhs();
00023
00024 G4double GetKappa();
00025 G4double GetLocalRadius();
00026 void EvaluateRhsGivenB( const G4double y[],
00027 const G4double B[3],
00028 G4double dydx[] ) const;
00029
00030 protected:
00031 BDSSbendMagField* itsField;
00032
00033 private:
00034 G4double LocalRadius;
00035 };
00036
00037 inline G4double BDS_EqRhs::GetLocalRadius()
00038 {
00039 return itsField->GetLocalRadius();
00040 }
00041
00042 inline void BDS_EqRhs::EvaluateRhsGivenB( const G4double y[],
00043 const G4double B[3],
00044 G4double dydx[] ) const
00045 {;}
00046
00047 #endif