Public Member Functions | |
~BDSMagnetOuterFactoryCylindrical () | |
singleton pattern | |
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 | |
Static Public Member Functions | |
static BDSMagnetOuterFactoryCylindrical * | Instance () |
Private Member Functions | |
BDSMagnetOuterFactoryCylindrical () | |
void | CreateCylindricalSolids (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize) |
functions below here are private to this particular factory | |
BDSGeometryComponent * | CommonFinalConstructor (G4String name, G4double length, G4double boxSize, G4Material *outerMaterial, G4Colour *colour) |
common construction tasks to all methods | |
void | TestInputParameters (BDSBeamPipe *beamPipe, G4double &boxSizeIn, G4Material *&outerMaterialIn) |
test inputs for no null pointers or overlapping volumes due to poorly defined sizes | |
Static Private Attributes | |
static BDSMagnetOuterFactoryCylindrical * | _instance = 0 |
Definition at line 13 of file BDSMagnetOuterFactoryCylindrical.hh.
BDSGeometryComponent * BDSMagnetOuterFactoryCylindrical::CommonFinalConstructor | ( | G4String | name, | |
G4double | length, | |||
G4double | boxSize, | |||
G4Material * | outerMaterial, | |||
G4Colour * | colour | |||
) | [private] |
common construction tasks to all methods
only the solids are unique, once we have those, the logical volumes and placement in the container are the same. group all this functionality together
Definition at line 333 of file BDSMagnetOuterFactoryCylindrical.cc.
References BDSMagnetOuterFactoryBase::checkOverlaps, BDSMagnetOuterFactoryBase::containerLV, BDSMagnetOuterFactoryBase::containerSolid, BDSMaterials::GetMaterial(), BDSExecOptions::Instance(), BDSGlobalConstants::Instance(), BDSMaterials::Instance(), BDSMagnetOuterFactoryBase::lengthSafety, BDSMagnetOuterFactoryBase::maxStepFactor, BDSMagnetOuterFactoryBase::nSegmentsPerCircle, BDSGeometryComponent::RegisterLogicalVolume(), BDSGeometryComponent::RegisterSensitiveVolume(), BDSMagnetOuterFactoryBase::yokeLV, and BDSMagnetOuterFactoryBase::yokeSolid.
Referenced by CreateDecapole(), CreateKicker(), CreateMultipole(), CreateMuSpoiler(), CreateOctupole(), CreateQuadrupole(), CreateRectangularBend(), CreateRfCavity(), CreateSectorBend(), CreateSextupole(), and CreateSolenoid().
Here is the call graph for this function:
Here is the caller graph for this function: