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

00001 #ifndef BDSRBEND_H
00002 #define BDSRBEND_H 
00003 
00004 #include "globals.hh"
00005 
00006 #include "BDSMagnet.hh"
00007 #include "BDSTiltOffset.hh"
00008 
00009 struct BDSBeamPipeInfo;
00010 struct BDSMagnetOuterInfo;
00011 
00012 class BDSRBend: public BDSMagnet
00013 {
00014 public:
00015   BDSRBend(G4String           name,
00016            G4double           length,
00017            G4double           bField,
00018            G4double           bGrad,
00019            G4double           angle,
00020            BDSBeamPipeInfo*   beamPipeInfo,
00021            BDSMagnetOuterInfo magnetOuterInfo,
00022            BDSTiltOffset      tiltOffset = BDSTiltOffset());
00023   ~BDSRBend(){;};
00024 
00025 private:
00026   G4double itsBField;
00027   G4double itsBGrad;
00028   G4double itsMagFieldLength;
00029 
00031   G4double itsStraightSectionChord;
00032 
00034   G4double itsStraightSectionLength;
00035 
00037   G4double magnetXShift;
00038 
00040   G4int orientation;
00041 
00043   G4double outerRadius;
00044   
00045   virtual void Build();
00046   virtual void BuildBPFieldAndStepper();
00047   virtual void BuildBeampipe();
00048   virtual void BuildOuterVolume(); // override this method to change length used
00049 
00052   void CommonConstructor(G4double aLength);
00053 };
00054 
00055 #endif

Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7