/home/cern/BDSIM_new/include/BDSTMultipole.hh

00001 /* BDSIM, v0.1   
00002 
00003 Last modified 17.04.2006 by Ilya Agapov
00004 
00005 */
00006 
00007 #ifndef BDSTMultipole_h
00008 #define BDSTMultipole_h 1
00009 
00010 #include "globals.hh"
00011 #include "BDSMaterials.hh"
00012 #include "G4LogicalVolume.hh"
00013 #include "BDSRK4Stepper.hh"
00014 
00015 #include "G4FieldManager.hh"
00016 #include "G4ChordFinder.hh"
00017 #include "G4Mag_UsualEqRhs.hh"
00018 #include "G4UserLimits.hh"
00019 #include "G4VisAttributes.hh"
00020 #include "G4PVPlacement.hh"
00021 
00022 #include "BDSMultipole.hh"
00023 #include "BDSMultipoleMagField.hh"
00024 
00025 #include <list>
00026 
00027 class BDSTMultipole :public BDSMultipole
00028 {
00029 public:
00030   BDSTMultipole(G4String aName, G4double aLength,
00031                 G4double bpRad, G4double FeRad,
00032                 G4double outR,
00033                 list<G4double> aknl, list<double> aksl,
00034                 G4String aMaterial = "");
00035     ~BDSTMultipole();
00036 
00037 protected:
00038 
00039 private:
00040   list<G4double> bnl;
00041   list<G4double> bsl;
00042   G4int itsOrder;
00043   
00044   void BuildBPFieldAndStepper();
00045 
00046   G4VisAttributes* SetVisAttributes();
00047 
00048   // field related objects:
00049   BDSRK4Stepper* itsStepper;
00050   BDSMultipoleMagField* itsMagField;
00051   G4Mag_UsualEqRhs* itsEqRhs;
00052 
00053 };
00054 
00055 #endif

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