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.