00001
00002 #ifndef myOctupole_h
00003 #define myOctupole_h 1
00004
00005 #include "myOctStepper.hh"
00006 #include "G4ChordFinder.hh"
00007 #include "G4VisAttributes.hh"
00008 #include "BDSMultipole.hh"
00009 #include "myAcceleratorComponent.hh"
00010 #include "G4FieldManager.hh"
00011 #include "G4LogicalVolume.hh"
00012 #include "G4Box.hh"
00013 class myOctupole :public myAcceleratorComponent
00014 {
00015
00016 public:
00017
00018
00019
00020 myOctupole (G4String& id, G4double len, G4double bpRad,G4double bDGrad);
00021
00022 ~myOctupole();
00023
00024 void OctLogicalVolume();
00025 void BuildOuterFieldManager();
00026
00027 G4VisAttributes* SetVisAttributes();
00028
00029 protected:
00030
00031 private:
00032
00033 myOctStepper* itsStepper;
00034 G4ChordFinder* itsChordFinder;
00035 G4MagneticField* itsMagField;
00036 G4Mag_UsualEqRhs* itsEqRhs;
00037 G4FieldManager* itsBPFieldMgr;
00038 G4Box* itsBox;
00039
00040
00041
00042
00043 };
00044
00045
00046 #endif