18#include "BDSGeometryComponent.hh"
19#include "BDSSimpleComponent.hh"
27 const G4ThreeVector& inputFaceNormalIn,
28 const G4ThreeVector& outputFaceNormalIn,
31 inputFaceNormalIn, outputFaceNormalIn)
44 G4VSolid* containerSolidIn,
45 G4LogicalVolume* containerLogicalVolumeIn,
47 const G4ThreeVector& inputFaceNormalIn,
48 const G4ThreeVector& outputFaceNormalIn,
51 inputFaceNormalIn, outputFaceNormalIn)
54 containerSolid = containerSolidIn;
55 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.