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
BDSTunnelFactoryElliptical Class Reference

Factory for elliptical tunnel segments. Builds floor, tunnel and soil. More...

#include <BDSTunnelFactoryElliptical.hh>

Inheritance diagram for BDSTunnelFactoryElliptical:
Inheritance graph
Collaboration diagram for BDSTunnelFactoryElliptical:
Collaboration graph

Public Member Functions

virtual BDSTunnelSectionCreateTunnelSection (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 BDSTunnelSectionCreateTunnelSectionAngled (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 BDSTunnelSectionCreateTunnelSection (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 BDSTunnelSectionCreateTunnelSectionAngledIn (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 BDSTunnelSectionCreateTunnelSectionAngledOut (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 BDSTunnelSectionCreateTunnelSectionAngledInOut (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 BDSTunnelSectionCreateTunnelSectionAngled (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.
 
- 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 &tunnelFloorOffset, G4double &tunnel1, G4double &tunnel2)
 functions below here are private to this particular factory
 

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.
 
virtual void CleanUp ()
 
- Protected Attributes inherited from BDSTunnelFactoryBase
BDSGeometryComponenttunnelComponent
 
BDSTunnelSectiontunnelSection
 
G4VSolid * containerSolid
 
G4VSolid * tunnelSolid
 
G4VSolid * soilSolid
 
G4VSolid * floorSolid
 
G4VSolid * intersectionSolid
 
G4LogicalVolume * containerLV
 
G4LogicalVolume * tunnelLV
 
G4LogicalVolume * soilLV
 
G4LogicalVolume * floorLV
 
G4ThreeVector floorDisplacement
 
BDSTunnelInfodefaultModel
 
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.
 

Detailed Description

Factory for elliptical tunnel segments. Builds floor, tunnel and soil.

Author
Laurie Nevay

Definition at line 34 of file BDSTunnelFactoryElliptical.hh.

Constructor & Destructor Documentation

◆ BDSTunnelFactoryElliptical()

BDSTunnelFactoryElliptical::BDSTunnelFactoryElliptical ( )

Definition at line 41 of file BDSTunnelFactoryElliptical.cc.

◆ ~BDSTunnelFactoryElliptical()

virtual BDSTunnelFactoryElliptical::~BDSTunnelFactoryElliptical ( )
inlinevirtual

Definition at line 38 of file BDSTunnelFactoryElliptical.hh.

Member Function Documentation

◆ CreateTunnelSection()

BDSTunnelSection * BDSTunnelFactoryElliptical::CreateTunnelSection ( G4String  name,
G4double  length,
G4double  tunnelThickness,
G4double  tunnelSoilThickness,
G4Material *  tunnelMaterial,
G4Material *  tunnelSoilMaterial,
G4bool  tunnelFloor,
G4double  tunnelFloorOffset,
G4double  tunnel1,
G4double  tunnel2,
G4bool  visible 
)
virtual

Create a tunnel section with flat input and output faces.

Implements BDSTunnelFactoryBase.

Definition at line 44 of file BDSTunnelFactoryElliptical.cc.

References BDSTunnelFactoryBase::CleanUp(), BDSFactoryBase::lengthSafety, and TestInputParameters().

Here is the call graph for this function:

◆ CreateTunnelSectionAngled()

BDSTunnelSection * BDSTunnelFactoryElliptical::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 
)
virtual

Create a tunnel section with an angled input and output face.

Implements BDSTunnelFactoryBase.

Definition at line 217 of file BDSTunnelFactoryElliptical.cc.

References BDSTunnelFactoryBase::CleanUp(), BDSFactoryBase::lengthSafety, and TestInputParameters().

Here is the call graph for this function:

◆ TestInputParameters()

void BDSTunnelFactoryElliptical::TestInputParameters ( G4double &  length,
G4double &  tunnelThickness,
G4double &  tunnelSoilThickness,
G4Material *&  tunnelMaterial,
G4Material *&  tunnelSoildMaterial,
G4double &  tunnelFloorOffset,
G4double &  tunnel1,
G4double &  tunnel2 
)
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 436 of file BDSTunnelFactoryElliptical.cc.

References BDSTunnelInfo::aper1, BDSTunnelInfo::aper2, and BDSTunnelFactoryBase::CommontTestInputParameters().

Referenced by CreateTunnelSection(), and CreateTunnelSectionAngled().

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

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