00001 // 00002 // BDSIM, (C) 2001-2006 00003 // 00004 // version 0.3 00005 // 00006 // Quadrupole class 00007 // 00008 // 00009 // History 00010 // 00011 // 21 Nov 2006 by Agapov, v.0.3 00012 // 22 Mar 2005 by Agapov, Carter, v.0.2 00013 // x x 2002 by Blair 00014 00015 #ifndef BDSQUADRUPOLE_H 00016 #define BDSQUADRUPOLE_H 00017 00018 #include "globals.hh" 00019 #include "BDSMagnet.hh" 00020 #include "BDSTiltOffset.hh" 00021 00022 struct BDSBeamPipeInfo; 00023 struct BDSMagnetOuterInfo; 00024 00025 class BDSQuadrupole: public BDSMagnet 00026 { 00027 public: 00028 BDSQuadrupole(G4String name, 00029 G4double length, 00030 G4double bGrad, 00031 BDSBeamPipeInfo* beamPipeInfo, 00032 BDSMagnetOuterInfo magnetOuterInfo, 00033 BDSTiltOffset tiltOffset = BDSTiltOffset()); 00034 00035 ~BDSQuadrupole(){;} 00036 00037 private: 00038 G4double itsBGrad; 00039 00040 virtual void Build(); 00041 virtual void BuildBPFieldAndStepper(); 00042 }; 00043 00044 #endif