BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions
BDSBLMFactory Class Reference

Factory for building BLMs. More...

#include <BDSBLMFactory.hh>

Collaboration diagram for BDSBLMFactory:
Collaboration graph

Public Member Functions

BDSBLMCreateBLM (const GMAD::BLMPlacement &bp, G4VSensitiveDetector *sd)
 
BDSBLMCreateBLM (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 &parameterName, const G4String &blmName) const
 
BDSBLMBuildBLMCylinder (const G4String &name, const G4String &material, G4double halfLength, G4double radius)
 Build the geometry for a cylinder.
 
BDSBLMBuildBLMCube (const G4String &name, const G4String &material, G4double halfLengthX, G4double halfLengthY, G4double halfLengthZ)
 Build the geometry for a cube.
 
BDSBLMBuildBLMSphere (const G4String &name, const G4String &material, G4double radius)
 Build the geometry for a sphere.
 
BDSBLMCommonConstruction (const G4String &name, const G4String &material, G4VSolid *shape, const BDSExtent &extent)
 

Detailed Description

Factory for building BLMs.

Author
Laurie Nevay

Definition at line 39 of file BDSBLMFactory.hh.

Constructor & Destructor Documentation

◆ BDSBLMFactory()

BDSBLMFactory::BDSBLMFactory ( )

Definition at line 41 of file BDSBLMFactory.cc.

◆ ~BDSBLMFactory()

BDSBLMFactory::~BDSBLMFactory ( )

Definition at line 44 of file BDSBLMFactory.cc.

Member Function Documentation

◆ BuildBLMCube()

BDSBLM * BDSBLMFactory::BuildBLMCube ( const G4String &  name,
const G4String &  material,
G4double  halfLengthX,
G4double  halfLengthY,
G4double  halfLengthZ 
)
private

Build the geometry for a cube.

Definition at line 133 of file BDSBLMFactory.cc.

References CommonConstruction().

Referenced by CreateBLM().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BuildBLMCylinder()

BDSBLM * BDSBLMFactory::BuildBLMCylinder ( const G4String &  name,
const G4String &  material,
G4double  halfLength,
G4double  radius 
)
private

Build the geometry for a cylinder.

Definition at line 116 of file BDSBLMFactory.cc.

References CommonConstruction().

Referenced by CreateBLM().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BuildBLMSphere()

BDSBLM * BDSBLMFactory::BuildBLMSphere ( const G4String &  name,
const G4String &  material,
G4double  radius 
)
private

Build the geometry for a sphere.

Definition at line 147 of file BDSBLMFactory.cc.

References CommonConstruction().

Referenced by CreateBLM().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CommonConstruction()

BDSBLM * BDSBLMFactory::CommonConstruction ( const G4String &  name,
const G4String &  material,
G4VSolid *  shape,
const BDSExtent extent 
)
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateBLM() [1/2]

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().

Here is the call graph for this function:

◆ CreateBLM() [2/2]

BDSBLM * BDSBLMFactory::CreateBLM ( const GMAD::BLMPlacement bp,
G4VSensitiveDetector *  sd 
)

Definition at line 55 of file BDSBLMFactory.cc.

◆ PositiveFinite()

void BDSBLMFactory::PositiveFinite ( G4double  value,
const G4String &  parameterName,
const G4String &  blmName 
) const
private

Definition at line 47 of file BDSBLMFactory.cc.


The documentation for this class was generated from the following files: