|
BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Factory for rectangular tunnel segments above ground. More...
#include <BDSTunnelFactoryRectAboveGround.hh>


Public Member Functions | |
| virtual BDSTunnelSection * | CreateTunnelSection (G4String name, G4double length, G4double tunnelThickness, G4double tunnelSoilThickness, G4Material *tunnelMaterial, G4Material *tunnelSoilMaterial, G4bool tunnelFloor, G4double tunnelFloorOffset, G4double tunnel1, G4double tunnel2, G4bool visible) |
| Create a tunnel section with flat input and output faces. | |
| virtual BDSTunnelSection * | CreateTunnelSectionAngled (G4String name, G4double length, G4ThreeVector inputFace, G4ThreeVector outputFace, G4double tunnelThickness, G4double tunnelSoilThickness, G4Material *tunnelMaterial, G4Material *tunnelSoilMaterial, G4bool tunnelFloor, G4double tunnelFloorOffset, G4double tunnel1, G4double tunnel2, G4bool visible) |
| Create a tunnel section with an angled input and output face. | |
Public Member Functions inherited from BDSTunnelFactoryBase | |
| virtual BDSTunnelSection * | CreateTunnelSectionAngledIn (G4String name, G4double length, G4double angleIn, G4double tunnelThickness, G4double tunnelSoilThickness, G4Material *tunnelMaterial, G4Material *tunnelSoilMaterial, G4bool tunnelFloor, G4double tunnelFloorOffset, G4double tunnel1, G4double tunnel2, G4bool visible) |
| virtual BDSTunnelSection * | CreateTunnelSectionAngledOut (G4String name, G4double length, G4double angleOut, G4double tunnelThickness, G4double tunnelSoilThickness, G4Material *tunnelMaterial, G4Material *tunnelSoilMaterial, G4bool tunnelFloor, G4double tunnelFloorOffset, G4double tunnel1, G4double tunnel2, G4bool visible) |
| virtual BDSTunnelSection * | CreateTunnelSectionAngledInOut (G4String name, G4double length, G4double angleIn, G4double angleOut, G4double tunnelThickness, G4double tunnelSoilThickness, G4Material *tunnelMaterial, G4Material *tunnelSoilMaterial, G4bool tunnelFloor, G4double tunnelFloorOffset, G4double tunnel1, G4double tunnel2, G4bool visible) |
| virtual | ~BDSTunnelFactoryBase () |
| Virtual base destructor. | |
Public Member Functions inherited from BDSFactoryBase | |
| virtual void | FactoryBaseCleanUp () |
| Empty containers for next use - factories are never deleted so can't rely on scope. | |
Private Member Functions | |
| void | TestInputParameters (G4double &length, G4double &tunnelThickness, G4double &tunnelSoilThickness, G4Material *&tunnelMaterial, G4Material *&tunnelSoildMaterial, G4double &tunnel1, G4double &tunnel2) |
| functions below here are private to this particular factory | |
| virtual void | CleanUp () |
| G4VSolid * | BuildContainerStraight (G4String name, G4double lengthIn, G4double tunnel1, G4double tunnel2, G4double tunnelThickness, G4ThreeVector slabDisplacement) |
Private Attributes | |
| G4VSolid * | slabSolid |
| G4double | slabXHalfWidth |
| G4double | slabYHalfWidth |
| G4double | containerXRadius |
| G4double | containerYRadius |
Additional Inherited Members | |
Protected Member Functions inherited from BDSTunnelFactoryBase | |
| BDSTunnelFactoryBase () | |
| protected default constructor so only derived classes can use it | |
| void | CommontTestInputParameters (G4double &length, G4double &tunnelThickness, G4double &tunnelSoilThickness, G4Material *&tunnelMaterial, G4Material *&tunnelSoilMaterial) |
| virtual void | CommonConstruction (G4String name, G4Material *tunnelMaterial, G4Material *tunnelSoilMaterial, G4double length, G4double containerXRadius, G4double contianerYRadius, G4bool visible) |
| virtual void | BuildLogicalVolumes (G4String name, G4Material *tunnelMaterial, G4Material *tunnelSoilMaterial) |
| Build logical volumes from solids + materials. | |
| virtual void | SetVisAttributes (G4bool visible) |
| Set the visual attributes for each logical volume. | |
| virtual void | SetUserLimits () |
| Set user limits for all logical volumes in the tunnel section. | |
| virtual void | PrepareGeometryComponent (G4double containerXRadius, G4double containerYRadius, G4double containerZRadius) |
| Prepare the assembled geometry component. | |
| virtual void | PrepareTunnelSection (G4String name, G4double chordLength) |
| Prepare the output BDSTunnelSection instance. | |
| virtual void | SetSensitiveVolumes () |
| Set the sensitive volumes. | |
| virtual void | PlaceComponents (G4String name) |
| Place components in container volume. | |
Protected Attributes inherited from BDSTunnelFactoryBase | |
| BDSGeometryComponent * | tunnelComponent |
| BDSTunnelSection * | tunnelSection |
| G4VSolid * | containerSolid |
| G4VSolid * | tunnelSolid |
| G4VSolid * | soilSolid |
| G4VSolid * | floorSolid |
| G4VSolid * | intersectionSolid |
| G4LogicalVolume * | containerLV |
| G4LogicalVolume * | tunnelLV |
| G4LogicalVolume * | soilLV |
| G4LogicalVolume * | floorLV |
| G4ThreeVector | floorDisplacement |
| BDSTunnelInfo * | defaultModel |
| G4double | cumulativeAngle |
Protected Attributes inherited from BDSFactoryBase | |
| std::set< G4LogicalVolume * > | allLogicalVolumes |
| std::set< G4VPhysicalVolume * > | allPhysicalVolumes |
| std::set< G4RotationMatrix * > | allRotationMatrices |
| std::set< G4UserLimits * > | allUserLimits |
| std::set< G4VSolid * > | allSolids |
| std::set< G4VisAttributes * > | allVisAttributes |
| G4double | lengthSafety |
| Cache of global constants variable. | |
| G4double | lengthSafetyLarge |
| Cache of global constants variable. | |
| G4bool | checkOverlaps |
| Cache of global constants variable. | |
| G4bool | visDebug |
| Cache of global constants variable. | |
| G4int | nSegmentsPerCircle |
| Cache of global constants variable. | |
| G4VisAttributes * | containerVisAttr |
| Cache of global constants variable. | |
| G4UserLimits * | defaultUserLimits |
| Cache of global constants variable. | |
Factory for rectangular tunnel segments above ground.
There is no soil. Builds tunnel, floor (optional) and concrete slab that it all sits on.
Definition at line 39 of file BDSTunnelFactoryRectAboveGround.hh.
| BDSTunnelFactoryRectAboveGround::BDSTunnelFactoryRectAboveGround | ( | ) |
Definition at line 40 of file BDSTunnelFactoryRectAboveGround.cc.
|
inlinevirtual |
Definition at line 43 of file BDSTunnelFactoryRectAboveGround.hh.
|
private |
Definition at line 236 of file BDSTunnelFactoryRectAboveGround.cc.
|
privatevirtual |
Reset factory members for next usage - avoids previously constructed parts being accidently used in new object
Reimplemented from BDSTunnelFactoryBase.
Definition at line 49 of file BDSTunnelFactoryRectAboveGround.cc.
References BDSTunnelFactoryBase::CleanUp().
Referenced by CreateTunnelSection(), and CreateTunnelSectionAngled().


