|
BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Class that constructs a Geant4 model of an accelerator. More...
#include <BDSDetectorConstruction.hh>


Public Member Functions | |
| BDSDetectorConstruction (BDSComponentFactoryUser *userComponentFactoryIn=nullptr) | |
| void | UpdateSamplerDiameterAndCountSamplers () |
| virtual G4VPhysicalVolume * | Construct () |
| virtual void | ConstructSDandField () |
| Construct sensitive detectors and fields. | |
| void | BuildPhysicsBias () |
| void | SetDesignParticle (const BDSParticleDefinition *defIn) |
| Set the (initial) design particle definition. | |
| BDSExtent | WorldExtent () const |
| Public access to the world extent. | |
| const std::vector< BDSFieldQueryInfo * > & | FieldQueries () const |
| Access vector of query objects. | |
| G4bool | BuildSamplerWorld () const |
| G4bool | BuildPlacementFieldsWorld () const |
Static Public Member Functions | |
| static void | PlaceBeamlineInWorld (BDSBeamline *beamline, G4VPhysicalVolume *containerPV, G4bool checkOverlaps=false, G4bool setRegions=false, G4bool registerInfo=false, G4bool useCLPlacementTransform=false, G4bool useIncrementalCopyNumbers=false, G4bool registerPlacementNamesForOutput=false) |
| static G4Transform3D | CreatePlacementTransform (const GMAD::Placement &placement, const BDSBeamline *beamLine, G4double *S=nullptr, BDSExtent *placementExtent=nullptr, const G4String &objectTypeForErrorMsg="placement") |
| static G4Transform3D | CreatePlacementTransform (const GMAD::ScorerMesh &scorerMesh, const BDSBeamline *beamLine, G4double *S=nullptr) |
| placement and uses the above function. | |
| static G4Transform3D | CreatePlacementTransform (const GMAD::SamplerPlacement &samplerPlacement, const BDSBeamline *beamLine, G4double *S=nullptr) |
| static G4Transform3D | CreatePlacementTransform (const GMAD::BLMPlacement &blmPlacement, const BDSBeamline *beamLine, G4double *S=nullptr, BDSExtent *blmExtent=nullptr) |
| Create a blm placement from a blm placement. | |
| static G4Transform3D | CreatePlacementTransform (const GMAD::Query &queryPlacement, const BDSBeamline *beamLine, G4double *S=nullptr) |
| Create a query placement from a query placement. | |
| static G4ThreeVector | SideToLocalOffset (const GMAD::Placement &placement, const BDSBeamline *beamLine, const BDSExtent &placementExtent) |
| Attach component with extent2 to component with extent1 with placement. | |
| static BDSSamplerInfo * | BuildSamplerInfo (const GMAD::Element *element) |
| static std::vector< BDSFieldQueryInfo * > | PrepareFieldQueries (const BDSBeamline *mainBeamline) |
| Prepare field queries from parser information. | |
Private Member Functions | |
| BDSDetectorConstruction & | operator= (const BDSDetectorConstruction &)=delete |
| assignment and copy constructor not implemented nor used | |
| BDSDetectorConstruction (BDSDetectorConstruction &)=delete | |
| void | PrepareExtraSamplerSDs () |
| void | CountPlacementFields () |
| Count number of fields required for placements. | |
| void | InitialiseRegions () |
| Create and set parameters for various G4Regions. | |
| void | InitialiseApertures () |
| Create all aperture definitions from parser and store in BDSAcceleratorModel. | |
| void | BuildBeamlines () |
| Build the main beam line and then any other required beam lines. | |
| BDSBeamlineSet | BuildBeamline (const GMAD::FastList< GMAD::Element > &beamLine, const G4String &name, const BDSBeamlineIntegral &startingIntegral, BDSBeamlineIntegral *&integral, const G4Transform3D &initialTransform=G4Transform3D(), G4bool beamlineIsCircular=false, G4bool isPlacementBeamline=false) |
| void | BuildTunnel () |
| Build the tunnel around the already constructed flat beam line. | |
| G4VPhysicalVolume * | BuildWorld () |
| void | ComponentPlacement (G4VPhysicalVolume *worldPV) |
| Place beam line, tunnel beam line, end pieces and placements in world. | |
| G4bool | UnsuitableFirstElement (std::list< GMAD::Element >::const_iterator element) |
| BDSExtent | CalculateExtentOfSamplerPlacement (const GMAD::SamplerPlacement &sp) const |
| Calculate local extent of custom user sampler. | |
| BDSExtentGlobal | CalculateExtentOfSamplerPlacements (const BDSBeamline *beamLine) const |
| BDSExtent | CalculateExtentOfScorerMesh (const GMAD::ScorerMesh &sm) const |
| Calculate local extent of scorer mesh in 3D. | |
| BDSExtentGlobal | CalculateExtentOfScorerMeshes (const BDSBeamline *bl) const |
| BDSBOptrMultiParticleChangeCrossSection * | BuildCrossSectionBias (const std::list< std::string > &biasList, const std::list< std::string > &defaultBias, const G4String &elementName) |
| Function that creates physics biasing cross section. | |
| void | ConstructScoringMeshes () |
| Construct scoring meshes. | |
| void | VerboseSensitivity () const |
| Print out the sensitivity of every single volume so far constructed in the world. | |
| void | PrintSensitiveDetectorsOfLV (const G4LogicalVolume *lv, G4int currentDepth) const |
| Recursive function to print out each sensitive detector name. | |
| void | PrintUserLimitsSummary (const G4VPhysicalVolume *world) const |
| void | PrintUserLimitsPV (const G4VPhysicalVolume *aPV, G4double globalMinEK) const |
Private Attributes | |
| std::vector< BDSBOptrMultiParticleChangeCrossSection * > | biasObjects |
| List of bias objects - for memory management. | |
| std::map< G4String, BDSBOptrMultiParticleChangeCrossSection * > | biasSetObjects |
| bool | debug = true |
| BDSAcceleratorModel * | acceleratorModel |
| Accelerator model pointer. | |
| std::vector< BDSFieldObjects * > | fields |
| All fields. | |
| G4bool | circular |
| Whether or not we're building a circular machine. | |
| BDSExtent | worldExtent |
| Record of the world extent. | |
| BDSBeamline * | placementBL |
| const BDSParticleDefinition * | designParticle |
| Particle definition all components are built w.r.t. Includes rigidity etc. | |
| G4bool | canSampleAngledFaces |
| Whether the integrator set permits sampling elements with angled faces. | |
| BDSComponentFactoryUser * | userComponentFactory |
| G4int | nSamplers |
| Count of number of samplers to be built. | |
| G4bool | buildPlacementFieldsWorld |
| std::set< G4LogicalVolume * > | worldContentsLogicalVolumes |
| Cache of possibly loaded logical volumes from a world geometry file - used for biasing. | |
| std::set< G4LogicalVolume * > | worldVacuumLogicalVolumes |
| G4LogicalVolume * | worldLogicalVolume |
| std::vector< BDSFieldQueryInfo * > | fieldQueries |
| G4bool | verbose |
| Variable copied from global constants. | |
| G4bool | checkOverlaps |
| Variable copied from global constants. | |
Class that constructs a Geant4 model of an accelerator.
Mandatory class that must be supplied for a valid Geant4 simulation. As construction is based on user input (via the parser) for a potentially large number of items, the construction process is factorised into key steps with member functions and makes use of factories for components and tunnel segments.
Maintained by Laurie Nevay & Jochem Snuverink
Definition at line 75 of file BDSDetectorConstruction.hh.
|
explicit |
Definition at line 126 of file BDSDetectorConstruction.cc.
|
virtual |
Definition at line 292 of file BDSDetectorConstruction.cc.
|
private |
Convert a parser beamline_list to BDSAcceleratorComponents with help of BDSComponentFactory and put in a BDSBeamline container that calculates coordinates and extents of the beamline.
Definition at line 422 of file BDSDetectorConstruction.cc.
References BDSBeamline::AddComponent(), BDSBeamline::begin(), GMAD::FastList< T >::begin(), BDSCurvilinearBuilder::BuildCurvilinearBeamLine1To1(), BDSCurvilinearBuilder::BuildCurvilinearBridgeBeamLine(), BDS::BuildEndPieceBeamline(), BuildSamplerInfo(), BDS::CalculateTeleporterDelta(), canSampleAngledFaces, circular, BDSComponentFactory::CreateComponent(), BDSComponentFactory::CreateTeleporter(), BDSComponentFactory::CreateTerminator(), BDSComponentFactory::CreateTiltOffset(), GMAD::Element::e1, BDSBeamline::empty(), GMAD::FastList< T >::empty(), BDSBeamline::end(), GMAD::FastList< T >::end(), BDSAcceleratorComponent::GetType(), BDSAcceleratorComponent::Initialise(), BDSGlobalConstants::Instance(), BDSBeamlineIntegral::integrateKineticEnergy, BDS::IsFinite(), BDSBeamline::rbegin(), BDSBeamline::rend(), GMAD::FastList< T >::size(), UnsuitableFirstElement(), and BDSSurvey::Write().
Referenced by BuildBeamlines().


