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

00001 #ifndef BDSKICKER_H
00002 #define BDSKICKER_H 
00003 
00004 #include "BDSMagnet.hh"
00005 #include "BDSMagnetType.hh"
00006 #include "BDSTiltOffset.hh"
00007 
00008 #include "globals.hh" // geant4 types / globals
00009 #include "G4Material.hh"
00010 
00011 struct BDSBeamPipeInfo;
00012 struct BDSMagnetOuterInfo;
00013 
00014 class BDSKicker: public BDSMagnet
00015 {
00016 public:
00017   BDSKicker(G4String           name,
00018             G4double           length,
00019             G4double           bField,
00020             G4double           bGrad,
00021             G4double           angle,
00022             G4bool             verticalKicker,
00023             BDSBeamPipeInfo*   beamPipeInfo,
00024             BDSMagnetOuterInfo magnetOuterInfo,
00025             BDSTiltOffset      tiltOffset = BDSTiltOffset());
00026   ~BDSKicker(){;};
00027   
00028 protected:
00029   virtual void Build();
00030 
00031 private:
00032   G4double itsBField;
00033   G4double itsBGrad;
00034   G4double itsKickAngle;
00035   G4bool   isVerticalKicker;
00036 
00037   virtual void BuildBPFieldAndStepper();
00038   virtual void BuildBeampipe(); // overload multipole base class method
00039 
00040 };
00041 
00042 #endif

Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7