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

00001 #ifndef BDSTeleporterStepper_h
00002 #define BDSTeleporterStepper_h 1
00003 
00004 #include "globals.hh" //G4 types and exceptions
00005 #include "G4MagIntegratorStepper.hh"
00006 #include "G4Mag_EqRhs.hh"
00007 #include "G4ThreeVector.hh"
00008 #include <vector>
00009 
00010 class BDSTeleporterStepper : public G4MagIntegratorStepper
00011 {
00012 
00013 public:  // with description
00014   BDSTeleporterStepper(G4Mag_EqRhs *EqRhs);
00015   ~BDSTeleporterStepper();
00016   
00017   void Stepper( const G4double y[],
00018                 const G4double dydx[],
00019                 const G4double h,
00020                 G4double yout[],
00021                 G4double yerr[]  );
00022   G4int    IntegratorOrder() const {return 2;}
00023   G4double DistChord()       const {return 0;}
00024   void     StepperName();
00025 
00026 protected:
00027   void AdvanceHelix(const G4double yIn[],
00028                     G4ThreeVector Bfld,
00029                     G4double h,
00030                     G4double yDrift[]);
00031 
00032 private:
00033   G4bool verboseStep;
00034   G4int  verboseEventNumber;
00035   G4int  nvar;
00036   //  std::vector<G4int> turnnumberrecord;
00037   //  G4int  turnstaken;
00038   G4ThreeVector teleporterdelta;
00039 };
00040 
00041 inline void BDSTeleporterStepper::StepperName()
00042 {G4cout<<"BDSTeleporterStepper"<<G4endl;}
00043 
00044 #endif

Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7