|
private |
Build the main beam line and then any other required beam lines.
TODO - we use the initial design particle... if this splits off the main beam line it should be the particle at that point
Definition at line 331 of file BDSDetectorConstruction.cc.
References acceleratorModel, BDSBeamline::back(), BuildBeamline(), circular, CreatePlacementTransform(), designParticle, BDSBeamline::ElementAnglesSumToCircle(), GMAD::Parser::GetBeamline(), BDSParser::GetPlacements(), BDSParser::GetSequence(), BDSBeamlineElement::GetSPositionEnd(), BDSAcceleratorComponentRegistry::Instance(), BDSGlobalConstants::Instance(), BDSParser::Instance(), BDSAcceleratorComponentRegistry::PrintNumberOfEachType(), BDSAcceleratorModel::RegisterBeamlineSetExtra(), BDSAcceleratorModel::RegisterBeamlineSetMain(), BDSAcceleratorComponentRegistry::size(), and verbose.
Referenced by Construct().


|
private |
Function that creates physics biasing cross section.
Definition at line 1117 of file BDSDetectorConstruction.cc.
References biasObjects, GMAD::PhysicsBiasing::factor, GMAD::FastList< T >::find(), GMAD::PhysicsBiasing::flag, BDSParser::GetBiasing(), BDSParser::Instance(), GMAD::PhysicsBiasing::name, GMAD::PhysicsBiasing::particle, GMAD::PhysicsBiasing::process, and BDS::StrStrip().
Referenced by BuildPhysicsBias().


