18#include "BDSExtent.hh"
19#include "BDSGlobalConstants.hh"
20#include "BDSSamplerPlane.hh"
21#include "BDSSDManager.hh"
22#include "BDSTerminator.hh"
23#include "BDSSDTerminator.hh"
24#include "BDSTerminatorUserLimits.hh"
27#include "G4LogicalVolume.hh"
31BDSTerminator::BDSTerminator(G4double horizontalWidthIn):
33 horizontalWidth(horizontalWidthIn)
36BDSTerminator::~BDSTerminator()
46 containerSolid =
new G4Box(
name +
"_container_solid",
50 containerLogicalVolume =
new G4LogicalVolume(containerSolid,
52 name +
"_container_lv");
55 containerLogicalVolume->SetSensitiveDetector(BDSSDManager::Instance()->Terminator());
62 std::numeric_limits<double>::max(),
63 std::numeric_limits<double>::max(),
66 containerLogicalVolume->SetUserLimits(termUL);
Abstract class that represents a component of an accelerator.
const G4String name
Const protected member variable that may not be changed by derived classes.
static G4Material * emptyMaterial
Useful variable often used in construction.
G4double chordLength
Protected member variable that can be modified by derived classes.
static G4VisAttributes * containerVisAttr
Useful variable often used in construction.
Holder for +- extents in 3 dimensions.
void RegisterUserLimits(G4UserLimits *userLimit)
void SetExtent(const BDSExtent &extIn)
Set extent.
Rectangular sampler with fixed thickness but variable x,y.
Dynamic user limits for a volume that changed based on the parameter turnstaken in BDSGlobalConstants...
virtual void BuildContainerLogicalVolume()
G4double horizontalWidth
The terminator's full horizontal width.