60 G4cout <<
"Parallel World `" << fWorldName <<
"' constructed." << G4endl;
68 G4LogicalVolume* logicalParallelWorld = physicalParallelWorld->GetLogicalVolume();
91 G4LogicalVolumeStore::GetInstance()->GetVolume(
"shield.logical");
95 G4Box* shieldSolid = (
G4Box*) shieldLogical->GetSolid();
101 "motherForSlices.logical");
109 const G4int nSlices(20);
111 G4double halfSliceZ = shieldSolid->GetZHalfLength() / nSlices;
113 shieldSolid->GetXHalfLength(),
114 shieldSolid->GetYHalfLength(),
125 motherForSlicesLogical,
139 shieldPhysical = G4PhysicalVolumeStore::GetInstance()->GetVolume(
"shield.physical");
143 G4ThreeVector translation = shieldPhysical->GetObjectTranslation();
148 motherForSlicesLogical,
149 "motherForSlices.physical",
150 logicalParallelWorld,
164 biasingOperator->SetParallelWorld( GetWorld() );
167 auto slice = G4LogicalVolumeStore::GetInstance()->GetVolume(
"slice.logical");
168 biasingOperator->AttachTo(slice);
176 (
G4PVReplica*)(G4PhysicalVolumeStore::GetInstance()->GetVolume(
"slice.physical"));
177 G4int nReplica = slicePhysical->GetMultiplicity();
179 G4int importance = 1;
180 for ( G4int iReplica = 0 ; iReplica < nReplica ; iReplica++ )
182 (biasingOperator->GetImportanceMap())[ iReplica ] = importance;