| void BDSDetectorConstruction::BuildPhysicsBias | ( | ) |
Create biasing operations. This is done as a separate step as it has to be controlled externally and run only after RunManager->Initialise(). This means the bias can't be constructed as we go along in the component factory.
Definition at line 1174 of file BDSDetectorConstruction.cc.
References BDSAcceleratorComponentRegistry::AllComponentsIncludingUnique(), BuildCrossSectionBias(), GMAD::FastList< T >::empty(), BDSAcceleratorComponent::GetAcceleratorMaterialLogicalVolumes(), BDSAcceleratorComponent::GetAcceleratorVacuumLogicalVolumes(), BDSParser::GetBiasing(), BDSAcceleratorComponent::GetBiasMaterialList(), BDSAcceleratorComponent::GetBiasMaterialLVList(), BDSAcceleratorComponent::GetBiasVacuumList(), BDSAcceleratorComponent::GetName(), BDSParser::GetOptions(), BDSAcceleratorComponentRegistry::Instance(), BDSBLMRegistry::Instance(), BDSGlobalConstants::Instance(), BDSParser::Instance(), BDS::SplitOnWhiteSpace(), BDSAcceleratorModel::VolumeSet(), and worldContentsLogicalVolumes.
Referenced by BDSIM::Initialise().


|
inline |
Definition at line 169 of file BDSDetectorConstruction.hh.
|
static |
Construct sampler specifications from a GMAD element. May return nullptr if none type is specified.
Definition at line 411 of file BDSDetectorConstruction.cc.
References GMAD::Element::samplerName, GMAD::Element::samplerParticleSetID, and GMAD::Element::samplerType.
Referenced by BuildBeamline().

|
inline |
Whether to build a sampler world or not. If we've counted more than one sampler we should build the world in the end.
Definition at line 167 of file BDSDetectorConstruction.hh.
References nSamplers.
Referenced by BDSIM::Initialise().

|
private |
Build the tunnel around the already constructed flat beam line.
Definition at line 576 of file BDSDetectorConstruction.cc.
References acceleratorModel, BDSAcceleratorModel::BeamlineMain(), BDSTunnelBuilder::BuildTunnelSections(), BDSGlobalConstants::Instance(), and BDSAcceleratorModel::RegisterTunnelBeamline().
Referenced by ComponentPlacement(), and Construct().


|
private |
Build the world volume using the extent of the BDSBeamline instance created in BuildBeamline()
Give the pv info registry a heads up that these volumes don't have info (optimisation).
Definition at line 587 of file BDSDetectorConstruction.cc.
References acceleratorModel, BDSGeometryComponent::AttachSensitiveDetectors(), BDSAuxiliaryNavigator::AttachWorldVolumeToNavigator(), BDSFieldQuery::AttachWorldVolumeToNavigator(), BDSAcceleratorModel::BeamlineSetMain(), BDSGeometryFactory::BuildGeometry(), CalculateExtentOfSamplerPlacements(), CalculateExtentOfScorerMeshes(), checkOverlaps, BDSExtentGlobal::Encompasses(), BDSAcceleratorModel::ExtraBeamlines(), BDSGeometryComponent::GetAllLogicalVolumes(), BDSGeometryComponent::GetContainerLogicalVolume(), BDSGeometryComponent::GetContainerSolid(), BDSGeometryComponent::GetExtent(), BDSBeamline::GetExtentGlobal(), BDSBeamlineSet::GetExtentGlobals(), BDSMaterials::GetMaterial(), BDSGeometryFactory::Instance(), BDSGlobalConstants::Instance(), BDSMaterials::Instance(), BDSPhysicalVolumeInfoRegistry::Instance(), BDSAcceleratorModel::PlacementBeamline(), BDSPhysicalVolumeInfoRegistry::RegisterExcludedPV(), BDSAcceleratorModel::RegisterWorldLV(), BDSAcceleratorModel::RegisterWorldPV(), BDSAcceleratorModel::RegisterWorldSolid(), BDS::SplitOnWhiteSpace(), BDSAcceleratorModel::TunnelBeamline(), BDSGlobalConstants::UseImportanceSampling(), BDSGeometryExternal::VacuumVolumes(), worldContentsLogicalVolumes, and worldExtent.
Referenced by Construct().


|
private |
Calculate local extent of custom user sampler.
Definition at line 1046 of file BDSDetectorConstruction.cc.
References BDSAcceleratorModel::Aperture(), BDSApertureInfo::Extent(), GMAD::SamplerPlacement::name, GMAD::SamplerPlacement::samplerType, BDSExtent::XNeg(), BDSExtent::XPos(), BDSExtent::YNeg(), and BDSExtent::YPos().
Referenced by CalculateExtentOfSamplerPlacements().


|
private |
Calculate the maximum global extent of all sampler placements from the parser. Beam line supplied to calculate placements in some cases.
Definition at line 1081 of file BDSDetectorConstruction.cc.
References CalculateExtentOfSamplerPlacement(), CreatePlacementTransform(), BDSExtentGlobal::ExpandToEncompass(), BDSParser::GetSamplerPlacements(), and BDSParser::Instance().
Referenced by BuildWorld().


|
private |
Calculate local extent of scorer mesh in 3D.
Definition at line 1095 of file BDSDetectorConstruction.cc.
Referenced by CalculateExtentOfScorerMeshes().

