|
BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
The main interface for using the beam pipe factories. More...
#include <BDSBeamPipeFactory.hh>

Public Member Functions | |
| BDSBeamPipe * | CreateBeamPipe (const G4String &name, G4double length, BDSBeamPipeInfo *bpi) |
| BDSBeamPipe * | CreateBeamPipeForVacuumIntersection (const G4String &name, G4double length, BDSBeamPipeInfo *info) |
| BDSBeamPipe * | CreateBeamPipe (BDSBeamPipeType beamPipeTypeIn, const G4String &nameIn, G4double lengthIn, G4double aper1=0, G4double aper2=0, G4double aper3=0, G4double aper4=0, G4Material *vacuumMaterialIn=nullptr, G4double beamPipeThicknessIn=0, G4Material *beamPipeMaterialIn=nullptr, const G4String &pointsFileIn="", const G4String &pointsUnitIn="") |
| BDSBeamPipe * | CreateBeamPipe (BDSBeamPipeType beamPipeType, const G4String &name, G4double length, const G4ThreeVector &inputFaceNormal, const G4ThreeVector &outputFaceNormal, G4double aper1, G4double aper2, G4double aper3, G4double aper4, G4Material *vacuumMaterial, G4double beamPipeThickness, G4Material *beamPipeMaterial, const G4String &pointsFileIn="", const G4String &pointsUnitIn="") |
Static Public Member Functions | |
| static BDSBeamPipeFactory * | Instance () |
| Singleton accessor. | |
Private Member Functions | |
| BDSBeamPipeFactory () | |
| Private constructor as singleton pattern. | |
| BDSBeamPipeFactoryBase * | GetAppropriateFactory (BDSBeamPipeType beamPipeTypeIn) |
| Return the appropriate factory singleton pointer given a type. | |
Private Attributes | |
| BDSBeamPipeFactoryBase * | circular |
| Factory instance. | |
| BDSBeamPipeFactoryBase * | elliptical |
| Factory instance. | |
| BDSBeamPipeFactoryBase * | rectangular |
| Factory instance. | |
| BDSBeamPipeFactoryBase * | lhc |
| Factory instance. | |
| BDSBeamPipeFactoryBase * | lhcdetailed |
| Factory instance. | |
| BDSBeamPipeFactoryBase * | rectellipse |
| Factory instance. | |
| BDSBeamPipeFactoryBase * | racetrack |
| Factory instance. | |
| BDSBeamPipeFactoryBase * | rhombus |
| Factory instance. | |
| BDSBeamPipeFactoryBase * | octagonal |
| Factory instance. | |
| BDSBeamPipeFactoryBase * | circularvacuum |
| Factory instance. | |
| BDSBeamPipeFactoryBase * | clicpcl |
| Factory instance. | |
| BDSBeamPipeFactoryBase * | pointsfile |
| Factory instance. | |
Static Private Attributes | |
| static BDSBeamPipeFactory * | instance = nullptr |
| Singleton instance pointer. | |
The main interface for using the beam pipe factories.
Each function in this class mirrors one in BDSBeamPipeFactoryBase but with the addition of a BDSBeamPipeType enum as an argument. This factory dispatches the call to the correct factory and should be the only one used by the caller.
Definition at line 44 of file BDSBeamPipeFactory.hh.
| BDSBeamPipeFactory::~BDSBeamPipeFactory | ( | ) |
Definition at line 65 of file BDSBeamPipeFactory.cc.
|
private |
Private constructor as singleton pattern.
Definition at line 49 of file BDSBeamPipeFactory.cc.
References circular, circularvacuum, clicpcl, elliptical, lhc, lhcdetailed, octagonal, pointsfile, racetrack, rectangular, rectellipse, and rhombus.
Referenced by Instance().

