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 * | 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 64 of file BDSBeamPipeFactory.cc.
|
private |
Private constructor as singleton pattern.
Definition at line 48 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 175 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 156 of file BDSBeamPipeFactory.cc.
BDSBeamPipe * BDSBeamPipeFactory::CreateBeamPipe | ( | const G4String & | name, |
G4double | length, | ||
BDSBeamPipeInfo * | bpi | ||
) |
Definition at line 118 of file BDSBeamPipeFactory.cc.
|
private |
Return the appropriate factory singleton pointer given a type.
Definition at line 81 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 41 of file BDSBeamPipeFactory.cc.
References BDSBeamPipeFactory(), and instance.
Referenced by BDSCollimatorCrystal::Build(), BDSDrift::Build(), BDSUndulator::Build(), BDSMagnet::BuildBeampipe(), BDSShield::BuildBeamPipe(), BDSWireScanner::BuildContainerLogicalVolume(), BDSMagnetOuterFactoryLHC::CreateLHCDipole(), BDSMagnetOuterFactoryLHC::CreateQuadrupole(), BDSIM::~BDSIM(), and BDSIMLink::~BDSIMLink().
|
private |
Factory instance.
Definition at line 91 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 101 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
private |
Factory instance.
Definition at line 92 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
staticprivate |
Singleton instance pointer.
Definition at line 85 of file BDSBeamPipeFactory.hh.
Referenced by Instance().
|
private |
Factory instance.
Definition at line 94 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
private |
Factory instance.
Definition at line 95 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().
|
private |
Factory instance.
Definition at line 102 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
private |
Factory instance.
Definition at line 97 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
private |
Factory instance.
Definition at line 93 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
private |
Factory instance.
Definition at line 96 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().
|
private |
Factory instance.
Definition at line 98 of file BDSBeamPipeFactory.hh.
Referenced by BDSBeamPipeFactory(), and GetAppropriateFactory().