BDSMagnetOuterFactoryCylindrical Class Reference

Inheritance diagram for BDSMagnetOuterFactoryCylindrical:

Inheritance graph
[legend]
Collaboration diagram for BDSMagnetOuterFactoryCylindrical:

Collaboration graph
[legend]

Public Member Functions

 ~BDSMagnetOuterFactoryCylindrical ()
 singleton pattern
virtual BDSGeometryComponentCreateSectorBend (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4double angle, G4Material *outerMaterial=NULL)
 sector bend outer volume
virtual BDSGeometryComponentCreateRectangularBend (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4double angle, G4Material *outerMaterial=NULL)
 rectangular bend outer volume
virtual BDSGeometryComponentCreateQuadrupole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4Material *outerMaterial=NULL)
 quadrupole outer volume
virtual BDSGeometryComponentCreateSextupole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4Material *outerMaterial=NULL)
 sextupole outer volume
virtual BDSGeometryComponentCreateOctupole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4Material *outerMaterial=NULL)
 octupole outer volume
virtual BDSGeometryComponentCreateDecapole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4Material *outerMaterial=NULL)
 decapole outer volume
virtual BDSGeometryComponentCreateSolenoid (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4Material *outerMaterial=NULL)
 solenoid outer volume
virtual BDSGeometryComponentCreateMultipole (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4Material *outerMaterial=NULL)
 general multipole outer volume - could be any 2N order multipole
virtual BDSGeometryComponentCreateRfCavity (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4Material *outerMaterial=NULL)
 RF cavity outer volume.
virtual BDSGeometryComponentCreateMuSpoiler (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize, G4Material *outerMaterial=NULL)
 muon spoiler outer volume
virtual BDSGeometryComponentCreateKicker (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 BDSMagnetOuterFactoryCylindricalInstance ()

Private Member Functions

 BDSMagnetOuterFactoryCylindrical ()
void CreateCylindricalSolids (G4String name, G4double length, BDSBeamPipe *beamPipe, G4double boxSize)
 functions below here are private to this particular factory
BDSGeometryComponentCommonFinalConstructor (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

Detailed Description

Definition at line 13 of file BDSMagnetOuterFactoryCylindrical.hh.


Member Function Documentation

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:


The documentation for this class was generated from the following files:
Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7