|
virtual |
Create a tunnel section with flat input and output faces.
Implements BDSTunnelFactoryBase.
Definition at line 57 of file BDSTunnelFactoryRectAboveGround.cc.
References CleanUp(), BDSFactoryBase::lengthSafety, and TestInputParameters().

|
virtual |
Create a tunnel section with an angled input and output face.
Implements BDSTunnelFactoryBase.
Definition at line 124 of file BDSTunnelFactoryRectAboveGround.cc.
References CleanUp(), BDSFactoryBase::lengthSafety, and TestInputParameters().

|
private |
functions below here are private to this particular factory
Test input parameters - this is only for basic viability not in comparison to the accelerator model or other components
Definition at line 219 of file BDSTunnelFactoryRectAboveGround.cc.
References BDSTunnelInfo::aper1, BDSTunnelInfo::aper2, BDSTunnelFactoryBase::CommontTestInputParameters(), and BDS::IsFinite().
Referenced by CreateTunnelSection(), and CreateTunnelSectionAngled().


|
private |
Definition at line 97 of file BDSTunnelFactoryRectAboveGround.hh.
|
private |
Definition at line 98 of file BDSTunnelFactoryRectAboveGround.hh.
|
private |
Definition at line 93 of file BDSTunnelFactoryRectAboveGround.hh.
|
private |
Definition at line 94 of file BDSTunnelFactoryRectAboveGround.hh.
|
private |
Definition at line 95 of file BDSTunnelFactoryRectAboveGround.hh.