/home/cern/BDSIM_new/include/BDSSectorBend.hh

00001 /* BDSIM code.    Version 1.0
00002    Author: Grahame A. Blair, Royal Holloway, Univ. of London.
00003    Last modified 18.10.2002
00004    Copyright (c) 2002 by G.A.Blair.  ALL RIGHTS RESERVED. 
00005 
00006    IA: 12.10.05 , modified
00007 */
00008 
00009 #ifndef BDSSectorBend_h
00010 #define BDSSectorBend_h 
00011 
00012 #include "globals.hh"
00013 #include "BDSMaterials.hh"
00014 #include "G4LogicalVolume.hh"
00015 #include "myQuadStepper.hh"
00016 
00017 #include "G4FieldManager.hh"
00018 #include "G4ChordFinder.hh"
00019 #include "G4Mag_UsualEqRhs.hh"
00020 #include "G4UserLimits.hh"
00021 #include "G4VisAttributes.hh"
00022 #include "G4PVPlacement.hh"               
00023 
00024 #include "BDSMultipole.hh"
00025 #include "BDSSbendMagField.hh"
00026 #include "G4Mag_EqRhs.hh"
00027 
00028 class BDSSectorBend :public BDSMultipole
00029 {
00030 public:
00031   BDSSectorBend(G4String aName, G4double aLength,
00032                 G4double bpRad, G4double FeRad,
00033                 G4double bField, G4double angle, G4double outR,
00034                 G4double tilt = 0, G4double bGrad=0, G4String aMaterial = "",
00035                 G4int nSegments=1);
00036   ~BDSSectorBend();
00037 
00038   void SynchRescale(G4double factor);
00039 
00040 protected:
00041 
00042 private:
00043   G4double itsBField;
00044   G4double itsBGrad;
00045 
00046   void BuildBPFieldAndStepper();
00047   void BuildSBMarkerLogicalVolume();
00048   void BuildSBBeampipe();
00049   void BuildSBOuterLogicalVolume(G4bool OuterMaterialIsVacuum=false);
00050 
00051   G4VisAttributes* SetVisAttributes();
00052   G4Trd* markerSolidVolume;
00053 
00054   // field related objects:
00055   myQuadStepper* itsStepper;
00056   BDSSbendMagField* itsMagField;
00057   G4Mag_EqRhs* itsEqRhs;
00058 
00059 };
00060 
00061 #endif

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