00001
00002
00003
00004
00005
00006
00007 #include "BDSGlobalConstants.hh"
00008
00009 #include "G4FieldManager.hh"
00010 #include "G4LogicalVolume.hh"
00011 #include "G4PVPlacement.hh"
00012 #include "G4Tubs.hh"
00013 #include "G4UserLimits.hh"
00014 #include "G4VisAttributes.hh"
00015 #include "G4VPhysicalVolume.hh"
00016
00017 #include "BDSBeamPipeFactory.hh"
00018 #include "BDSBeamPipeInfo.hh"
00019 #include "BDSMagnet.hh"
00020 #include "BDSMagnetOuterInfo.hh"
00021 #include "BDSMagnetType.hh"
00022 #include "BDSMagnet.hh"
00023 #include "BDSMuSpoiler.hh"
00024 #include "BDSMuSpoilerMagField.hh"
00025
00026 class BDSTiltOffset;
00027
00028 BDSMuSpoiler::BDSMuSpoiler(G4String name,
00029 G4double length,
00030 G4double bField,
00031 BDSBeamPipeInfo* beamPipeInfo,
00032 BDSMagnetOuterInfo magnetOuterInfo,
00033 BDSTiltOffset tiltOffset):
00034 BDSMagnet(BDSMagnetType::muspoiler, name, length,
00035 beamPipeInfo, magnetOuterInfo, tiltOffset),
00036 itsBField(bField)
00037 {;}
00038
00039 void BDSMuSpoiler::BuildBPFieldAndStepper()
00040 {
00041
00042
00043 return;
00044 }
00045
00046 void BDSMuSpoiler::BuildOuterVolume()
00047 {
00048 BDSMagnet::BuildOuterVolume();
00049
00050
00051 delete itsOuterMagField;
00052 delete itsOuterFieldMgr;
00053 itsOuterMagField = new BDSMuSpoilerMagField(itsBField);
00054 itsOuterFieldMgr = new G4FieldManager(itsOuterMagField);
00055 if(BDSGlobalConstants::Instance()->GetDeltaIntersection()>0)
00056 {itsOuterFieldMgr->SetDeltaIntersection(BDSGlobalConstants::Instance()->GetDeltaIntersection());}
00057 if(BDSGlobalConstants::Instance()->GetMinimumEpsilonStep()>0)
00058 {itsOuterFieldMgr->SetMinimumEpsilonStep(BDSGlobalConstants::Instance()->GetMinimumEpsilonStep());}
00059 if(BDSGlobalConstants::Instance()->GetMaximumEpsilonStep()>0)
00060 {itsOuterFieldMgr->SetMaximumEpsilonStep(BDSGlobalConstants::Instance()->GetMaximumEpsilonStep());}
00061
00062
00063 if(outer)
00064 {outer->GetContainerLogicalVolume()->SetFieldManager(itsOuterFieldMgr,false);}
00065 }
00066
00067 BDSMuSpoiler::~BDSMuSpoiler()
00068 {
00069 }