57 std::map<G4String, G4Colour*>* colourMapping =
nullptr,
58 G4bool autoColour =
true,
59 G4double suggestedLength = 0,
60 G4double suggestedHorizontalWidth = 0,
61 std::vector<G4String>* vacuumBiasVolumeNames =
nullptr,
62 G4bool makeSensitive =
true,
63 BDSSDType sensitivityType = BDSSDType::energydep,
64 BDSSDType vacuumSensitivityType = BDSSDType::energydepvacuum,
65 G4UserLimits* userLimitsToAttachToAllLVs =
nullptr) = 0;
73 virtual std::set<G4VisAttributes*>
ApplyColourMapping(
const std::set<G4LogicalVolume*>& lvs,
74 const std::map<G4String, G4Colour*>& mapping,
76 const G4String& preprocessPrefix =
"");
80 G4UserLimits* userLimits);
84 const std::set<G4LogicalVolume*>& allLogicalVolumesIn,
86 const std::set<G4LogicalVolume*>& vacuumLogicalVolumes,
96 const G4String& acceleratorComponentName)
const;
99 std::set<G4LogicalVolume*>
GetVolumes(
const std::set<G4LogicalVolume*>& allLVs,
100 std::vector<G4String>* volumeNames,
101 G4bool preprocessGDML,
102 const G4String& componentName)
const;
115 G4double y0, G4double ry,
116 G4double z0, G4double rz);
119 void ExpandExtent(G4double x0, G4double xLow, G4double xHigh,
120 G4double y0, G4double yLow, G4double yHigh,
121 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.