|
BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Factory for building BLMs. More...
#include <BDSBLMFactory.hh>

Public Member Functions | |
| BDSBLM * | CreateBLM (const GMAD::BLMPlacement &bp, G4VSensitiveDetector *sd) |
| BDSBLM * | CreateBLM (const G4String &name, const G4String &geometryFile, const G4String &geometryType, const G4String &material, G4double blm1, G4double blm2, G4double blm3, G4double blm4, G4VSensitiveDetector *sd, const G4String &bias="") |
Private Member Functions | |
| void | PositiveFinite (G4double value, const G4String ¶meterName, const G4String &blmName) const |
| BDSBLM * | BuildBLMCylinder (const G4String &name, const G4String &material, G4double halfLength, G4double radius) |
| Build the geometry for a cylinder. | |
| BDSBLM * | BuildBLMCube (const G4String &name, const G4String &material, G4double halfLengthX, G4double halfLengthY, G4double halfLengthZ) |
| Build the geometry for a cube. | |
| BDSBLM * | BuildBLMSphere (const G4String &name, const G4String &material, G4double radius) |
| Build the geometry for a sphere. | |
| BDSBLM * | CommonConstruction (const G4String &name, const G4String &material, G4VSolid *shape, const BDSExtent &extent) |
Factory for building BLMs.
Definition at line 39 of file BDSBLMFactory.hh.
| BDSBLMFactory::BDSBLMFactory | ( | ) |
Definition at line 41 of file BDSBLMFactory.cc.
| BDSBLMFactory::~BDSBLMFactory | ( | ) |
Definition at line 44 of file BDSBLMFactory.cc.
|
private |
Build the geometry for a cube.
Definition at line 133 of file BDSBLMFactory.cc.
References CommonConstruction().
Referenced by CreateBLM().


|
private |
Build the geometry for a cylinder.
Definition at line 116 of file BDSBLMFactory.cc.
References CommonConstruction().
Referenced by CreateBLM().


|
private |
Build the geometry for a sphere.
Definition at line 147 of file BDSBLMFactory.cc.
References CommonConstruction().
Referenced by CreateBLM().


|
private |
Construct the logical volume and final BDSBLM object from a shape and extent.
Definition at line 157 of file BDSBLMFactory.cc.
References BDSMaterials::GetMaterial(), BDSGlobalConstants::Instance(), and BDSMaterials::Instance().
Referenced by BuildBLMCube(), BuildBLMCylinder(), and BuildBLMSphere().


| BDSBLM * BDSBLMFactory::CreateBLM | ( | const G4String & | name, |
| const G4String & | geometryFile, | ||
| const G4String & | geometryType, | ||
| const G4String & | material, | ||
| G4double | blm1, | ||
| G4double | blm2, | ||
| G4double | blm3, | ||
| G4double | blm4, | ||
| G4VSensitiveDetector * | sd, | ||
| const G4String & | bias = "" |
||
| ) |
Main public interface to the factory. Each of the 1,2,3,4 blm parameters has a different meaning depending on the geometry chosen in geometryType.
Definition at line 70 of file BDSBLMFactory.cc.
References BuildBLMCube(), BuildBLMCylinder(), BuildBLMSphere(), BDSGeometryFactory::BuildGeometry(), BDS::DetermineBLMType(), BDSGeometryComponent::GetAllLogicalVolumes(), BDSGeometryComponent::GetContainerLogicalVolume(), BDSGeometryFactory::Instance(), BDSBLM::SetBias(), and BDSTypeSafeEnum< def, inner >::underlying().

| BDSBLM * BDSBLMFactory::CreateBLM | ( | const GMAD::BLMPlacement & | bp, |
| G4VSensitiveDetector * | sd | ||
| ) |
Definition at line 55 of file BDSBLMFactory.cc.
|
private |
Definition at line 47 of file BDSBLMFactory.cc.