#include <BDSMagnetOuterFactoryPolesBase.hh>
Inheritance diagram for BDSMagnetOuterFactoryPolesBase:


Public Member Functions | |
| BDSMagnetOuterFactoryPolesBase () | |
| virtual BDSGeometryComponent * | CreateSectorBend (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4double angle, G4Material *outerMaterial=NULL) |
| sector bend outer volume | |
| virtual BDSGeometryComponent * | CreateRectangularBend (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4double angle, G4Material *outerMaterial=NULL) |
| rectangular bend outer volume | |
| virtual BDSGeometryComponent * | CreateQuadrupole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4Material *outerMaterial=NULL) |
| quadrupole outer volume | |
| virtual BDSGeometryComponent * | CreateSextupole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4Material *outerMaterial=NULL) |
| sextupole outer volume | |
| virtual BDSGeometryComponent * | CreateOctupole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4Material *outerMaterial=NULL) |
| octupole outer volume | |
| virtual BDSGeometryComponent * | CreateDecapole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4Material *outerMaterial=NULL) |
| decapole outer volume | |
| virtual BDSGeometryComponent * | CreateSolenoid (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4Material *outerMaterial=NULL) |
| solenoid outer volume | |
| virtual BDSGeometryComponent * | CreateMultipole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4Material *outerMaterial=NULL) |
| general multipole outer volume - could be any 2N order multipole | |
| virtual BDSGeometryComponent * | CreateRfCavity (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4Material *outerMaterial=NULL) |
| RF cavity outer volume. | |
| virtual BDSGeometryComponent * | CreateMuSpoiler (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4Material *outerMaterial=NULL) |
| muon spoiler outer volume | |
| virtual BDSGeometryComponent * | CreateKicker (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4bool vertical=true, G4Material *outerMaterial=NULL) |
| horizontal and vertical kicker outer volume | |
Protected Member Functions | |
| virtual void | CleanUp () |
| Empty containers for next use - this class is never deleted so can't rely on scope. | |
| virtual void | CalculatePoleAndYoke (G4double outerDiameter, BDSBeamPipe *beamPipe, G4double order) |
| Calculate the length of the pole and yoke radii based on the design. | |
| virtual void | CreatePoleSolid (G4String name, G4double length, G4int order) |
| Create pole for magnet of order N where npoles = Nx2. | |
| virtual void | CreateYokeAndContainerSolid (G4String name, G4double length, G4int order) |
| Create yoke that connects poles and container to put them in. | |
| virtual void | CreateLogicalVolumes (G4String name, G4double length, G4int order, G4Material *outerMaterial) |
| Build the logical volumes from the solids assigning materials and colours and cuts. | |
| virtual void | PlaceComponents (G4String name, G4int order) |
| Place the poles and yoke in the container volume. | |
| virtual BDSGeometryComponent * | CommonConstructor (G4String name, G4double length, BDSBeamPipe *beamPipe, G4int order, G4double outerDiameter, G4Material *outerMaterial) |
| Common construction tasks to all methods - assemble yoke and poles in container. | |
| void | TestInputParameters (BDSBeamPipe *beamPipe, G4double &boxSizeIn, G4Material *&outerMaterialIn) |
| Test inputs for no null pointers or overlapping volumes due to poorly defined sizes. | |
| virtual BDSGeometryComponent * | KickerConstructor (G4String name, G4double length, G4double angle, BDSBeamPipe *beamPipe, G4double outerDiameter, G4Material *outerMaterial, G4bool isVertical) |
Protected Attributes | |
| G4double | poleFraction |
| G4double | poleAngularFraction |
| Fraction of 2pi/Npoles that the pole will occupy - always < 1. | |
| G4double | poleTipFraction |
| G4double | poleStartRadius |
| G4double | poleFinishRadius |
| G4double | yokeStartRadius |
| G4double | yokeFinishRadius |
Most magnets are 2N poles, but sector and r-bends as well as muon spoilers, and h/v kickers are unique.
NOTE this is a base class in that there are derived classes with different outer shapes - all have poles, but the return yoke can for example, circular, square or faceted (with 4N facets)
Definition at line 28 of file BDSMagnetOuterFactoryPolesBase.hh.
| BDSGeometryComponent * BDSMagnetOuterFactoryPolesBase::KickerConstructor | ( | G4String | name, | |
| G4double | length, | |||
| G4double | angle, | |||
| BDSBeamPipe * | beamPipe, | |||
| G4double | outerDiameter, | |||
| G4Material * | outerMaterial, | |||
| G4bool | isVertical | |||
| ) | [protected, virtual] |
Kicker constructor - only difference between h and vkick is the 90 degree rotation If it isn't vertical, then it's a horizontal kicker
Definition at line 515 of file BDSMagnetOuterFactoryPolesBase.cc.
References BDSMagnetOuterFactoryBase::checkOverlaps, BDSMagnetOuterFactoryBase::containerLV, BDSBeamPipe::GetContainerRadius(), BDSMagnetColours::GetMagnetColour(), BDSMaterials::GetMaterial(), BDSExecOptions::Instance(), BDSMagnetColours::Instance(), BDSGlobalConstants::Instance(), BDSMaterials::Instance(), BDSMagnetOuterFactoryBase::lengthSafety, BDSMagnetOuterFactoryBase::maxStepFactor, BDSMagnetOuterFactoryBase::poleLV, BDSGeometryComponent::RegisterLogicalVolume(), BDSGeometryComponent::RegisterSensitiveVolume(), and BDSMagnetOuterFactoryBase::yokeLV.
Here is the call graph for this function:

G4double BDSMagnetOuterFactoryPolesBase::poleFraction [protected] |
The fraction of the distance from the beam pipe to the outerDiameter/2 that each pole will take - always < 1
Definition at line 130 of file BDSMagnetOuterFactoryPolesBase.hh.
Referenced by BDSMagnetOuterFactoryPolesBase(), and CalculatePoleAndYoke().
G4double BDSMagnetOuterFactoryPolesBase::poleTipFraction [protected] |
Fraction of length from pole tip to outerDiameter that pole tip ellisoid will take up
Definition at line 137 of file BDSMagnetOuterFactoryPolesBase.hh.
Referenced by BDSMagnetOuterFactoryPolesBase(), BDSMagnetOuterFactoryPolesSquare::CreatePoleSolid(), and CreatePoleSolid().
1.4.7