#include <BDSMagnetOuterFactoryLHC.hh>
Inheritance diagram for BDSMagnetOuterFactoryLHC:
Public Member Functions | |
BDSMagnetOuterFactoryLHC (G4bool isLeftOffset) | |
~BDSMagnetOuterFactoryLHC () | |
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 | |
G4bool | IsLeftOffset () |
Protected Attributes | |
G4bool | isLeftOffset |
Private Member Functions | |
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 |
This class is not a singleton unlike the other factories as it will be constructed twice by each derived class
Definition at line 23 of file BDSMagnetOuterFactoryLHC.hh.
BDSGeometryComponent * BDSMagnetOuterFactoryLHC::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 1510 of file BDSMagnetOuterFactoryLHC.cc.
References BDSMagnetOuterFactoryBase::checkOverlaps, BDSMagnetOuterFactoryBase::containerLV, BDSMagnetOuterFactoryBase::containerSolid, BDSMaterials::GetMaterial(), BDSExecOptions::Instance(), BDSGlobalConstants::Instance(), BDSMaterials::Instance(), BDSMagnetOuterFactoryBase::lengthSafety, BDSMagnetOuterFactoryBase::maxStepFactor, BDSGeometryComponent::RegisterLogicalVolume(), BDSMagnetOuterFactoryBase::yokeLV, and BDSMagnetOuterFactoryBase::yokeSolid.
Referenced by CreateDecapole(), CreateKicker(), CreateMultipole(), CreateMuSpoiler(), CreateOctupole(), CreateRectangularBend(), CreateRfCavity(), CreateSextupole(), and CreateSolenoid().
Here is the call graph for this function:
Here is the caller graph for this function: