include/BDSSextupole.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 BDSSextupole_h
00008 #define BDSSextupole_h 1
00009 
00010 #include "globals.hh"
00011 #include "BDSMaterials.hh"
00012 #include "G4LogicalVolume.hh"
00013 #include "BDSSextStepper.hh"
00014 
00015 #include "G4FieldManager.hh"
00016 #include "G4ChordFinder.hh"
00017 #include "G4Mag_UsualEqRhs.hh"
00018 #include "G4UserLimits.hh"
00019 #include "G4VisAttributes.hh"
00020 #include "G4PVPlacement.hh"               
00021 #include "G4HelixMixedStepper.hh"
00022 #include "G4HelixImplicitEuler.hh"
00023 #include "G4CashKarpRKF45.hh"
00024 
00025 #include "BDSMultipole.hh"
00026 #include "BDSSextMagField.hh"
00027 
00028 class BDSSextupole :public BDSMultipole
00029 {
00030 public:
00031   BDSSextupole(G4String aName, G4double aLength,
00032                G4double bpRad, G4double FeRad,
00033                G4double BDblPrime, G4double tilt, G4double outR, 
00034                std::list<G4double> blmLocZ, std::list<G4double> blmLocTheta,
00035                G4String aTunnelMaterial = "",
00036                G4String aMaterial = "");
00037   ~BDSSextupole();
00038 
00039   void SynchRescale(G4double factor);
00040 
00041 protected:
00042 
00043 private:
00044   G4double itsBDblPrime;
00045 
00046   void BuildBPFieldAndStepper();
00047 
00048   G4VisAttributes* SetVisAttributes();
00049 
00050   // field related objects:
00051   BDSSextStepper* itsStepper;
00052   BDSSextMagField* itsMagField;
00053   G4Mag_UsualEqRhs* itsEqRhs;
00054 
00055 };
00056 
00057 #endif

Generated on 27 Aug 2013 for BDSIM by  doxygen 1.4.7