19#include "BDSAcceleratorModel.hh"
20#include "BDSDetectorConstruction.hh"
21#include "BDSException.hh"
22#include "BDSGlobalConstants.hh"
23#include "BDSNavigatorPlacements.hh"
24#include "BDSParallelWorldPlacementFields.hh"
26#include "G4LogicalVolume.hh"
27#include "G4PVPlacement.hh"
30#include "G4VisAttributes.hh"
31#include "G4VPhysicalVolume.hh"
36BDSParallelWorldPlacementFields::BDSParallelWorldPlacementFields(
const G4String& name):
37 G4VUserParallelWorld(
"PlacementFieldsWorld_" + name),
41BDSParallelWorldPlacementFields::~BDSParallelWorldPlacementFields()
54 G4VPhysicalVolume* pfWorld = GetWorld();
55 G4LogicalVolume* pfWorldLV = pfWorld->GetLogicalVolume();
60 pfWorldVis =
new G4VisAttributes(*(globals->VisibleDebugVisAttr()));
61 pfWorldVis->SetForceWireframe(
true);
62 pfWorldLV->SetVisAttributes(pfWorldVis);
64 G4bool checkOverlaps = globals->CheckOverlaps();
66 for (
const auto& placement : placementsToMake)
69 G4PVPlacement* pl =
new G4PVPlacement(placement.transform,
const std::vector< BDSPlacementToMake > & PlacementFieldPWPlacements() const
Access field volumes for parallel world.
A class that holds global options and constants.
static BDSGlobalConstants * Instance()
Access method.
static void AttachWorldVolumeToNavigator(G4VPhysicalVolume *worldPVIn)
Setup the navigator w.r.t. to a world volume - typically real world.
std::vector< G4VPhysicalVolume * > placements
Cache of the placements to clean up at the end.