| BDSBeamPipe * BDSBeamPipeFactory::CreateBeamPipe | ( | BDSBeamPipeType | beamPipeType, |
| const G4String & | name, | ||
| G4double | length, | ||
| const G4ThreeVector & | inputFaceNormal, | ||
| const G4ThreeVector & | outputFaceNormal, | ||
| G4double | aper1, | ||
| G4double | aper2, | ||
| G4double | aper3, | ||
| G4double | aper4, | ||
| G4Material * | vacuumMaterial, | ||
| G4double | beamPipeThickness, | ||
| G4Material * | beamPipeMaterial, | ||
| const G4String & | pointsFileIn = "", |
||
| const G4String & | pointsUnitIn = "" |
||
| ) |
Definition at line 194 of file BDSBeamPipeFactory.cc.
| BDSBeamPipe * BDSBeamPipeFactory::CreateBeamPipe | ( | BDSBeamPipeType | beamPipeTypeIn, |
| const G4String & | nameIn, | ||
| G4double | lengthIn, | ||
| G4double | aper1 = 0, |
||
| G4double | aper2 = 0, |
||
| G4double | aper3 = 0, |
||
| G4double | aper4 = 0, |
||
| G4Material * | vacuumMaterialIn = nullptr, |
||
| G4double | beamPipeThicknessIn = 0, |
||
| G4Material * | beamPipeMaterialIn = nullptr, |
||
| const G4String & | pointsFileIn = "", |
||
| const G4String & | pointsUnitIn = "" |
||
| ) |
Definition at line 175 of file BDSBeamPipeFactory.cc.
| BDSBeamPipe * BDSBeamPipeFactory::CreateBeamPipe | ( | const G4String & | name, |
| G4double | length, | ||
| BDSBeamPipeInfo * | bpi | ||
| ) |
Definition at line 137 of file BDSBeamPipeFactory.cc.
| BDSBeamPipe * BDSBeamPipeFactory::CreateBeamPipeForVacuumIntersection | ( | const G4String & | name, |
| G4double | length, | ||
| BDSBeamPipeInfo * | info | ||
| ) |
Create a circular vacuum volume that's smaller than the aperture definition by length safety large suitable for intersections with something that should fit in the vacuum of a beam pipe that would be created with the same recipe.
Definition at line 119 of file BDSBeamPipeFactory.cc.
References BDSBeamPipeInfo::aper1, BDSBeamPipeInfo::aper2, BDSBeamPipeInfo::aper3, BDSBeamPipeInfo::aper4, BDSBeamPipeInfo::beamPipeMaterial, BDSBeamPipeInfo::beamPipeThickness, BDSGlobalConstants::Instance(), BDSBeamPipeInfo::ShrinkBy(), and BDSBeamPipeInfo::vacuumMaterial.

|
private |
Return the appropriate factory singleton pointer given a type.
Definition at line 82 of file BDSBeamPipeFactory.cc.
References circular, circularvacuum, clicpcl, elliptical, lhc, lhcdetailed, octagonal, pointsfile, racetrack, rectangular, rectellipse, rhombus, and BDSTypeSafeEnum< def, inner >::underlying().

|
static |
Singleton accessor.
Definition at line 42 of file BDSBeamPipeFactory.cc.
References BDSBeamPipeFactory(), and instance.
Referenced by BDSCollimatorCrystal::Build(), BDSDrift::Build(), BDSUndulator::Build(), BDSGaborLens::BuildBeamPipe(), BDSMagnet::BuildBeampipe(), BDSShield::BuildBeamPipe(), BDSCollimatorBeamMask::BuildContainerLogicalVolume(), BDSGasCapillary::BuildContainerLogicalVolume(), BDSGasJet::BuildContainerLogicalVolume(), BDSLaserWireNew::BuildContainerLogicalVolume(), BDSWireScanner::BuildContainerLogicalVolume(), BDSMagnetOuterFactoryLHC::CreateLHCDipole(), BDSMagnetOuterFactoryLHC::CreateQuadrupole(), BDSIM::~BDSIM(), and BDSIMLink::~BDSIMLink().


|
private |
Factory instance.
Definition at line 98 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
private |
Factory instance.
Definition at line 107 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
private |
Factory instance.
Definition at line 108 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
private |
Factory instance.
Definition at line 99 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
staticprivate |
Singleton instance pointer.
Definition at line 92 of file BDSBeamPipeFactory.hh.
Referenced by Instance().
|
private |
Factory instance.
Definition at line 101 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
private |
Factory instance.
Definition at line 102 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
private |
Factory instance.
Definition at line 106 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
private |
Factory instance.
Definition at line 109 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
private |
Factory instance.
Definition at line 104 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
private |
Factory instance.
Definition at line 100 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
private |
Factory instance.
Definition at line 103 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
private |
Factory instance.
Definition at line 105 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().