19#include "BDSGeometryComponent.hh"
20#include "BDSSimpleComponent.hh"
28 const G4ThreeVector& inputFaceNormalIn,
29 const G4ThreeVector& outputFaceNormalIn,
32 inputFaceNormalIn, outputFaceNormalIn)
45 G4VSolid* containerSolidIn,
46 G4LogicalVolume* containerLogicalVolumeIn,
48 const G4ThreeVector& inputFaceNormalIn,
49 const G4ThreeVector& outputFaceNormalIn,
52 inputFaceNormalIn, outputFaceNormalIn)
55 containerSolid = containerSolidIn;
56 containerLogicalVolume = containerLogicalVolumeIn;
Abstract class that represents a component of an accelerator.
Holder class for all information required to describe a beam pipe model.
Holder for +- extents in 3 dimensions.
A generic geometry component for a bdsim model.
G4LogicalVolume * GetContainerLogicalVolume() const
Accessor - see member for more info.
G4bool ContainerIsAssembly() const
Whether the container is an assembly. If not, it's a logical volume.
void InheritExtents(BDSGeometryComponent const *const anotherComponent)
Update the extents of this object with those of another object.
G4AssemblyVolume * GetContainerAssemblyVolume() const
Accessor - see member for more info.
void RegisterDaughter(BDSGeometryComponent *anotherComponent)
G4VSolid * GetContainerSolid() const
Accessor - see member for more info.
void SetExtent(const BDSExtent &extIn)
Set extent.
G4bool containerIsAssembly
True if the 'container' is really an assembly; false if an LV.
BDSSimpleComponent(const G4String &name, BDSGeometryComponent *componentIn, G4double arcLength, G4double angle=0, const G4ThreeVector &inputFaceNormal=G4ThreeVector(0, 0,-1), const G4ThreeVector &outputFaceNormal=G4ThreeVector(0, 0, 1), BDSBeamPipeInfo *beamPipeInfo=nullptr)
virtual void BuildContainerLogicalVolume()
Required implementation from base class.