88 G4double density, pressure, temperature;
94 G4double fractionmass;
126 density = universe_mean_density;
127 pressure = 3.e-18*pascal;
128 temperature = 2.73*kelvin;
130 new G4Material(name=
"Galactic", z=1., A=1.01*g/mole, density,
131 kStateGas,temperature,pressure);
133 density = 2.03*g/cm3;
135 Concrete->AddElement(elH , fractionmass= 0.01);
136 Concrete->AddElement(elO , fractionmass= 0.529);
137 Concrete->AddElement(elNa , fractionmass= 0.016);
138 Concrete->AddElement(elHg , fractionmass= 0.002);
139 Concrete->AddElement(elAl , fractionmass= 0.034);
140 Concrete->AddElement(elSi , fractionmass= 0.337);
141 Concrete->AddElement(elK , fractionmass= 0.013);
142 Concrete->AddElement(elCa , fractionmass= 0.044);
143 Concrete->AddElement(elFe , fractionmass= 0.014);
144 Concrete->AddElement(elC , fractionmass= 0.001);
152 G4double innerRadiusCylinder = 0*cm;
153 G4double outerRadiusCylinder = 100*cm;
154 G4double heightCylinder = 100*cm;
155 G4double startAngleCylinder = 0*deg;
156 G4double spanningAngleCylinder = 360*deg;
163 spanningAngleCylinder);
171 name =
"shieldWorld";
180 G4double innerRadiusShield = 0*cm;
181 G4double outerRadiusShield = 100*cm;
182 G4double heightShield = 5*cm;
183 G4double startAngleShield = 0*deg;
184 G4double spanningAngleShield = 360*deg;
191 spanningAngleShield);
200 pShieldVis->SetForceSolid(
true);
201 aShield_log->SetVisAttributes(pShieldVis);
206 G4double startz = -85*cm;
207 for (i=1; i<=18; i++)
212 pos_z = startz + (i-1) * (2*heightShield);
215 G4ThreeVector(pos_x, pos_y, pos_z),
228 innerRadiusShield = 0*cm;
229 outerRadiusShield = 100*cm;
231 startAngleShield = 0*deg;
232 spanningAngleShield = 360*deg;
239 spanningAngleShield);
251 G4ThreeVector(pos_x, pos_y, pos_z),
313 G4Exception(
"B01DetectorConstruction::CreateWeightWindowStore"
314 ,
"exampleB01_0002",RunMustBeAborted
315 ,
"no physical volumes created yet!");
326 std::set<G4double, std::less<G4double> > enBounds;
327 enBounds.insert(1 * GeV);
328 wwstore->SetGeneralUpperEnergyBounds(enBounds);
331 G4double lowerWeight =1;
332 std::vector<G4double> lowerWeights;
334 lowerWeights.push_back(1);
336 wwstore->AddLowerWeights(gWorldCell, lowerWeights);
338 for (std::vector<G4VPhysicalVolume *>::iterator
344 lowerWeight = 1./std::pow(2., n++);
345 G4cout <<
"Going to assign lower weight: " << lowerWeight
347 << (*it)->GetName() << G4endl;
349 lowerWeights.clear();
350 lowerWeights.push_back(lowerWeight);
351 wwstore->AddLowerWeights(gCell, lowerWeights);
360 wwstore->AddLowerWeights(gRestCell, lowerWeights);
413 G4String concreteSDname =
"ConcreteSD";
422 SDman->AddNewDetector( MFDet );
428 MFDet->SetFilter(neutronFilter);
430 for (std::vector<G4LogicalVolume *>::iterator it =
434 SetSensitiveDetector((*it)->GetName(), MFDet);
439 MFDet->RegisterPrimitive(scorer0);
442 scorer1->Weighted(
true);
443 MFDet->RegisterPrimitive(scorer1);
446 MFDet->RegisterPrimitive(scorer2);
450 MFDet->RegisterPrimitive(scorer3);
453 MFDet->RegisterPrimitive(scorer4);
456 scorer5->Weighted(
true);
457 MFDet->RegisterPrimitive(scorer5);
460 scorer6->Weighted(
true);
461 scorer6->MultiplyKineticEnergy(
true);
462 MFDet->RegisterPrimitive(scorer6);
465 scorer7->Weighted(
true);
466 scorer7->DivideByVelocity(
true);
467 MFDet->RegisterPrimitive(scorer7);
470 scorer8->Weighted(
true);
471 scorer8->MultiplyKineticEnergy(
true);
472 scorer8->DivideByVelocity(
true);
473 MFDet->RegisterPrimitive(scorer8);