/home/cern/BDSIM_new/include/BDSSolenoid.hh

00001 //  
00002 //   BDSIM, (C) 2001-2007
00003 //   
00004 //   version 0.4
00005 //  
00006 //
00007 //
00008 //   Solenoid Class
00009 //
00010 //
00011 //   History
00012 //
00013 //     21 Oct 2007 by Marchiori, v.0.4
00014 //
00015 
00016 #ifndef __BDSSOLENOID_H
00017 #define __BDSSOLENOID_H
00018 
00019 //#define _USE_GEANT4_STEPPER_
00020 
00021 #include "globals.hh"
00022 
00023 
00024 #include "G4VisAttributes.hh"
00025 #include "BDSMultipole.hh"
00026 
00027 class G4Mag_UsualEqRhs;
00028 class G4UniformMagField;
00029 class BDSSolenoidStepper;
00030 class BDSSolenoidMagField;
00031 
00032 class BDSSolenoid : public BDSMultipole
00033 {
00034 public:
00035   BDSSolenoid(G4String aName, G4double aLength,
00036               G4double bpRad, G4double FeRad,
00037               G4double bField, G4double outR, 
00038               G4String aMaterial= "", G4String spec="");
00039   ~BDSSolenoid();
00040 
00041   void SynchRescale(G4double factor);
00042 
00043 protected:
00044 
00045 private:
00046   G4double itsBField;
00047 
00048   void BuildBPFieldAndStepper();
00049 
00050   G4VisAttributes* SetVisAttributes();
00051 
00052   // field related objects:
00053 #ifdef _USE_GEANT4_STEPPER_
00054   BDSSolenoidMagField* itsMagField;
00055   G4MagIntegratorStepper* itsStepper;
00056 #else
00057   G4UniformMagField* itsMagField;
00058   BDSSolenoidStepper* itsStepper;
00059 #endif
00060   G4Mag_UsualEqRhs* itsEqRhs;
00061 };
00062 
00063 #endif
00064 

Generated on Wed Mar 5 17:25:22 2008 for BDSIM by  doxygen 1.5.3