|
private |
Calculate the maximum global extent of all scoerer meshes from the parser. Beam line supplied to calculate placements in some cases.
Definition at line 1101 of file BDSDetectorConstruction.cc.
References CalculateExtentOfScorerMesh(), CreatePlacementTransform(), BDSExtentGlobal::ExpandToEncompass(), BDSParser::GetScorerMesh(), and BDSParser::Instance().
Referenced by BuildWorld().


|
private |
Place beam line, tunnel beam line, end pieces and placements in world.
Definition at line 755 of file BDSDetectorConstruction.cc.
References acceleratorModel, BDSAcceleratorModel::BeamlineSetMain(), BuildTunnel(), checkOverlaps, BDSAcceleratorModel::ExtraBeamlines(), BDSGlobalConstants::Instance(), PlaceBeamlineInWorld(), placementBL, and BDSAcceleratorModel::TunnelBeamline().
Referenced by Construct().


|
virtual |
Overridden Geant4 method that must be implemented. Constructs the Geant4 geometry and returns the finished world physical volume.
Definition at line 236 of file BDSDetectorConstruction.cc.
References BDSAcceleratorModel::BeamlineSetMain(), BuildBeamlines(), BDS::BuildBLMs(), BDS::BuildPlacementGeometry(), BuildTunnel(), BuildWorld(), ComponentPlacement(), designParticle, InitialiseApertures(), InitialiseRegions(), BDSGlobalConstants::Instance(), BDSParser::Instance(), placementBL, PrepareFieldQueries(), BDSAcceleratorModel::RegisterBLMs(), BDSAcceleratorModel::RegisterPlacementBeamline(), verbose, and VerboseSensitivity().

|
private |
Construct scoring meshes.
Definition at line 1359 of file BDSDetectorConstruction.cc.
References acceleratorModel, BDSAcceleratorModel::BeamlineMain(), CreatePlacementTransform(), BDSScorerFactory::CreateScorer(), BDSParser::GetScorerMesh(), BDSParser::GetScorers(), BDSParser::Instance(), BDS::LowerCase(), BDSScorerInfo::name, BDSSDManager::RegisterPrimitiveScorerNames(), BDSAcceleratorModel::RegisterScorerHistogramDefinition(), BDSAcceleratorModel::RegisterScorerPlacement(), BDS::SplitOnWhiteSpace(), and BDSAcceleratorModel::WorldLV().
Referenced by ConstructSDandField().


|
virtual |
Construct sensitive detectors and fields.
Definition at line 1337 of file BDSDetectorConstruction.cc.
References acceleratorModel, ConstructScoringMeshes(), BDSFieldBuilder::Instance(), and BDSAcceleratorModel::RegisterFields().

|
private |
Count number of fields required for placements.
Definition at line 224 of file BDSDetectorConstruction.cc.
References BDSParser::GetPlacements(), and BDSParser::Instance().

|
static |
Create a blm placement from a blm placement.
Definition at line 975 of file BDSDetectorConstruction.cc.
References CreatePlacementTransform().

|
static |
Create a transform based on the information in the placement. If S is supplied, it's updated with the final S coordinate calculated. If an extent is given - only in the case of a placement transform w.r.t. the curvilinear system (ie not global) - the side parameter from the placement is used to include an offset to the edge of the element.
Definition at line 848 of file BDSDetectorConstruction.cc.
References GMAD::Placement::angle, GMAD::Placement::axisAngle, GMAD::Placement::axisX, GMAD::Placement::axisY, GMAD::Placement::axisZ, BDSBeamline::GetElement(), BDSBeamline::GetGlobalEuclideanTransform(), BDSBeamlineElement::GetSPositionMiddle(), BDS::IsFinite(), GMAD::Placement::name, GMAD::Placement::phi, GMAD::Placement::psi, GMAD::Placement::referenceElement, GMAD::Placement::referenceElementNumber, GMAD::Placement::s, SideToLocalOffset(), GMAD::Placement::theta, GMAD::Placement::x, GMAD::Placement::y, and GMAD::Placement::z.
Referenced by BuildBeamlines(), BDS::BuildBLMs(), BDS::BuildPlacementGeometry(), CalculateExtentOfSamplerPlacements(), CalculateExtentOfScorerMeshes(), BDSParallelWorldSampler::Construct(), ConstructScoringMeshes(), CreatePlacementTransform(), CreatePlacementTransform(), CreatePlacementTransform(), CreatePlacementTransform(), and PrepareFieldQueries().


