#include <BDSGeometryComponent.hh>
Inheritance diagram for BDSGeometryComponent:


Public Member Functions | |
| BDSGeometryComponent (G4VSolid *containerSolidIn, G4LogicalVolume *containerLVIn) | |
| BDSGeometryComponent (G4VSolid *containerSolidIn, G4LogicalVolume *containerLVIn, std::pair< G4double, G4double > extentXIn, std::pair< G4double, G4double > extentYIn, std::pair< G4double, G4double > extentZIn, G4ThreeVector placementOffset=G4ThreeVector(0, 0, 0)) | |
| ~BDSGeometryComponent () | |
| G4String | GetName () const |
| Get the name from the container logical volume. | |
| G4VSolid * | GetContainerSolid () const |
| Get the solid of the container for possible subtraction. | |
| G4LogicalVolume * | GetContainerLogicalVolume () const |
| Get the logical volume of the container for placement. | |
| G4ThreeVector | GetPlacementOffset () const |
| Get the offset from 0,0,0 that the object should ideally be placed in its parent. | |
| void | SetPlacementOffset (G4ThreeVector &offsetIn) |
| Set the offset from 0,0,0 that the object should ideally be placed in its parent. | |
| std::pair< G4double, G4double > | GetExtentX () const |
| get -ve/+ve extent in local x | |
| std::pair< G4double, G4double > | GetExtentY () const |
| get -ve/+ve extent in local y | |
| std::pair< G4double, G4double > | GetExtentZ () const |
| get -ve/+ve extent in local z | |
| G4ThreeVector | GetExtentPositive () const |
| Get the extent of the object in the positive direction in all dimensions. | |
| G4ThreeVector | GetExtentNegative () const |
| Get the extent of the object in the negative direction in all dimensions. | |
| void | SetExtentX (G4double lowerX, G4double upperX) |
| set the extent in local x | |
| void | SetExtentY (G4double lowerY, G4double upperY) |
| set the extent in local y | |
| void | SetExtentZ (G4double lowerZ, G4double upperZ) |
| set the extent in local z | |
| void | SetExtentX (std::pair< G4double, G4double > extentXIn) |
| set the extent in local x | |
| void | SetExtentY (std::pair< G4double, G4double > extentYIn) |
| set the extent in local y | |
| void | SetExtentZ (std::pair< G4double, G4double > extentZIn) |
| set the extent in local z | |
| void | RegisterLogicalVolume (G4LogicalVolume *logicalVolume) |
| void | RegisterLogicalVolumes (std::vector< G4LogicalVolume * > logicalVolumes) |
| Apply RegisterLogicalVolume(G4LogicalVolume* logicalVolume) to a vector of logical volumes. | |
| void | RegisterSensitiveVolume (G4LogicalVolume *sensitiveVolume) |
| void | RegisterSensitiveVolumes (std::vector< G4LogicalVolume * > sensitiveVolumes) |
| Apply RegisterSensitiveVolume(G4LogicalVolume* sensitiveVolume) to a vector of logical volumes. | |
| std::vector< G4LogicalVolume * > | GetAllLogicalVolumes () const |
| Access all logical volumes belonging to this component. | |
| std::vector< G4LogicalVolume * > | GetAllSensitiveVolumes () const |
| Access all sensitive volumes belonging to this component. | |
Protected Member Functions | |
| BDSGeometryComponent (BDSGeometryComponent &component) | |
| Copy constructor. | |
Protected Attributes | |
| G4VSolid * | containerSolid |
| G4LogicalVolume * | containerLogicalVolume |
| std::pair< G4double, G4double > | extentX |
| std::pair< G4double, G4double > | extentY |
| std::pair< G4double, G4double > | extentZ |
| std::vector< G4LogicalVolume * > | allLogicalVolumes |
| std::vector< G4LogicalVolume * > | allSensitiveVolumes |
| registry of all volumes that should be made sensitive | |
| G4ThreeVector | placementOffset |
This class contains the minimum information required for any geometrical object for a bdsim geant4 model
Definition at line 19 of file BDSGeometryComponent.hh.
| void BDSGeometryComponent::RegisterLogicalVolume | ( | G4LogicalVolume * | logicalVolume | ) |
Register a logical volume as belonging to this geometry component, which then becomes responsible for it
Definition at line 51 of file BDSGeometryComponent.cc.
References allLogicalVolumes, and containerSolid.
Referenced by BDSCollimatorBase::Build(), BDSBeamPipeFactoryBase::BuildBeamPipeAndRegisterVolumes(), BDSMagnetOuterFactoryPolesSquare::CommonConstructor(), BDSMagnetOuterFactoryPolesBase::CommonConstructor(), BDSBeamPipeFactoryLHCDetailed::CommonFinalConstruction(), BDSBeamPipeFactoryElliptical::CommonFinalConstruction(), BDSMagnetOuterFactoryLHC::CommonFinalConstructor(), BDSMagnetOuterFactoryCylindrical::CommonFinalConstructor(), BDSMagnetOuterFactoryPolesBase::KickerConstructor(), and RegisterLogicalVolumes().
Here is the caller graph for this function:

| void BDSGeometryComponent::RegisterSensitiveVolume | ( | G4LogicalVolume * | sensitiveVolume | ) |
Mark a volume as one that should be made sensitive using the read out geometry. Note, if a volume is already sensitive with a specialised sensitive detector, it should NOT be registered using this method.
Definition at line 88 of file BDSGeometryComponent.cc.
References allSensitiveVolumes, and containerSolid.
Referenced by BDSCollimatorBase::Build(), BDSBeamPipeFactoryBase::BuildBeamPipeAndRegisterVolumes(), BDSSpoiler::BuildInnerSpoiler(), BDSScintillatorScreen::BuildScintillatorScreen(), BDSMagnetOuterFactoryPolesSquare::CommonConstructor(), BDSMagnetOuterFactoryPolesBase::CommonConstructor(), BDSBeamPipeFactoryLHCDetailed::CommonFinalConstruction(), BDSBeamPipeFactoryElliptical::CommonFinalConstruction(), BDSMagnetOuterFactoryCylindrical::CommonFinalConstructor(), BDSMagnetOuterFactoryPolesBase::KickerConstructor(), BDSElement::PlaceComponents(), and RegisterSensitiveVolumes().
Here is the caller graph for this function:

1.4.7