58 std::map<G4String, G4Colour*>* colourMapping =
nullptr,
59 G4bool autoColour =
true,
60 G4double suggestedLength = 0,
61 G4double suggestedHorizontalWidth = 0,
62 std::vector<G4String>* vacuumBiasVolumeNames =
nullptr,
63 G4bool makeSensitive =
true,
64 BDSSDType sensitivityType = BDSSDType::energydep,
65 BDSSDType vacuumSensitivityType = BDSSDType::energydepvacuum,
66 G4UserLimits* userLimitsToAttachToAllLVs =
nullptr) = 0;
74 virtual std::set<G4VisAttributes*>
ApplyColourMapping(
const std::set<G4LogicalVolume*>& lvs,
75 const std::map<G4String, G4Colour*>& mapping,
77 const G4String& preprocessPrefix =
"");
81 G4UserLimits* userLimits);
85 const std::set<G4LogicalVolume*>& allLogicalVolumesIn,
87 const std::set<G4LogicalVolume*>& vacuumLogicalVolumes,
97 const G4String& acceleratorComponentName)
const;
100 std::set<G4LogicalVolume*>
GetVolumes(
const std::set<G4LogicalVolume*>& allLVs,
101 std::vector<G4String>* volumeNames,
102 G4bool preprocessGDML,
103 const G4String& componentName)
const;
116 G4double y0, G4double ry,
117 G4double z0, G4double rz);
120 void ExpandExtent(G4double x0, G4double xLow, G4double xHigh,
121 G4double y0, G4double yLow, G4double yHigh,
122 G4double z0, G4double zLow, G4double zHigh);
virtual void ApplySensitivity(BDSGeometryExternal *result, const std::set< G4LogicalVolume * > &allLogicalVolumesIn, BDSSDType generalSensitivity, const std::set< G4LogicalVolume * > &vacuumLogicalVolumes, BDSSDType vacuumSensitivity)
Attach the relevant general and vacuum sensitivity to each volume.
std::set< G4LogicalVolume * > GetVolumes(const std::set< G4LogicalVolume * > &allLVs, std::vector< G4String > *volumeNames, G4bool preprocessGDML, const G4String &componentName) const
Get the volumes that match the name. Volume names are matched exactly and are case sensitive.
virtual BDSGeometryExternal * Build(G4String componentName, G4String fileName, std::map< G4String, G4Colour * > *colourMapping=nullptr, G4bool autoColour=true, G4double suggestedLength=0, G4double suggestedHorizontalWidth=0, std::vector< G4String > *vacuumBiasVolumeNames=nullptr, G4bool makeSensitive=true, BDSSDType sensitivityType=BDSSDType::energydep, BDSSDType vacuumSensitivityType=BDSSDType::energydepvacuum, G4UserLimits *userLimitsToAttachToAllLVs=nullptr)=0
Main method to load and construct geometry.