BDSMagnetOuterFactoryLHC Class Reference

The base factory for the LHC magnet geometry factory. More...

#include <BDSMagnetOuterFactoryLHC.hh>

Inheritance diagram for BDSMagnetOuterFactoryLHC:

Inheritance graph
[legend]
Collaboration diagram for BDSMagnetOuterFactoryLHC:

Collaboration graph
[legend]

Public Member Functions

 BDSMagnetOuterFactoryLHC (G4bool isLeftOffset)
 ~BDSMagnetOuterFactoryLHC ()
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

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
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

Detailed Description

The base factory for the LHC magnet geometry factory.

This class is not a singleton unlike the other factories as it will be constructed twice by each derived class

Author:
Laurie Nevay <laurie.nevay@rhul.ac.uk>

Definition at line 23 of file BDSMagnetOuterFactoryLHC.hh.


Member Function Documentation

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:


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