/home/cern/BDSIM_new/include/BDSQuadrupole.hh

00001 //  
00002 //   BDSIM, (C) 2001-2006 
00003 //   
00004 //   version 0.3
00005 //  
00006 //
00007 //
00008 //   Quadrupole class
00009 //
00010 //
00011 //   History
00012 //
00013 //     21 Nov 2006 by Agapov,  v.0.3
00014 //     22 Mar 2005 by Agapov, Carter,  v.0.2
00015 //     x  x   2002 by Blair
00016 //
00017 //
00018 
00019 #ifndef __BDSQUADRUPOLE_H
00020 #define __BDSQUADRUPOLE_H
00021 
00022 #include "globals.hh"
00023 #include "BDSMaterials.hh"
00024 #include "G4LogicalVolume.hh"
00025 #include "BDSQuadStepper.hh"
00026 
00027 #include "G4FieldManager.hh"
00028 #include "G4ChordFinder.hh"
00029 #include "G4Mag_UsualEqRhs.hh"
00030 #include "G4UserLimits.hh"
00031 #include "G4VisAttributes.hh"
00032 #include "G4PVPlacement.hh"               
00033 
00034 #include "BDSMultipole.hh"
00035 #include "BDSQuadMagField.hh"
00036 
00037 class BDSQuadrupole :public BDSMultipole
00038 {
00039 public:
00040   BDSQuadrupole(G4String aName, G4double aLength,
00041                 G4double bpRad, G4double FeRad,
00042                 G4double bGrad, G4double tilt, G4double outR, 
00043                 G4String aMaterial= "", G4String spec="");
00044   ~BDSQuadrupole();
00045 
00046   void SynchRescale(G4double factor);
00047 
00048 protected:
00049 
00050 private:
00051   G4double itsBGrad;
00052 
00053   void BuildOuterLogicalVolume();
00054   void BuildBPFieldAndStepper();
00055 
00056   G4VisAttributes* SetVisAttributes();
00057 
00058   // field related objects:
00059   BDSQuadStepper* itsStepper;
00060   BDSQuadMagField* itsMagField;
00061   G4Mag_UsualEqRhs* itsEqRhs;
00062 
00063 };
00064 
00065 #endif

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