00001 #ifndef __BDSSOLENOID_H 00002 #define __BDSSOLENOID_H 00003 00004 #include "globals.hh" 00005 00006 #include "BDSMagnet.hh" 00007 #include "BDSTiltOffset.hh" 00008 00009 #include <list> 00010 00011 struct BDSBeamPipeInfo; 00012 struct BDSMagnetOuterInfo; 00013 00014 class BDSSolenoid: public BDSMagnet 00015 { 00016 public: 00017 BDSSolenoid(G4String name, 00018 G4double length, 00019 G4double bField, 00020 BDSBeamPipeInfo* beamPipeInfo, 00021 BDSMagnetOuterInfo magnetOuterInfo, 00022 BDSTiltOffset tiltOffset = BDSTiltOffset()); 00023 ~BDSSolenoid(){;}; 00024 00025 private: 00026 G4double itsBField; 00027 00028 virtual void Build(); 00029 virtual void BuildBPFieldAndStepper(); 00030 }; 00031 00032 #endif 00033