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. | |
![]() | |
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)=0 |
Create a tunnel section with flat input and output faces. Pure virtual. | |
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 BDSTunnelSection * | CreateTunnelSectionAngled (G4String name, G4double length, G4ThreeVector inputFaceIn, G4ThreeVector outputFaceIn, G4double tunnelThickness, G4double tunnelSoilThickness, G4Material *tunnelMaterial, G4Material *tunnelSoilMaterial, G4bool tunnelFloor, G4double tunnelFloorOffset, G4double tunnel1, G4double tunnel2, G4bool visible)=0 |
Create a tunnel section with an angled input and output face. Pure virtual. | |
virtual | ~BDSTunnelFactoryBase () |
Virtual base destructor. | |
![]() | |
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 | |
![]() | |
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. | |
virtual void | CleanUp () |
![]() | |
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 |
![]() | |
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.