|
static |
Create a query placement from a query placement.
Definition at line 985 of file BDSDetectorConstruction.cc.
References CreatePlacementTransform().

|
static |
Create a sampler placement transform. Turns the sampler placement into a placement and uses the above function.
Definition at line 966 of file BDSDetectorConstruction.cc.
References CreatePlacementTransform().

|
static |
placement and uses the above function.
Definition at line 957 of file BDSDetectorConstruction.cc.
References CreatePlacementTransform().

|
inline |
Access vector of query objects.
Definition at line 104 of file BDSDetectorConstruction.hh.
|
private |
Create all aperture definitions from parser and store in BDSAcceleratorModel.
Definition at line 315 of file BDSDetectorConstruction.cc.
References acceleratorModel, BDSParser::GetApertures(), BDSParser::Instance(), and BDSAcceleratorModel::RegisterApertures().
Referenced by Construct().


|
private |
Create and set parameters for various G4Regions.
Definition at line 303 of file BDSDetectorConstruction.cc.
References acceleratorModel, BDSParser::GetRegions(), BDSParser::Instance(), and BDSAcceleratorModel::RegisterRegion().
Referenced by Construct().


|
static |
Loop over a beam line and place elements in a container (world). If a sensitive detector is specified in each component, this is applied to each volume. If regions are desired, the element is looked up in the region definitions and that is set up. If registerInfo, physical volume info is created and placed in a pv info registry. Public and static so it can be used by parallel world constructors. Last argument is whether to use the placement transform for curvilinear coordinate geometry that's different in the case of tilted dipoles.
Definition at line 791 of file BDSDetectorConstruction.cc.
References checkOverlaps, BDSPhysicalVolumeInfoRegistry::Instance(), BDSAcceleratorModel::Region(), BDSPhysicalVolumeInfoRegistry::RegisterInfo(), and BDSPhysicalVolumeInfoRegistry::RegisterPVsForOutput().
Referenced by ComponentPlacement(), BDSParallelWorldCurvilinear::Construct(), and BDSParallelWorldCurvilinearBridge::Construct().


|
private |
Prepare extra sampler sensitive detector classes required if we have any particle filters created for samplers.
Definition at line 218 of file BDSDetectorConstruction.cc.
References BDSSDManager::ConstructSamplerSDsForParticleSets(), and BDSParser::Instance().

|
static |
Prepare field queries from parser information.
Definition at line 1462 of file BDSDetectorConstruction.cc.
References CreatePlacementTransform(), BDSParser::GetQuery(), BDSParser::Instance(), and BDS::LoadFieldQueryPoints().
Referenced by Construct().


|
private |
Recursive function to print out each sensitive detector name.
Definition at line 1563 of file BDSDetectorConstruction.cc.
References PrintSensitiveDetectorsOfLV().
Referenced by PrintSensitiveDetectorsOfLV(), and VerboseSensitivity().


|
private |
Definition at line 1535 of file BDSDetectorConstruction.cc.
|
private |
Definition at line 1527 of file BDSDetectorConstruction.cc.
|
inline |
Set the (initial) design particle definition.
Definition at line 98 of file BDSDetectorConstruction.hh.
References designParticle.
Referenced by BDSIM::Initialise().

|
static |
Attach component with extent2 to component with extent1 with placement.
Definition at line 993 of file BDSDetectorConstruction.cc.
References BDSExtent::DX(), BDSBeamline::end(), BDSExtent::ExtentZ(), BDSBeamline::FindFromS(), BDSGlobalConstants::Instance(), BDS::IsFinite(), BDS::LowerCase(), BDS::MaximumCombinedExtent(), GMAD::Placement::s, GMAD::Placement::side, GMAD::Placement::sideOffset, BDSExtent::XNeg(), BDSExtent::XPos(), BDSExtent::YNeg(), and BDSExtent::YPos().
Referenced by CreatePlacementTransform().


