60 physicalTreatmentRoom(0),iortDetectorConstruction(0),
64 solidFinalCollimatorIORT(0),
65 physiFinalCollimatorIORT(0),
67 solidGiunz1FinalCollIORT(0),
68 physiGiunz1FinalCollIORT(0),
70 solidGiunz2FinalCollIORT(0),
71 physiGiunz2FinalCollIORT(0),
73 solidGiunz3FinalCollIORT(0),
74 physiGiunz3FinalCollIORT(0),
76 solidGiunz3FinalCollIntIORT(0),
77 physiGiunz3FinalCollIntIORT(0),
79 solidGiunz4FinalCollIORT(0),
80 physiGiunz4FinalCollIORT(0),
82 solidGiunz5FinalCollIORT(0),
83 physiGiunz5FinalCollIORT(0),
94 solidBlocco20mmIORT(0),
95 physiBlocco20mmIORT(0),
170 white -> SetVisibility(
true);
174 blue -> SetVisibility(
true);
178 gray-> SetVisibility(
true);
182 red-> SetVisibility(
true);
186 yellow-> SetVisibility(
true);
190 green -> SetVisibility(
true);
202 skyBlue -> SetVisibility(
true);
208 G4double defaultOuterRadiusFinalCollimatorIORT = 40. *
mm;
211 G4double defaultinnerRadiusFinalCollimatorIORT = 35. *
mm;
241 brass -> AddElement(zincNist, fractionmass = 30 *
perCent);
242 brass -> AddElement(copperNist, fractionmass = 70 *
perCent);
326 G4Box* treatmentRoom =
new G4Box(
"TreatmentRoom",worldX,worldY,worldZ);
329 "logicTreatmentRoom",
333 "physicalTreatmentRoom",
371 const G4double XPositionVSIORT = -862.797 *
mm;
377 spanningAngleVSIORT);
385 logVSIORT -> SetVisAttributes(
green);
406 const G4double XPositionFTIORT = -861.791 *
mm;
412 spanningAngleFTIORT);
420 logFTIORT -> SetVisAttributes(
yellow);
447 const G4double XPositionPFS3IORT = -848.755 *
mm;
453 spanningAnglePFS3IORT);
461 logPFS3IORT -> SetVisAttributes(
white);
473 const G4double XPositionPFS2IORT = -844.255 *
mm;
479 spanningAnglePFS2IORT);
487 logPFS2IORT -> SetVisAttributes(
green);
498 const G4double XPositionPFS1IORT = -841.905 *
mm;
504 spanningAnglePFS1IORT);
512 logPFS1IORT -> SetVisAttributes(
green);
523 const G4double XPositionCCMIORT = -837.0125 *
mm;
529 spanningAngleCCMIORT);
537 logCCMIORT -> SetVisAttributes(
green);
544 const G4double outRadiusCM2_2_2IORT = 20. *
mm;
548 const G4double spanningAngleCM2_2_2IORT = 360.*
deg;
549 const G4double XPositionCM2_2_2IORT = -841. *
mm;
552 outRadiusCM2_2_2IORT,
554 startAngleCM2_2_2IORT,
555 spanningAngleCM2_2_2IORT);
563 logCM2_2_2IORT -> SetVisAttributes(
green);
570 const G4double outRadiusCM2_1_2IORT = 20. *
mm;
574 const G4double spanningAngleCM2_1_2IORT = 360.*
deg;
575 const G4double XPositionCM2_1_2IORT = -839. *
mm;
578 outRadiusCM2_1_2IORT,
580 startAngleCM2_1_2IORT,
581 spanningAngleCM2_1_2IORT);
589 logCM2_1_2IORT -> SetVisAttributes(
yellow);
595 const G4double outRadiusCM1_2_2IORT = 20. *
mm;
599 const G4double spanningAngleCM1_2_2IORT = 360.*
deg;
600 const G4double XPositionCM1_2_2IORT = -837. *
mm;
603 outRadiusCM1_2_2IORT,
605 startAngleCM1_2_2IORT,
606 spanningAngleCM1_2_2IORT);
614 logCM1_2_2IORT -> SetVisAttributes(
yellow);
620 const G4double outRadiusCM1_1_2IORT = 20. *
mm;
624 const G4double spanningAngleCM1_1_2IORT = 360.*
deg;
625 const G4double XPositionCM1_1_2IORT = -835. *
mm;
628 outRadiusCM1_1_2IORT,
630 startAngleCM1_1_2IORT,
631 spanningAngleCM1_1_2IORT);
639 logCM1_1_2IORT -> SetVisAttributes(
yellow);
661 const G4double outRadiusBlocco20mmIORT = 36.5 *
mm;
662 const G4double innRadiusBlocco20mmIORT = 10. *
mm;
665 const G4double spanningAngleBlocco20mmIORT = 360.*
deg;
666 const G4double XPositionBlocco20mmIORT = -830. *
mm;
669 outRadiusBlocco20mmIORT,
671 startAngleBlocco20mmIORT,
672 spanningAngleBlocco20mmIORT);
680 logBlocco20mmIORT -> SetVisAttributes(
green);
687 const G4double outRadiusBlocco3IORT = 36.5 *
mm;
688 const G4double innRadiusBlocco3IORT = 15. *
mm;
691 const G4double spanningAngleBlocco3IORT = 360.*
deg;
692 const G4double XPositionBlocco3IORT = -823.5 *
mm;
695 outRadiusBlocco3IORT,
697 startAngleBlocco3IORT,
698 spanningAngleBlocco3IORT);
706 logBlocco3IORT -> SetVisAttributes(
yellow);
712 const G4double outRadiusBlocco2IORT = 41.5 *
mm;
713 const G4double innRadiusBlocco2IORT = 15. *
mm;
716 const G4double spanningAngleBlocco2IORT = 360.*
deg;
717 const G4double XPositionBlocco2IORT = -812. *
mm;
720 outRadiusBlocco2IORT,
722 startAngleBlocco2IORT,
723 spanningAngleBlocco2IORT);
731 logBlocco2IORT -> SetVisAttributes(
red);
737 const G4double outRadiusBlocco1IORT = 52.0 *
mm;
738 const G4double innRadiusBlocco1IORT = 15. *
mm;
741 const G4double spanningAngleBlocco1IORT = 360.*
deg;
742 const G4double XPositionBlocco1IORT = -795.5*
mm;
745 outRadiusBlocco1IORT,
747 startAngleBlocco1IORT,
748 spanningAngleBlocco1IORT);
756 logBlocco1IORT -> SetVisAttributes(
white);
772 const G4double outRadiusGiunz5FinalCollIORT = 48.25 *
mm;
773 const G4double innRadiusGiunz5FinalCollIORT = 13.75 *
mm;
774 const G4double hightGiunz5FinalCollIORT = 3.5 *
mm;
775 const G4double startAngleGiunz5FinalCollIORT = 0.*
deg;
776 const G4double spanningAngleGiunz5FinalCollIORT = 360.*
deg;
777 const G4double Giunz5FinalCollXPositionIORT = -783.5 *
mm;
780 outRadiusGiunz5FinalCollIORT,
781 hightGiunz5FinalCollIORT,
782 startAngleGiunz5FinalCollIORT,
783 spanningAngleGiunz5FinalCollIORT);
791 logGiunz5FinalCollIORT -> SetVisAttributes(
yellow);
797 const G4double outRadiusGiunz4FinalCollIORT = 42. *
mm;
798 const G4double innRadiusGiunz4FinalCollIORT = 13.75 *
mm;
799 const G4double hightGiunz4FinalCollIORT = 8.5 *
mm;
800 const G4double startAngleGiunz4FinalCollIORT = 0.*
deg;
801 const G4double spanningAngleGiunz4FinalCollIORT = 360.*
deg;
802 const G4double Giunz4FinalCollXPositionIORT = -771.5 *
mm;
805 outRadiusGiunz4FinalCollIORT,
806 hightGiunz4FinalCollIORT,
807 startAngleGiunz4FinalCollIORT,
808 spanningAngleGiunz4FinalCollIORT);
816 logGiunz4FinalCollIORT -> SetVisAttributes(
blue);
824 const G4double outRadiusGiunz3FinalCollIORT = 42. *
mm;
825 const G4double innRadiusGiunz3FinalCollIORT = 0. *
mm;
826 const G4double hightGiunz3FinalCollIORT = 4.25 *
mm;
827 const G4double startAngleGiunz3FinalCollIORT = 0.*
deg;
828 const G4double spanningAngleGiunz3FinalCollIORT = 360.*
deg;
829 const G4double Giunz3FinalCollXPositionIORT = -758.75 *
mm;
832 outRadiusGiunz3FinalCollIORT,
833 hightGiunz3FinalCollIORT,
834 startAngleGiunz3FinalCollIORT,
835 spanningAngleGiunz3FinalCollIORT);
843 logicsolidGiunz3FinalCollIORT -> SetVisAttributes(
yellow);
861 logicsolidGiunz3FinalCollIntIORT -> SetVisAttributes(
yellow);
868 const G4double outRadiusGiunz2FinalCollIORT = 42. *
mm;
869 const G4double innRadiusGiunz2FinalCollIORT = 22.25 *
mm;
870 const G4double hightGiunz2FinalCollIORT = 5.75 *
mm;
871 const G4double startAngleGiunz2FinalCollIORT = 0.*
deg;
872 const G4double spanningAngleGiunz2FinalCollIORT = 360.*
deg;
873 const G4double Giunz2FinalCollXPositionIORT = -748.75 *
mm;
876 outRadiusGiunz2FinalCollIORT,
877 hightGiunz2FinalCollIORT,
878 startAngleGiunz2FinalCollIORT,
879 spanningAngleGiunz2FinalCollIORT);
887 logGiunz2FinalCollIORT -> SetVisAttributes(
red);
893 const G4double outRadiusGiunz1FinalCollIORT = 50. *
mm;
894 const G4double innRadiusGiunz1FinalCollIORT = 22.25 *
mm;
895 const G4double hightGiunz1FinalCollIORT = 10. *
mm;
896 const G4double startAngleGiunz1FinalCollIORT = 0.*
deg;
897 const G4double spanningAngleGiunz1FinalCollIORT = 360.*
deg;
898 const G4double Giunz1FinalCollXPositionIORT = -733.*
mm;
901 outRadiusGiunz1FinalCollIORT,
902 hightGiunz1FinalCollIORT,
903 startAngleGiunz1FinalCollIORT,
904 spanningAngleGiunz1FinalCollIORT);
912 logGiunz1FinalCollIORT -> SetVisAttributes(
gray);
924 const G4double hightFinalCollimatorIORT = 334. *
mm;
925 const G4double startAngleFinalCollimatorIORT = 0.*
deg;
926 const G4double spanningAngleFinalCollimatorIORT = 360.*
deg;
927 const G4double finalCollimatorXPositionIORT = -389.*
mm;
941 hightFinalCollimatorIORT,
942 startAngleFinalCollimatorIORT,
943 spanningAngleFinalCollimatorIORT);
952 logFinalCollimatorIORT -> SetVisAttributes(
darkOrange3);
964 G4cout<<
"Inner Radius of the final collimator IORT is (mm):"
975 G4cout<<
"Outer Radius of the final collimator IORT is (mm):"
static G4RunManager * GetRunManager()
G4Material * FTIORTMaterialIORT
G4VPhysicalVolume * Construct()
G4Material * Blocco20mmIORTMaterialIORT
G4VPhysicalVolume * physiFinalCollimatorIORT
CLHEP::Hep3Vector G4ThreeVector
G4Material * CM1_1_2IORTMaterialIORT
G4Material * CM2_1_2IORTMaterialIORT
G4VPhysicalVolume * physiPFS1IORT
static constexpr double mm
G4VPhysicalVolume * physiBlocco3IORT
G4VPhysicalVolume * physiGiunz2FinalCollIORT
G4double OuterRadiusFinalCollimatorIORT
static constexpr double perCent
G4Material * Giunz3FinalCollMaterialIORT
G4VPhysicalVolume * physiCM1_1_2IORT
G4Tubs * solidFinalCollimatorIORT
G4Material * CM2_2_2IORTMaterialIORT
G4Cons * solidGiunz3FinalCollIntIORT
G4VPhysicalVolume * physiGiunz4FinalCollIORT
G4Material * PFS3IORTMaterialIORT
G4Tubs * solidBlocco2IORT
void IortBeamLineTitaniumWindows()
G4Tubs * solidCM1_2_2IORT
static const G4VisAttributes & GetInvisible()
G4Tubs * solidBlocco3IORT
G4Material * VSIORTMaterialIORT
G4Element * FindOrBuildElement(G4int Z, G4bool isotopes=true)
static constexpr double g
G4Material * finalCollimatorMaterialIORT
G4VPhysicalVolume * physiVSIORT
G4Material * Giunz3FinalCollMaterialIntIORT
G4VPhysicalVolume * physiCM1_2_2IORT
G4VPhysicalVolume * physiBlocco20mmIORT
G4Material * Blocco2IORTMaterialIORT
G4Material * PFS1IORTMaterialIORT
const XML_Char int const XML_Char * value
static constexpr double deg
Collimator70BeamLineMessenger * collimatorMessenger
G4VPhysicalVolume * physiCM2_2_2IORT
void SetInnerRadiusFinalCollimatorIORT(G4double)
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
G4Tubs * solidGiunz4FinalCollIORT
G4VPhysicalVolume * physiGiunz1FinalCollIORT
G4Material * Blocco1IORTMaterialIORT
G4Tubs * solidGiunz2FinalCollIORT
G4VisAttributes * darkGreen
void IortBeamLineMonitorChambers()
G4VPhysicalVolume * physiPFS3IORT
G4Material * Giunz4FinalCollMaterialIORT
G4Material * CCMIORTMaterialIORT
G4Material * Giunz5FinalCollMaterialIORT
G4VPhysicalVolume * physicalTreatmentRoom
G4Tubs * solidCM2_2_2IORT
G4Material * CM1_2_2IORTMaterialIORT
void IortBeamLineBlocks()
void IortBeamLineJunctions()
G4VPhysicalVolume * physiBlocco2IORT
HepRotation & rotateY(double delta)
G4Material * Blocco3IORTMaterialIORT
G4VPhysicalVolume * physiCM2_1_2IORT
void SetDefaultDimensions()
G4VPhysicalVolume * physiCCMIORT
G4Tubs * solidBlocco1IORT
G4VPhysicalVolume * physiGiunz3FinalCollIntIORT
G4double innerRadiusFinalCollimatorIORT
G4GLOB_DLL std::ostream G4cout
static constexpr double cm
G4VisAttributes * skyBlue
G4Material * Giunz2FinalCollMaterialIORT
G4VPhysicalVolume * physiGiunz5FinalCollIORT
void ConstructCollimator70BeamLine()
G4Tubs * solidCM1_1_2IORT
G4VPhysicalVolume * physiGiunz3FinalCollIORT
G4Tubs * solidBlocco20mmIORT
G4Tubs * solidCM2_1_2IORT
G4Tubs * solidGiunz1FinalCollIORT
G4VPhysicalVolume * physiPFS2IORT
G4Material * PFS2IORTMaterialIORT
G4VPhysicalVolume * physiBlocco1IORT
IORTDetectorConstruction * iortDetectorConstruction
void SetOuterRadiusFinalCollimatorIORT(G4double)
G4VisAttributes * darkOrange3
void IortBeamLineFinalCollimator()
G4VPhysicalVolume * physiFTIORT
static constexpr double cm3
void IortBeamLineVacuumSource()
G4Tubs * solidGiunz3FinalCollIORT
G4Tubs * solidGiunz5FinalCollIORT
static G4NistManager * Instance()
G4Material * Giunz1FinalCollMaterialIORT