60 physicalTreatmentRoom(0),iortDetectorConstruction(0),
63 solidFinalCollimatorIORT(0),
64 physiFinalCollimatorIORT(0),
66 solidGiunz1FinalCollIORT(0),
67 physiGiunz1FinalCollIORT(0),
69 solidGiunz2FinalCollIORT(0),
70 physiGiunz2FinalCollIORT(0),
72 solidGiunz3FinalCollIORT(0),
73 physiGiunz3FinalCollIORT(0),
75 solidGiunz3FinalCollIntIORT(0),
76 physiGiunz3FinalCollIntIORT(0),
78 solidGiunz4FinalCollIORT(0),
79 physiGiunz4FinalCollIORT(0),
81 solidGiunz5FinalCollIORT(0),
82 physiGiunz5FinalCollIORT(0),
93 solidBlocco20mmIORT(0),
94 physiBlocco20mmIORT(0),
169 white -> SetVisibility(
true);
173 blue -> SetVisibility(
true);
177 gray-> SetVisibility(
true);
181 red-> SetVisibility(
true);
185 yellow-> SetVisibility(
true);
189 green -> SetVisibility(
true);
201 skyBlue -> SetVisibility(
true);
208 G4double defaultOuterRadiusFinalCollimatorIORT = 55. *
mm;
211 G4double defaultinnerRadiusFinalCollimatorIORT = 50. *
mm;
326 G4Box* treatmentRoom =
new G4Box(
"TreatmentRoom",worldX,worldY,worldZ);
329 "logicTreatmentRoom",
333 "physicalTreatmentRoom",
371 const G4double XPositionVSIORT = -1062.797 *
mm;
377 spanningAngleVSIORT);
384 logVSIORT -> SetVisAttributes(
green);
405 const G4double XPositionFTIORT = -1061.791 *
mm;
412 spanningAngleFTIORT);
420 logFTIORT -> SetVisAttributes(
yellow);
447 const G4double XPositionPFS3IORT = -1048.755 *
mm;
454 spanningAnglePFS3IORT);
462 logPFS3IORT -> SetVisAttributes(
white);
474 const G4double XPositionPFS2IORT = -1044.255 *
mm;
481 spanningAnglePFS2IORT);
489 logPFS2IORT -> SetVisAttributes(
green);
500 const G4double XPositionPFS1IORT = -1041.905 *
mm;
507 spanningAnglePFS1IORT);
515 logPFS1IORT -> SetVisAttributes(
green);
526 const G4double XPositionCCMIORT = -1037.0125 *
mm;
533 spanningAngleCCMIORT);
541 logCCMIORT -> SetVisAttributes(
green);
548 const G4double outRadiusCM2_2_2IORT = 20. *
mm;
552 const G4double spanningAngleCM2_2_2IORT = 360.*
deg;
553 const G4double XPositionCM2_2_2IORT = -1041. *
mm;
557 outRadiusCM2_2_2IORT,
559 startAngleCM2_2_2IORT,
560 spanningAngleCM2_2_2IORT);
568 logCM2_2_2IORT -> SetVisAttributes(
green);
575 const G4double outRadiusCM2_1_2IORT = 20. *
mm;
579 const G4double spanningAngleCM2_1_2IORT = 360.*
deg;
580 const G4double XPositionCM2_1_2IORT = -1039. *
mm;
584 outRadiusCM2_1_2IORT,
586 startAngleCM2_1_2IORT,
587 spanningAngleCM2_1_2IORT);
595 logCM2_1_2IORT -> SetVisAttributes(
yellow);
601 const G4double outRadiusCM1_2_2IORT = 20. *
mm;
605 const G4double spanningAngleCM1_2_2IORT = 360.*
deg;
606 const G4double XPositionCM1_2_2IORT = -1037. *
mm;
610 outRadiusCM1_2_2IORT,
612 startAngleCM1_2_2IORT,
613 spanningAngleCM1_2_2IORT);
622 logCM1_2_2IORT -> SetVisAttributes(
yellow);
628 const G4double outRadiusCM1_1_2IORT = 20. *
mm;
632 const G4double spanningAngleCM1_1_2IORT = 360.*
deg;
633 const G4double XPositionCM1_1_2IORT = -1035. *
mm;
638 outRadiusCM1_1_2IORT,
640 startAngleCM1_1_2IORT,
641 spanningAngleCM1_1_2IORT);
648 logCM1_1_2IORT -> SetVisAttributes(
yellow);
670 const G4double outRadiusBlocco20mmIORT = 36.5 *
mm;
671 const G4double innRadiusBlocco20mmIORT = 10. *
mm;
674 const G4double spanningAngleBlocco20mmIORT = 360.*
deg;
675 const G4double XPositionBlocco20mmIORT = -1030. *
mm;
679 outRadiusBlocco20mmIORT,
681 startAngleBlocco20mmIORT,
682 spanningAngleBlocco20mmIORT);
691 logBlocco20mmIORT -> SetVisAttributes(
green);
698 const G4double outRadiusBlocco3IORT = 36.5 *
mm;
699 const G4double innRadiusBlocco3IORT = 15. *
mm;
702 const G4double spanningAngleBlocco3IORT = 360.*
deg;
703 const G4double XPositionBlocco3IORT = -1023.5 *
mm;
707 outRadiusBlocco3IORT,
709 startAngleBlocco3IORT,
710 spanningAngleBlocco3IORT);
719 logBlocco3IORT -> SetVisAttributes(
yellow);
725 const G4double outRadiusBlocco2IORT = 41.5 *
mm;
726 const G4double innRadiusBlocco2IORT = 15. *
mm;
729 const G4double spanningAngleBlocco2IORT = 360.*
deg;
730 const G4double XPositionBlocco2IORT = -1012. *
mm;
734 outRadiusBlocco2IORT,
736 startAngleBlocco2IORT,
737 spanningAngleBlocco2IORT);
746 logBlocco2IORT -> SetVisAttributes(
red);
752 const G4double outRadiusBlocco1IORT = 52.0 *
mm;
753 const G4double innRadiusBlocco1IORT = 15. *
mm;
756 const G4double spanningAngleBlocco1IORT = 360.*
deg;
757 const G4double XPositionBlocco1IORT = -995.5*
mm;
761 outRadiusBlocco1IORT,
763 startAngleBlocco1IORT,
764 spanningAngleBlocco1IORT);
773 logBlocco1IORT -> SetVisAttributes(
white);
790 const G4double outRadiusGiunz5FinalCollIORT = 48.25 *
mm;
791 const G4double innRadiusGiunz5FinalCollIORT = 13.75 *
mm;
792 const G4double hightGiunz5FinalCollIORT = 3.5 *
mm;
793 const G4double startAngleGiunz5FinalCollIORT = 0.*
deg;
794 const G4double spanningAngleGiunz5FinalCollIORT = 360.*
deg;
795 const G4double Giunz5FinalCollXPositionIORT = -983.5 *
mm;
800 outRadiusGiunz5FinalCollIORT,
801 hightGiunz5FinalCollIORT,
802 startAngleGiunz5FinalCollIORT,
803 spanningAngleGiunz5FinalCollIORT);
811 logGiunz5FinalCollIORT -> SetVisAttributes(
yellow);
817 const G4double outRadiusGiunz4FinalCollIORT = 42. *
mm;
818 const G4double innRadiusGiunz4FinalCollIORT = 13.75 *
mm;
819 const G4double hightGiunz4FinalCollIORT = 8.5 *
mm;
820 const G4double startAngleGiunz4FinalCollIORT = 0.*
deg;
821 const G4double spanningAngleGiunz4FinalCollIORT = 360.*
deg;
822 const G4double Giunz4FinalCollXPositionIORT = -971.5 *
mm;
827 outRadiusGiunz4FinalCollIORT,
828 hightGiunz4FinalCollIORT,
829 startAngleGiunz4FinalCollIORT,
830 spanningAngleGiunz4FinalCollIORT);
838 logGiunz4FinalCollIORT -> SetVisAttributes(
blue);
846 const G4double outRadiusGiunz3FinalCollIORT = 42. *
mm;
847 const G4double innRadiusGiunz3FinalCollIORT = 0. *
mm;
848 const G4double hightGiunz3FinalCollIORT = 4.25 *
mm;
849 const G4double startAngleGiunz3FinalCollIORT = 0.*
deg;
850 const G4double spanningAngleGiunz3FinalCollIORT = 360.*
deg;
851 const G4double Giunz3FinalCollXPositionIORT = -958.75 *
mm;
855 outRadiusGiunz3FinalCollIORT,
856 hightGiunz3FinalCollIORT,
857 startAngleGiunz3FinalCollIORT,
858 spanningAngleGiunz3FinalCollIORT);
866 logicsolidGiunz3FinalCollIORT -> SetVisAttributes(
yellow);
884 logicsolidGiunz3FinalCollIntIORT -> SetVisAttributes(
yellow);
891 const G4double outRadiusGiunz2FinalCollIORT = 42. *
mm;
892 const G4double innRadiusGiunz2FinalCollIORT = 22.25 *
mm;
893 const G4double hightGiunz2FinalCollIORT = 5.75 *
mm;
894 const G4double startAngleGiunz2FinalCollIORT = 0.*
deg;
895 const G4double spanningAngleGiunz2FinalCollIORT = 360.*
deg;
896 const G4double Giunz2FinalCollXPositionIORT = -948.75 *
mm;
901 outRadiusGiunz2FinalCollIORT,
902 hightGiunz2FinalCollIORT,
903 startAngleGiunz2FinalCollIORT,
904 spanningAngleGiunz2FinalCollIORT);
912 logGiunz2FinalCollIORT -> SetVisAttributes(
red);
918 const G4double outRadiusGiunz1FinalCollIORT = 65. *
mm;
919 const G4double innRadiusGiunz1FinalCollIORT = 22.25 *
mm;
920 const G4double hightGiunz1FinalCollIORT = 10. *
mm;
921 const G4double startAngleGiunz1FinalCollIORT = 0.*
deg;
922 const G4double spanningAngleGiunz1FinalCollIORT = 360.*
deg;
923 const G4double Giunz1FinalCollXPositionIORT = -933.*
mm;
928 outRadiusGiunz1FinalCollIORT,
929 hightGiunz1FinalCollIORT,
930 startAngleGiunz1FinalCollIORT,
931 spanningAngleGiunz1FinalCollIORT);
939 logGiunz1FinalCollIORT -> SetVisAttributes(
gray);
951 const G4double hightFinalCollimatorIORT = 434. *
mm;
952 const G4double startAngleFinalCollimatorIORT = 0.*
deg;
953 const G4double spanningAngleFinalCollimatorIORT = 360.*
deg;
954 const G4double finalCollimatorXPositionIORT = -489.*
mm;
968 hightFinalCollimatorIORT,
969 startAngleFinalCollimatorIORT,
970 spanningAngleFinalCollimatorIORT);
979 logFinalCollimatorIORT -> SetVisAttributes(
darkGreen);
992 G4cout<<
"Inner Radius of the final collimator IORT is (mm):"
1003 G4cout<<
"Outer Radius of the final collimator IORT is (mm):"
G4VPhysicalVolume * physiBlocco1IORT
G4Tubs * solidBlocco2IORT
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
G4Material * Giunz5FinalCollMaterialIORT
G4Tubs * solidGiunz2FinalCollIORT
G4Tubs * solidCM2_1_2IORT
void SetInnerRadiusFinalCollimatorIORT(G4double)
G4Tubs * solidGiunz1FinalCollIORT
CLHEP::Hep3Vector G4ThreeVector
G4VPhysicalVolume * physiGiunz2FinalCollIORT
void IortBeamLineBlocks()
CLHEP::HepRotation G4RotationMatrix
G4Material * PFS3IORTMaterialIORT
G4Material * Giunz4FinalCollMaterialIORT
G4Material * CM2_2_2IORTMaterialIORT
G4VPhysicalVolume * physiPFS1IORT
G4VPhysicalVolume * physiGiunz5FinalCollIORT
G4Material * PFS2IORTMaterialIORT
G4VPhysicalVolume * physiGiunz3FinalCollIORT
G4VisAttributes * skyBlue
void SetOuterRadiusFinalCollimatorIORT(G4double)
G4VPhysicalVolume * physicalTreatmentRoom
G4Tubs * solidCM2_2_2IORT
static G4NistManager * Instance()
G4VPhysicalVolume * physiCM2_1_2IORT
G4Material * Blocco1IORTMaterialIORT
G4VPhysicalVolume * Construct()
G4Tubs * solidBlocco1IORT
void IortBeamLineVacuumSource()
void ConstructCollimator100BeamLine()
G4Material * Giunz1FinalCollMaterialIORT
G4GLOB_DLL std::ostream G4cout
G4VPhysicalVolume * physiGiunz4FinalCollIORT
G4Material * Giunz2FinalCollMaterialIORT
void SetDefaultDimensions()
G4VPhysicalVolume * physiCM1_1_2IORT
void IortBeamLineFinalCollimator()
G4VPhysicalVolume * physiGiunz1FinalCollIORT
G4Tubs * solidBlocco20mmIORT
G4VPhysicalVolume * physiCM2_2_2IORT
G4Material * VSIORTMaterialIORT
G4VPhysicalVolume * physiBlocco20mmIORT
G4Material * PFS1IORTMaterialIORT
G4Material * CM1_2_2IORTMaterialIORT
G4Cons * solidGiunz3FinalCollIntIORT
G4VPhysicalVolume * physiBlocco3IORT
static const double perCent
IORTDetectorConstruction * iortDetectorConstruction
G4VisAttributes * darkOrange3
G4Material * Giunz3FinalCollMaterialIORT
G4Material * CM2_1_2IORTMaterialIORT
G4VPhysicalVolume * physiFTIORT
static G4RunManager * GetRunManager()
G4Tubs * solidBlocco3IORT
G4Material * Blocco20mmIORTMaterialIORT
G4Tubs * solidGiunz4FinalCollIORT
G4Material * CCMIORTMaterialIORT
G4VPhysicalVolume * physiBlocco2IORT
G4Material * Blocco2IORTMaterialIORT
void IortBeamLineMonitorChambers()
void IortBeamLineTitaniumWindows()
static const G4VisAttributes Invisible
G4Tubs * solidCM1_1_2IORT
G4Tubs * solidGiunz5FinalCollIORT
G4VPhysicalVolume * physiCM1_2_2IORT
G4Material * FTIORTMaterialIORT
G4Tubs * solidCM1_2_2IORT
void IortBeamLineJunctions()
G4Material * CM1_1_2IORTMaterialIORT
G4Tubs * solidFinalCollimatorIORT
G4VPhysicalVolume * physiPFS2IORT
Collimator100BeamLineMessenger * collimatorMessenger
G4VPhysicalVolume * physiPFS3IORT
G4VPhysicalVolume * physiCCMIORT
G4Element * FindOrBuildElement(G4int Z, G4bool isotopes=true)
G4Tubs * solidGiunz3FinalCollIORT
G4Material * finalCollimatorMaterialIORT
G4VisAttributes * darkGreen
G4Material * Blocco3IORTMaterialIORT
G4VPhysicalVolume * physiGiunz3FinalCollIntIORT
G4double OuterRadiusFinalCollimatorIORT
G4Material * Giunz3FinalCollMaterialIntIORT
G4VPhysicalVolume * physiFinalCollimatorIORT
G4VPhysicalVolume * physiVSIORT
G4double innerRadiusFinalCollimatorIORT