|
private |
Detect whether the first element has an angled face such that it might overlap with a previous element. Only used in case of a circular machine.
Definition at line 1345 of file BDSDetectorConstruction.cc.
References BDS::IsFinite().
Referenced by BuildBeamline().


| void BDSDetectorConstruction::UpdateSamplerDiameterAndCountSamplers | ( | ) |
Loop over beam line and work out maximum tolerable sampler radius. Count all samplers and set member nSamplers and the same time.
Definition at line 173 of file BDSDetectorConstruction.cc.
References GMAD::Parser::GetBeamline(), BDSParser::GetSamplerPlacements(), BDSGlobalConstants::Instance(), BDSParser::Instance(), BDS::IsFinite(), nSamplers, BDSGlobalConstants::SetCurvilinearDiameter(), BDSGlobalConstants::SetCurvilinearDiameterShrunkForBends(), and BDSGlobalConstants::SetSamplerDiameter().

|
private |
Print out the sensitivity of every single volume so far constructed in the world.
Definition at line 1554 of file BDSDetectorConstruction.cc.
References PrintSensitiveDetectorsOfLV().
Referenced by Construct().


|
inline |
Public access to the world extent.
Definition at line 101 of file BDSDetectorConstruction.hh.
References worldExtent.
|
private |
Accelerator model pointer.
Definition at line 265 of file BDSDetectorConstruction.hh.
Referenced by BuildBeamlines(), BuildTunnel(), BuildWorld(), ComponentPlacement(), ConstructScoringMeshes(), ConstructSDandField(), InitialiseApertures(), and InitialiseRegions().
|
private |
List of bias objects - for memory management.
Definition at line 249 of file BDSDetectorConstruction.hh.
Referenced by BuildCrossSectionBias().
|
private |
Definition at line 250 of file BDSDetectorConstruction.hh.
|
private |
Definition at line 280 of file BDSDetectorConstruction.hh.
|
private |
Whether the integrator set permits sampling elements with angled faces.
Definition at line 275 of file BDSDetectorConstruction.hh.
Referenced by BuildBeamline().
|
private |
Variable copied from global constants.
Definition at line 261 of file BDSDetectorConstruction.hh.
Referenced by BuildWorld(), ComponentPlacement(), and PlaceBeamlineInWorld().
|
private |
Whether or not we're building a circular machine.
Definition at line 270 of file BDSDetectorConstruction.hh.
Referenced by BuildBeamline(), and BuildBeamlines().
|
private |
Definition at line 254 of file BDSDetectorConstruction.hh.
|
private |
Particle definition all components are built w.r.t. Includes rigidity etc.
Definition at line 274 of file BDSDetectorConstruction.hh.
Referenced by BuildBeamlines(), Construct(), and SetDesignParticle().
|
private |
Definition at line 287 of file BDSDetectorConstruction.hh.
|
private |
All fields.
Definition at line 268 of file BDSDetectorConstruction.hh.
|
private |
Count of number of samplers to be built.
Definition at line 279 of file BDSDetectorConstruction.hh.
Referenced by BuildSamplerWorld(), and UpdateSamplerDiameterAndCountSamplers().
|
private |
Placement beam line.
Definition at line 272 of file BDSDetectorConstruction.hh.
Referenced by ComponentPlacement(), and Construct().
|
private |
Definition at line 277 of file BDSDetectorConstruction.hh.
|
private |
Variable copied from global constants.
Definition at line 260 of file BDSDetectorConstruction.hh.
Referenced by BuildBeamlines(), and Construct().
|
private |
Cache of possibly loaded logical volumes from a world geometry file - used for biasing.
Definition at line 283 of file BDSDetectorConstruction.hh.
Referenced by BuildPhysicsBias(), and BuildWorld().
|
private |
Record of the world extent.
Definition at line 271 of file BDSDetectorConstruction.hh.
Referenced by BuildWorld(), and WorldExtent().
|
private |
Definition at line 285 of file BDSDetectorConstruction.hh.
|
private |
Definition at line 284 of file BDSDetectorConstruction.hh.