84 hadrontherapydetectorconstruction(0), physicTreatmentRoom(0),
85 PFirstTriplet(0),PSecondTriplet(0),PThirdTriplet(0),PFourthTriplet(0), physicFirstQuad(0),physicSecondQuad(0),physicThirdQuad(0),physicFourthQuad(0),
86 solidExternalChamber(0),logicExternalChamber(0),physicExternalChamber(0),
87 solidInternalChamber(0),logicInternalChamber(0),physicInternalChamber(0),
88 solidCollimator(0),logicCollimator(0),physicCollimator(0),
89 solidCollimatorHole(0),logicCollimatorHole(0),physicCollimatorHole(0),
90 solidFinalCollimator(0), logicFinalCollimator(0),physicFinalCollimator(0),
91 solidFinalCollimatorHole(0),logicFinalCollimatorHole(0),physicFinalCollimatorHole(0),
92 solidExternalMagnet_1(0),logicExternalMagnet_1(0),physicExternalMagnet_1(0), physicExternalMagnet_1Down(0),
93 solidMagnet_1(0),logicMagnet_1(0),physicMagnet_1Right(0),physicMagnet_1Left(0), solidExternalMagnet_2(0),logicExternalMagnet_2(0),
94 physicExternalMagnet_2(0),physicExternalMagnet_2Down(0),solidMagnet_2(0),logicMagnet_2(0),physicMagnet_2Right(0),physicMagnet_2Left(0), solidExternalMagnet_3(0),logicExternalMagnet_3(0),physicExternalMagnet_3(0),physicExternalMagnet_3Down(0),
95 solidMagnet_3(0),logicMagnet_3(0),physicMagnet_3Right(0),physicMagnet_3Left(0),
96 solidExternalMagnet_4(0),logicExternalMagnet_4(0),physicExternalMagnet_4(0),physicExternalMagnet_4Down(0),
97 solidMagnet_4(0),logicMagnet_4(0),physicMagnet_4Right(0),physicMagnet_4Left(0),
98 solidExternalSlit(0), logicExternalSlit(0), physicExternalSlit(0),
99 solidInternalSlit(0),logicInternalSlit(0),physicInternalSlit(0),
100 physicExitPipe(0),physicExitWindow(0),physicExithole(0),physicEntrancePipe(0),physicEntrancehole(0)
106 static G4String ROGeometryName =
"DetectorROGeometry";
109 G4cout <<
"Going to register Parallel world...";
152 white -> SetVisibility(
true);
153 white -> SetForceSolid(
true);
154 white -> SetForceWireframe(
true);
157 blue -> SetVisibility(
true);
161 gray-> SetVisibility(
true);
162 gray-> SetForceSolid(
true);
165 red-> SetVisibility(
true);
166 red-> SetForceSolid(
true);
170 yellow-> SetVisibility(
true);
171 yellow-> SetForceSolid(
true);
174 green -> SetVisibility(
true);
175 green -> SetForceWireframe(
true);
176 green -> SetForceSolid(
true);
179 black -> SetVisibility(
true);
180 black -> SetForceSolid(
true);
191 skyBlue -> SetVisibility(
true);
192 skyBlue -> SetForceSolid(
true);
199 G4double defaultExternalRadiusExitWindow=55*
mm;
208 G4double defaultExitWindowYPosition=0.;
217 G4double defaultSpanningAngleExitWindow = 360.*
deg;
226 G4double defaultExternalRadiusExitPipe=55 *
mm;
232 G4double defaultExitPipeYPosition=0;
244 G4double defaultExternalChamberXSize = 79.6*
cm;
247 G4double defaultExternalChamberYSize = 50. *
cm;
250 G4double defaultExternalChamberZSize = 50. *
cm;
256 G4double defaultExternalChamberYPosition = 0.0 *
mm;
259 G4double defaultExternalChamberZPosition = 0.0 *
mm;
266 G4double defaultVaccumChamberWallThickness=5 *
mm;
281 G4double defaultExternalRadiusExithole=50.*
mm;
290 G4double defaultExitholeYPosition=0.;
303 G4double defaultExitholeToFinalCollimator=70 *
mm;
340 G4double defaultExternalMagnet_XSize = 88.0*
mm;
341 G4double defaultExternalMagnet_YSizeTotal=87.*
mm;
342 G4double defaultInternalMagnet_YSize = 10. *
mm;
343 G4double defaultExternalMagnet_YSize =(defaultExternalMagnet_YSizeTotal-defaultInternalMagnet_YSize)/2.;
344 G4double defaultExternalMagnet_ZSize = 104 *
mm;
346 G4double defaultExternalMagnet_YPosition =defaultInternalMagnet_YSize/2.+defaultExternalMagnet_YSize/2.;
347 G4double defaultExternalMagnet_ZPosition = 0.0 *
mm;
349 G4double defaultMagnet_XSize=defaultExternalMagnet_XSize;
350 G4double defaultMagnet_YSize=defaultExternalMagnet_YSizeTotal;
354 G4double defaultFinalCollimatorToMagnet4=25.*
mm;
455 G4double defaultExternalSlitYPosition = 0.0 *
mm;
458 G4double defaultExternalSlitZPosition = 0.0 *
mm;
470 G4double defaultInternalSlitXPosition = 0.0 *
mm;
473 G4double defaultInternalSlitYPosition = 0.0 *
mm;
476 G4double defaultInternalSlitZPosition = 40.0 *
mm;
496 G4double defultMagnet1ToFirstCollimator=25.*
mm;
515 G4double defaultInnerRadiusEntrancehole=0. *
mm;
518 G4double defaultExternalRadiusEntrancehole=50.*
mm;
530 G4double defaultEntranceholeYPosition=0.;
539 G4double defaultSpanningAngleEntrancehole= 360.*
deg;
547 G4double defaultInnerRadiusEntrancePipe=50. *
mm;
550 G4double defaultExternalRadiusEntrancePipe=55 *
mm;
556 G4double defaultEntrancePipeYPosition=0;
565 G4double defaultSpanningAngleEntrancePipe= 360.*
deg;
651 brass -> AddElement(zincNist, fractionmass = 30 *
perCent);
652 brass -> AddElement(copperNist, fractionmass = 70 *
perCent);
716 "logicTreatmentRoom",
723 "physicalTreatmentRoom",
882 const G4int nvarElectric=8;
889 pEFieldmanager -> SetDetectorField(ElectricField);
890 pEFieldmanager -> SetChordFinder(fLocalChordFinder);
901 G4cout<<
" //....oooOO0OOooo.......... FIELDS HAVE BEEN IMPLEMENTED..........oooOO0OOooo...."<<
G4endl;
924 G4double VirtualLateralLength=FaradayCupBottomThickness+CupThickness+VirtualBottomThickness;
931 G4double KaptonEntranceWindowPosX=-virtualMagPosX+KaptonEntranceWindowThickness/2+FC_XOffset;
932 G4double MassRingPosX=KaptonEntranceWindowPosX+KaptonEntranceWindowThickness/2+MassRingThickness/2;
933 G4double VirtualWindowPosX=MassRingPosX+MassRingThickness/2+VirtualWindowThickness/2;
934 G4double GuardRingPosX=MassRingPosX+MassRingThickness/2+GuardRingThickness/2+2*
mm;
935 G4double VirtualMiddlePosX=GuardRingPosX+GuardRingThickness/2+VirtualMiddleThickness/2;
936 G4double FaradayCupBottomPosX=GuardRingPosX+GuardRingThickness/2+FaradayCupBottomThickness/2+1*
cm;
937 G4double VirtualBottomPosX=FaradayCupBottomPosX+FaradayCupBottomThickness/2+VirtualBottomThickness/2;
938 G4double CupPosX=VirtualBottomPosX+VirtualBottomThickness/2+CupThickness/2;
939 G4double VirtualOverBottomPosX=CupPosX+CupThickness/2+VirtualOverBottomThickness/2;
940 G4double VirtualLateralPosX=GuardRingPosX+GuardRingThickness/2+1*
cm+(FaradayCupBottomThickness+CupThickness+VirtualBottomThickness)/2;
981 "physicBeveledCylinder",
994 KaptonEntranceWindowThickness/2,
1000 "LKaptonEntranceWindow",
1004 "PhysicEntranceWindow",
1014 MassRingThickness/2,
1039 VirtualWindowThickness/2,
1044 "logicVirtualWindow",
1049 "PhysicVirtualWindow",
1060 GuardRingThickness/2,
1083 VirtualMiddleThickness/2,
1088 "logicVirtualMiddle",
1105 FaradayCupBottomThickness/2,
1110 "logicFaradayCupBottom",
1125 VirtualBottomThickness/2,
1130 "logicVirtualBottom",
1134 "PhysicVirtualBottom",
1168 VirtualOverBottomThickness/2,
1173 "logicVirtualOverBottom",
1190 VirtualLateralLength/2,
1195 "logicVirtualLateral",
1349 "LInternalChamber");
1510 "LogicExternalMagnet_1");
1516 "PhysicExternalMagnet_1",
1525 "PhysicExternalMagnet_1Down",
1547 "PhysicMagnet_1Right",
1555 "PhysicMagnet_1Left",
1576 "LogicExternalMagnet_2");
1582 "PhysicExternalMagnet_2",
1592 "PhysicExternalMagnet_2Down",
1614 "PhysicMagnet_2Right",
1622 "PhysicMagnet_2Left",
1642 "LogicExternalMagnet_3");
1648 "PhysicExternalMagnet_3",
1658 "PhysicExternalMagnet_3Down",
1679 "PhysicMagnet_3Right",
1687 "PhysicMagnet_3Left",
1708 "LogicExternalMagnet_4");
1714 "PhysicExternalMagnet_4",
1724 "PhysicExternalMagnet_4Down",
1745 "PhysicMagnet_4Right",
1753 "PhysicMagnet_4Left",
1845 "FinalCollimatorHole",
1854 "FinalCollimatorHole",
1997 G4cout <<
"****************************************************" <<
G4endl;
1998 G4cout <<
"************ The ESS has been disabled *************" <<
G4endl;
1999 G4cout <<
"****************************************************" <<
G4endl;
2014 G4cout <<
"The first collimator aperture has been modified to "<< valueR/
mm <<
"mm in diameter" <<
G4endl;
2027 G4cout <<
"The first collimator thickness has been modified to "<< valueC/
mm <<
" mm in thickness" <<
G4endl;
2038 G4cout <<
"The first collimator has been translated to "<< valueQ/
mm <<
"mm (along the z axis)" <<
G4endl;
2050 G4cout <<
"The second collimator aperture has been modified to "<< value/
mm <<
"mm in diameter" <<
G4endl;
2064 G4cout <<
"The second collimator thickness has been modified to "<< value/
mm <<
" mm in thickness" <<
G4endl;
2075 G4cout <<
"The second collimator has been translated to "<< value/
mm <<
"mm (along the z axis)" <<
G4endl;
2082 if (value >(10.0*
mm)) {
2083 G4cout <<
"***************************************"<<
G4endl;
2084 G4cout <<
"******This is a warning messenger******"<<
G4endl;
2085 G4cout <<
"***************************************"<<
G4endl;
2086 G4cout <<
"The maximum value of the thickness of the slit is 10 mm, your value is >10 mm." <<
G4endl;
2089 G4cout <<
"***************************************"<<
G4endl;
2114 G4cout <<
"The hole of the Slit has been changed in the Y direction to "<< value/
mm <<
" mm" <<
G4endl;
2127 G4cout <<
"The hole of the Slit has been changed in the Z direction to "<< value/
mm <<
" mm" <<
G4endl;
2138 G4cout <<
"The hole of the slit has been translated to "<< value/
mm <<
" mm (along the Z axis)" <<
G4endl;
2160 G4cout <<
"******************************************************************" <<
G4endl;
2161 G4cout <<
"************ The Quadrupoles system has been disabled *************" <<
G4endl;
2162 G4cout <<
"******************************************************************" <<
G4endl;