74 G4cout <<
" constructing parallel world " << G4endl;
81 G4cout <<
" B03ImportanceDetectorConstruction:: ghostWorldName = "
92 G4double innerRadiusShield = 0*cm;
93 G4double outerRadiusShield = 100*cm;
94 G4double heightShield = 5*cm;
95 G4double startAngleShield = 0*deg;
96 G4double spanningAngleShield = 360*deg;
103 spanningAngleShield);
114 G4double startz = -85*cm;
116 for (i=1; i<=18; i++) {
120 G4double pos_x = 0*cm;
121 G4double pos_y = 0*cm;
122 G4double pos_z = startz + (i-1) * (2*heightShield);
125 G4ThreeVector(pos_x, pos_y, pos_z),
140 innerRadiusShield = 0*cm;
142 outerRadiusShield = 100*cm;
145 startAngleShield = 0*deg;
146 spanningAngleShield = 360*deg;
153 spanningAngleShield);
162 G4double pos_x = 0*cm;
163 G4double pos_y = 0*cm;
165 G4double pos_z = 95*cm;
168 G4ThreeVector(pos_x, pos_y, pos_z),
267 G4String concreteSDname =
"ConcreteSD";
276 SDman->AddNewDetector( MFDet );
282 MFDet->SetFilter(neutronFilter);
284 for (std::vector<G4LogicalVolume *>::iterator it =
288 SetSensitiveDetector((*it)->GetName(), MFDet);
293 MFDet->RegisterPrimitive(scorer0);
296 scorer1->Weighted(
true);
297 MFDet->RegisterPrimitive(scorer1);
300 MFDet->RegisterPrimitive(scorer2);
304 MFDet->RegisterPrimitive(scorer3);
307 MFDet->RegisterPrimitive(scorer4);
310 scorer5->Weighted(
true);
311 MFDet->RegisterPrimitive(scorer5);
314 scorer6->Weighted(
true);
315 scorer6->MultiplyKineticEnergy(
true);
316 MFDet->RegisterPrimitive(scorer6);
319 scorer7->Weighted(
true);
320 scorer7->DivideByVelocity(
true);
321 MFDet->RegisterPrimitive(scorer7);
324 scorer8->Weighted(
true);
325 scorer8->MultiplyKineticEnergy(
true);
326 scorer8->DivideByVelocity(
true);
327 MFDet->RegisterPrimitive(scorer8);