00001 /* BDSIM code. Version 1.0 00002 Author: Grahame A. Blair, Royal Holloway, Univ. of London. 00003 Last modified 24.7.2002 00004 Copyright (c) 2002 by G.A.Blair. ALL RIGHTS RESERVED. 00005 */ 00006 #ifndef BDSQUADMAGFIELD 00007 #define BDSQUADMAGFIELD 00008 00009 #include "G4Types.hh" 00010 #include "G4MagneticField.hh" 00011 #include "G4Navigator.hh" 00012 00013 class BDSQuadMagField : public G4MagneticField 00014 { 00015 public: // with description 00016 00017 BDSQuadMagField(G4double aBGrad); 00018 virtual ~BDSQuadMagField(); 00019 // Constructor and destructor. No actions. 00020 00021 00022 virtual void GetFieldValue( const G4double Point[4], 00023 G4double *Bfield ) const; 00024 void SetBGrad(G4double aBGrad); 00025 private: 00026 G4Navigator* QuadNavigator; 00027 G4double itsBGrad; 00028 }; 00029 00030 inline void BDSQuadMagField::SetBGrad(G4double aBGrad) 00031 { itsBGrad = aBGrad; } 00032 00033 #endif /* BDSQUADMAGFIELD */