include/BDSSkewSextupole.hh

00001 /* BDSIM code.    Version 1.0
00002    Author: Grahame A. Blair, Royal Holloway, Univ. of London.
00003    Last modified 24.7.2002
00004    Copyright (c) 2002 by G.A.Blair.  ALL RIGHTS RESERVED. 
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                      std::list<G4double> blmLocZ, std::list<G4double> blmLocTheta,
00032                      G4String aTunnelMaterial, G4String aMaterial,                   G4double BDblPrime);
00033   ~BDSSkewSextupole();
00034 
00035   protected:
00036 
00037   private:
00038   G4double itsBDblPrime;
00039 
00040   //  void BuildOuterLogicalVolume();
00041   void BuildBPFieldAndStepper();
00042   //void BuildMarkerLogicalVolume();
00043 
00044   G4VisAttributes* SetVisAttributes();
00045 
00046   // field related objects:
00047   BDSSkewSextStepper* itsStepper;
00048   BDSSkewSextMagField* itsMagField;
00049   G4Mag_UsualEqRhs* itsEqRhs;
00050 };
00051 
00052 #endif

Generated on 27 Aug 2013 for BDSIM by  doxygen 1.4.7