/scratch0/jsnuveri/BDSIM/BDSIMgit/bdsim/include/BDSTeleporter.hh

00001 #ifndef BDSTeleporter_h
00002 #define BDSTeleporter_h 1
00003 
00004 #include "BDSTeleporterStepper.hh"
00005 #include "G4ChordFinder.hh"
00006 #include "G4FieldManager.hh"
00007 #include "G4MagIntegratorStepper.hh"
00008 #include "BDSMagField.hh"
00009 #include "G4Mag_UsualEqRhs.hh"
00010 #include "BDSBeamline.hh"
00011 #include "parser/elementlist.h"
00012 
00013 class BDSTeleporter: public BDSAcceleratorComponent
00014 {
00015 public:
00016   BDSTeleporter(G4String name,
00017                 G4double length);  
00018   ~BDSTeleporter();
00019 
00020 protected:
00021   G4ChordFinder*          itsChordFinder;
00022   G4FieldManager*         itsFieldManager;
00023   G4MagIntegratorStepper* itsStepper;
00024   BDSMagField*            itsMagField;
00025   G4Mag_UsualEqRhs*       itsEqRhs;
00026 
00027 private:
00028   virtual void Build();
00029   virtual void BuildContainerLogicalVolume();
00031   void BuildBPFieldAndStepper();
00033   void BuildBPFieldMgr(G4MagIntegratorStepper* stepper,G4MagneticField* field);
00034 };
00035 
00036 namespace BDS {
00037   void CalculateAndSetTeleporterDelta(BDSBeamline* thebeamline);
00038 }
00039 
00040 
00041 #endif

Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7