/home/cern/BDSIM_new/include/mySectorBend.hh

00001 #ifndef mySectorBend_h
00002 #define mySectorBend_h 
00003 
00004 #include "globals.hh"
00005 #include "BDSMaterials.hh"
00006 #include "G4LogicalVolume.hh"
00007 #include "BDSHelixStepper.hh"
00008 
00009 #include "myQuadStepper.hh"
00010 
00011 #include "G4FieldManager.hh"
00012 #include "G4ChordFinder.hh"
00013 #include "G4Mag_UsualEqRhs.hh"
00014 #include "G4UserLimits.hh"
00015 #include "G4VisAttributes.hh"
00016 #include "G4UniformMagField.hh"
00017 #include "G4PVPlacement.hh"               
00018 
00019 #include "BDSMultipole.hh"
00020 #include "BDSSbendMagField.hh"
00021 #include "G4Mag_EqRhs.hh"
00022 
00023 class mySectorBend :public BDSMultipole
00024 {
00025 public:
00026   mySectorBend(G4String aName, G4double aLength,
00027                G4double bpRad,G4double FeRad,
00028                G4double bField, G4double angle, G4double outR,
00029                G4double tilt = 0, G4double bGrad=0, G4String aMaterial = "",
00030                G4int nSegments=1);
00031   ~mySectorBend();
00032   void SynchRescale(G4double factor);
00033 
00034 protected:
00035 
00036 private:
00037   G4double itsBField;
00038   G4double itsBGrad;
00039 
00040   void BuildBPFieldAndStepper();
00041   void BuildSBMarkerLogicalVolume();
00042   void BuildSBBeampipe();
00043   void BuildSBOuterLogicalVolume(G4bool OuterMaterialIsVacuum=false);
00044 
00045   G4VisAttributes* SetVisAttributes();
00046 
00047   // field related objects:
00048   myQuadStepper* itsStepper;
00049   BDSSbendMagField* itsMagField;
00050   G4Mag_EqRhs* itsEqRhs;
00051 
00052 };
00053 
00054 #endif

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