00001
00002
00003
00004
00005
00006
00007 #ifndef BDSSkewSextupole_h
00008 #define BDSSkewSextupole_h 1
00009
00010 #include "globals.hh"
00011 #include "BDSAcceleratorComponent.hh"
00012 #include "BDSMaterials.hh"
00013 #include "G4LogicalVolume.hh"
00014 #include "BDSSkewSextStepper.hh"
00015
00016 #include "G4FieldManager.hh"
00017 #include "G4ChordFinder.hh"
00018 #include "G4Mag_UsualEqRhs.hh"
00019 #include "G4UserLimits.hh"
00020 #include "G4VisAttributes.hh"
00021 #include "G4PVPlacement.hh"
00022
00023 #include "BDSMultipole.hh"
00024 #include "BDSSkewSextMagField.hh"
00025
00026 class BDSSkewSextupole :public BDSMultipole
00027 {
00028 public:
00029 BDSSkewSextupole(G4String& aName, G4double aLength,
00030 G4double bpRad,G4double FeRad,
00031 G4double BDblPrime);
00032 ~BDSSkewSextupole();
00033
00034 protected:
00035
00036 private:
00037 G4double itsBDblPrime;
00038
00039
00040 void BuildBPFieldAndStepper();
00041
00042
00043 G4VisAttributes* SetVisAttributes();
00044
00045
00046 BDSSkewSextStepper* itsStepper;
00047 BDSSkewSextMagField* itsMagField;
00048 G4Mag_UsualEqRhs* itsEqRhs;
00049 };
00050
00051 #endif