68 fPosWindow0 = 0.000000*
cm;
69 fPosWindow1 = 0.004120*
cm;
72 fPosPrimFoil = 2.650000*
cm;
75 fPosMon0 = 5.000000*
cm;
76 fPosMon1 = 5.011270*
cm;
79 fPosBag0 = 6.497500*
cm;
80 fPosHelium0 = 6.500000*
cm;
81 fPosHelium1 = 116.500000*
cm;
82 fPosBag1 = 116.502500*
cm;
83 fThicknessRing = 1.4*
cm;
86 fPosScorer = 118.200000*
cm;
87 fThicknessScorer= 0.001*
cm;
88 fWidthScorerRing= 0.1*
cm;
91 fRadOverall = 23.3*
cm;
92 fRadRingInner = 20.0*
cm;
107 delete fWindowVisAtt;
108 delete fPrimFoilVisAtt;
111 delete fHeliumVisAtt;
113 delete fScorerVisAtt;
206 G4double halfLengthWorld = fPosScorer/2. + fPosDelta;
207 G4double radWorld = fRadOverall + fRadDelta;
222 G4double halfLengthWorld = fPosScorer/2.;
223 G4double halfThicknessWindow = fPosWindow1/2.;
224 G4VSolid* windowSolid =
new G4Tubs(
"windowSolid", 0.*
cm, fRadOverall, halfThicknessWindow, 0.*
deg, 360.*
deg);
232 windowLog,
"ExitWindow",worldLog,
false,0);
237 G4double halfLengthWorld = fPosScorer/2.;
240 if (fHalfThicknessPrimFoil==0.)
return;
243 0.*
cm, fRadOverall, fHalfThicknessPrimFoil, 0.*
deg, 360.*
deg);
250 G4ThreeVector(0.,0.,fPosPrimFoil + fHalfThicknessPrimFoil - halfLengthWorld),
251 primFoilLog,
"ScatteringFoil",worldLog,
false,0);
256 G4double halfLengthWorld = fPosScorer/2.;
257 G4double halfThicknessMon = (fPosMon1 - fPosMon0) /2.;
265 G4ThreeVector(0.,0., fPosMon0 + halfThicknessMon - halfLengthWorld),
266 monLog,
"MonitorChamber",worldLog,
false,0);
271 G4double halfLengthWorld = fPosScorer/2.;
273 G4double halfThicknessBag = (fPosBag1 - fPosBag0) /2.;
281 G4ThreeVector(0.,0., fPosBag0 + halfThicknessBag - halfLengthWorld),
282 bagLog,
"HeliumBag",worldLog,
false,0);
285 G4double halfThicknessHelium = (fPosHelium1 - fPosHelium0) /2.;
286 G4VSolid* heliumSolid =
new G4Tubs(
"heliumSolid", 0.*
cm, fRadOverall, halfThicknessHelium, 0.*
deg, 360.*
deg);
295 G4double halfThicknessRing = fThicknessRing /2.;
296 G4VSolid* ringSolid =
new G4Tubs(
"ringSolid", fRadRingInner, fRadOverall, halfThicknessRing, 0.*
deg, 360.*
deg);
305 G4ThreeVector(0.,0., -halfThicknessHelium + halfThicknessRing),
306 ring0Log,
"Ring0",heliumLog,
false,0);
309 G4ThreeVector(0.,0., halfThicknessHelium - halfThicknessRing),
310 ring1Log,
"Ring1",heliumLog,
false,0);
315 G4double halfLengthWorld = fPosScorer/2.;
316 G4double halfThicknessScorer = fThicknessScorer /2.;
318 G4VSolid* scorerSolid =
new G4Tubs(
"scorerSolid", 0.*
cm, fRadOverall, halfThicknessScorer, 0.*
deg, 360.*
deg);
325 scorerLog,
"Scorer",worldLog,
false,0);
327 G4VSolid* scorerRingSolid =
new G4Tubs(
"scorerRingSolid", 0.*
cm, fRadOverall, halfThicknessScorer, 0.*
deg, 360.*
deg);
329 new G4PVReplica(
"ScorerRing",fScorerRingLog,scorerLog,
kRho,
G4int(fRadOverall/fWidthScorerRing),fWidthScorerRing);
385 fHalfThicknessPrimFoil = thicknessPrimFoil / 2.;