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);
 
  209   G4double defaultOuterRadiusFinalCollimatorIORT = 35. *
mm;
 
  212   G4double defaultinnerRadiusFinalCollimatorIORT = 30. *
mm;
 
  327   G4Box* treatmentRoom = 
new G4Box(
"TreatmentRoom",worldX,worldY,worldZ);
 
  330                                                             "logicTreatmentRoom", 
 
  334                                             "physicalTreatmentRoom", 
 
  372   const G4double XPositionVSIORT = -862.797 *
mm;
 
  378                                     spanningAngleVSIORT);
 
  386   logVSIORT -> SetVisAttributes(
green);
 
  407   const G4double XPositionFTIORT = -861.791 *
mm;
 
  413                                     spanningAngleFTIORT);
 
  421   logFTIORT -> SetVisAttributes(
yellow);
 
  448   const G4double XPositionPFS3IORT = -848.755 *
mm;
 
  454                                     spanningAnglePFS3IORT);
 
  462   logPFS3IORT -> SetVisAttributes(
white);
 
  474   const G4double XPositionPFS2IORT = -844.255 *
mm;
 
  480                                     spanningAnglePFS2IORT);
 
  488   logPFS2IORT -> SetVisAttributes(
green);
 
  499   const G4double XPositionPFS1IORT = -841.905 *
mm;
 
  505                                     spanningAnglePFS1IORT);
 
  513   logPFS1IORT -> SetVisAttributes(
green);
 
  524   const G4double XPositionCCMIORT = -837.0125 *
mm;
 
  530                                     spanningAngleCCMIORT);
 
  538   logCCMIORT -> SetVisAttributes(
green);
 
  545   const G4double outRadiusCM2_2_2IORT = 20. *
mm;
 
  549   const G4double spanningAngleCM2_2_2IORT = 360.*
deg;
 
  550   const G4double XPositionCM2_2_2IORT = -841. *
mm;
 
  553                                     outRadiusCM2_2_2IORT,
 
  555                                     startAngleCM2_2_2IORT, 
 
  556                                     spanningAngleCM2_2_2IORT);
 
  564   logCM2_2_2IORT -> SetVisAttributes(
green);  
 
  571   const G4double outRadiusCM2_1_2IORT = 20. *
mm;
 
  575   const G4double spanningAngleCM2_1_2IORT = 360.*
deg;
 
  576   const G4double XPositionCM2_1_2IORT = -839. *
mm;
 
  579                                     outRadiusCM2_1_2IORT,
 
  581                                     startAngleCM2_1_2IORT, 
 
  582                                     spanningAngleCM2_1_2IORT);
 
  590   logCM2_1_2IORT -> SetVisAttributes(
yellow); 
 
  596   const G4double outRadiusCM1_2_2IORT = 20. *
mm;
 
  600   const G4double spanningAngleCM1_2_2IORT = 360.*
deg;
 
  601   const G4double XPositionCM1_2_2IORT = -837. *
mm;
 
  604                                     outRadiusCM1_2_2IORT,
 
  606                                     startAngleCM1_2_2IORT, 
 
  607                                     spanningAngleCM1_2_2IORT);
 
  615   logCM1_2_2IORT -> SetVisAttributes(
yellow);
 
  621   const G4double outRadiusCM1_1_2IORT = 20. *
mm;
 
  625   const G4double spanningAngleCM1_1_2IORT = 360.*
deg;
 
  626   const G4double XPositionCM1_1_2IORT = -835. *
mm;
 
  629                                     outRadiusCM1_1_2IORT,
 
  631                                     startAngleCM1_1_2IORT, 
 
  632                                     spanningAngleCM1_1_2IORT);
 
  640   logCM1_1_2IORT -> SetVisAttributes(
yellow);
 
  662   const G4double outRadiusBlocco20mmIORT = 36.5 *
mm;
 
  663   const G4double innRadiusBlocco20mmIORT = 10. *
mm;
 
  666   const G4double spanningAngleBlocco20mmIORT = 360.*
deg;
 
  667   const G4double XPositionBlocco20mmIORT = -830. *
mm;
 
  670                                     outRadiusBlocco20mmIORT,
 
  672                                     startAngleBlocco20mmIORT, 
 
  673                                     spanningAngleBlocco20mmIORT);
 
  681   logBlocco20mmIORT -> SetVisAttributes(
green);
 
  688   const G4double outRadiusBlocco3IORT = 36.5 *
mm;
 
  689   const G4double innRadiusBlocco3IORT = 15. *
mm;
 
  692   const G4double spanningAngleBlocco3IORT = 360.*
deg;
 
  693   const G4double XPositionBlocco3IORT = -823.5 *
mm;
 
  697                                     outRadiusBlocco3IORT,
 
  699                                     startAngleBlocco3IORT, 
 
  700                                     spanningAngleBlocco3IORT);
 
  708   logBlocco3IORT -> SetVisAttributes(
yellow);
 
  714   const G4double outRadiusBlocco2IORT = 41.5 *
mm;
 
  715   const G4double innRadiusBlocco2IORT = 15. *
mm;
 
  718   const G4double spanningAngleBlocco2IORT = 360.*
deg;
 
  719   const G4double XPositionBlocco2IORT = -812. *
mm;
 
  723                                     outRadiusBlocco2IORT,
 
  725                                     startAngleBlocco2IORT, 
 
  726                                     spanningAngleBlocco2IORT);
 
  734   logBlocco2IORT -> SetVisAttributes(
red);
 
  740   const G4double outRadiusBlocco1IORT = 52.0 *
mm;
 
  741   const G4double innRadiusBlocco1IORT = 15. *
mm;
 
  744   const G4double spanningAngleBlocco1IORT = 360.*
deg;
 
  745   const G4double XPositionBlocco1IORT = -795.5*
mm;
 
  748                                     outRadiusBlocco1IORT,
 
  750                                     startAngleBlocco1IORT, 
 
  751                                     spanningAngleBlocco1IORT);
 
  759   logBlocco1IORT -> SetVisAttributes(
white);
 
  776   const G4double outRadiusGiunz5FinalCollIORT = 48.25 *
mm;
 
  777   const G4double innRadiusGiunz5FinalCollIORT = 13.75 *
mm;
 
  778   const G4double hightGiunz5FinalCollIORT = 3.5 *
mm;
 
  779   const G4double startAngleGiunz5FinalCollIORT = 0.*
deg;
 
  780   const G4double spanningAngleGiunz5FinalCollIORT = 360.*
deg;
 
  781   const G4double Giunz5FinalCollXPositionIORT = -783.5 *
mm;
 
  784                                     outRadiusGiunz5FinalCollIORT,
 
  785                                     hightGiunz5FinalCollIORT, 
 
  786                                     startAngleGiunz5FinalCollIORT, 
 
  787                                     spanningAngleGiunz5FinalCollIORT);
 
  795   logGiunz5FinalCollIORT -> SetVisAttributes(
yellow);
 
  801   const G4double outRadiusGiunz4FinalCollIORT = 42. *
mm;
 
  802   const G4double innRadiusGiunz4FinalCollIORT = 13.75 *
mm;
 
  803   const G4double hightGiunz4FinalCollIORT = 8.5 *
mm;
 
  804   const G4double startAngleGiunz4FinalCollIORT = 0.*
deg;
 
  805   const G4double spanningAngleGiunz4FinalCollIORT = 360.*
deg;
 
  806   const G4double Giunz4FinalCollXPositionIORT = -771.5 *
mm;
 
  809                                     outRadiusGiunz4FinalCollIORT,
 
  810                                     hightGiunz4FinalCollIORT, 
 
  811                                     startAngleGiunz4FinalCollIORT, 
 
  812                                     spanningAngleGiunz4FinalCollIORT);
 
  820   logGiunz4FinalCollIORT -> SetVisAttributes(
blue); 
 
  828   const G4double outRadiusGiunz3FinalCollIORT = 42. *
mm;
 
  829   const G4double innRadiusGiunz3FinalCollIORT = 0. *
mm;
 
  830   const G4double hightGiunz3FinalCollIORT = 4.25 *
mm;
 
  831   const G4double startAngleGiunz3FinalCollIORT = 0.*
deg;
 
  832   const G4double spanningAngleGiunz3FinalCollIORT = 360.*
deg;
 
  833   const G4double Giunz3FinalCollXPositionIORT = -758.75 *
mm;
 
  837                                     outRadiusGiunz3FinalCollIORT,
 
  838                                     hightGiunz3FinalCollIORT, 
 
  839                                     startAngleGiunz3FinalCollIORT, 
 
  840                                     spanningAngleGiunz3FinalCollIORT);
 
  848   logicsolidGiunz3FinalCollIORT -> SetVisAttributes(
yellow);
 
  866   logicsolidGiunz3FinalCollIntIORT -> SetVisAttributes(
yellow); 
 
  873   const G4double outRadiusGiunz2FinalCollIORT = 42. *
mm;
 
  874   const G4double innRadiusGiunz2FinalCollIORT = 22.25 *
mm;
 
  875   const G4double hightGiunz2FinalCollIORT = 5.75 *
mm;
 
  876   const G4double startAngleGiunz2FinalCollIORT = 0.*
deg;
 
  877   const G4double spanningAngleGiunz2FinalCollIORT = 360.*
deg;
 
  878   const G4double Giunz2FinalCollXPositionIORT = -748.75 *
mm;
 
  881                                     outRadiusGiunz2FinalCollIORT,
 
  882                                     hightGiunz2FinalCollIORT, 
 
  883                                     startAngleGiunz2FinalCollIORT, 
 
  884                                     spanningAngleGiunz2FinalCollIORT);
 
  892   logGiunz2FinalCollIORT -> SetVisAttributes(
red); 
 
  898   const G4double outRadiusGiunz1FinalCollIORT = 45. *
mm;
 
  899   const G4double innRadiusGiunz1FinalCollIORT = 22.25 *
mm;
 
  900   const G4double hightGiunz1FinalCollIORT = 10. *
mm;
 
  901   const G4double startAngleGiunz1FinalCollIORT = 0.*
deg;
 
  902   const G4double spanningAngleGiunz1FinalCollIORT = 360.*
deg;
 
  903   const G4double Giunz1FinalCollXPositionIORT = -733.*
mm;
 
  906                                     outRadiusGiunz1FinalCollIORT,
 
  907                                     hightGiunz1FinalCollIORT, 
 
  908                                     startAngleGiunz1FinalCollIORT, 
 
  909                                     spanningAngleGiunz1FinalCollIORT);
 
  917   logGiunz1FinalCollIORT -> SetVisAttributes(
gray);
 
  928   const G4double hightFinalCollimatorIORT = 334. *
mm;
 
  929   const G4double startAngleFinalCollimatorIORT = 0.*
deg;
 
  930   const G4double spanningAngleFinalCollimatorIORT = 360.*
deg;
 
  931   const G4double finalCollimatorXPositionIORT = -389.*
mm;
 
  945                                     hightFinalCollimatorIORT, 
 
  946                                     startAngleFinalCollimatorIORT, 
 
  947                                     spanningAngleFinalCollimatorIORT);
 
  956   logFinalCollimatorIORT -> SetVisAttributes(
blue);
 
  968   G4cout<<
"Inner Radius of the final collimator IORT is (mm):" 
  979   G4cout<<
"Outer Radius of the final collimator IORT is (mm):" 
G4Material * Blocco20mmIORTMaterialIORT
 
G4VPhysicalVolume * physiPFS2IORT
 
G4VPhysicalVolume * physiCM2_1_2IORT
 
G4Material * CCMIORTMaterialIORT
 
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
 
G4VPhysicalVolume * physiBlocco3IORT
 
G4Material * VSIORTMaterialIORT
 
void ConstructCollimator60BeamLine()
 
G4VPhysicalVolume * physiBlocco1IORT
 
G4Material * PFS3IORTMaterialIORT
 
CLHEP::Hep3Vector G4ThreeVector
 
G4Material * Giunz2FinalCollMaterialIORT
 
void IortBeamLineMonitorChambers()
 
CLHEP::HepRotation G4RotationMatrix
 
void IortBeamLineBlocks()
 
G4Material * Giunz5FinalCollMaterialIORT
 
G4Tubs * solidGiunz3FinalCollIORT
 
G4Tubs * solidFinalCollimatorIORT
 
void IortBeamLineFinalCollimator()
 
G4VisAttributes * darkGreen
 
G4Material * Giunz4FinalCollMaterialIORT
 
G4Material * Giunz1FinalCollMaterialIORT
 
G4Material * Blocco1IORTMaterialIORT
 
static G4NistManager * Instance()
 
G4Material * Blocco3IORTMaterialIORT
 
G4Tubs * solidCM2_1_2IORT
 
G4VPhysicalVolume * physiCM1_1_2IORT
 
G4VPhysicalVolume * physiCM2_2_2IORT
 
G4VPhysicalVolume * physiGiunz1FinalCollIORT
 
G4Material * Giunz3FinalCollMaterialIntIORT
 
void IortBeamLineTitaniumWindows()
 
G4Cons * solidGiunz3FinalCollIntIORT
 
G4VPhysicalVolume * physiGiunz5FinalCollIORT
 
G4Material * PFS1IORTMaterialIORT
 
G4GLOB_DLL std::ostream G4cout
 
G4VPhysicalVolume * physiPFS1IORT
 
G4VPhysicalVolume * physiCM1_2_2IORT
 
G4Material * finalCollimatorMaterialIORT
 
G4VPhysicalVolume * physiFinalCollimatorIORT
 
G4VPhysicalVolume * physiGiunz4FinalCollIORT
 
G4Material * Blocco2IORTMaterialIORT
 
G4VPhysicalVolume * Construct()
 
G4Tubs * solidGiunz2FinalCollIORT
 
G4double OuterRadiusFinalCollimatorIORT
 
G4VPhysicalVolume * physiBlocco2IORT
 
static const double perCent
 
void SetInnerRadiusFinalCollimatorIORT(G4double)
 
G4Tubs * solidBlocco20mmIORT
 
G4VPhysicalVolume * physiBlocco20mmIORT
 
G4Tubs * solidGiunz1FinalCollIORT
 
G4Tubs * solidBlocco3IORT
 
G4VisAttributes * darkOrange3
 
G4Material * FTIORTMaterialIORT
 
G4VPhysicalVolume * physiGiunz2FinalCollIORT
 
void IortBeamLineVacuumSource()
 
G4VPhysicalVolume * physiVSIORT
 
G4Tubs * solidBlocco1IORT
 
static G4RunManager * GetRunManager()
 
G4Material * CM1_2_2IORTMaterialIORT
 
G4Tubs * solidGiunz5FinalCollIORT
 
G4VPhysicalVolume * physiFTIORT
 
static const G4VisAttributes Invisible
 
G4Tubs * solidGiunz4FinalCollIORT
 
void IortBeamLineJunctions()
 
G4Material * PFS2IORTMaterialIORT
 
G4VPhysicalVolume * physiCCMIORT
 
G4Material * CM2_1_2IORTMaterialIORT
 
G4VPhysicalVolume * physiPFS3IORT
 
G4Material * Giunz3FinalCollMaterialIORT
 
G4Material * CM1_1_2IORTMaterialIORT
 
G4Tubs * solidCM2_2_2IORT
 
G4Tubs * solidCM1_1_2IORT
 
G4Tubs * solidBlocco2IORT
 
G4Element * FindOrBuildElement(G4int Z, G4bool isotopes=true)
 
G4double innerRadiusFinalCollimatorIORT
 
IORTDetectorConstruction * iortDetectorConstruction
 
G4VPhysicalVolume * physiGiunz3FinalCollIntIORT
 
G4Material * CM2_2_2IORTMaterialIORT
 
Collimator60BeamLineMessenger * collimatorMessenger
 
G4VisAttributes * skyBlue
 
void SetOuterRadiusFinalCollimatorIORT(G4double)
 
G4Tubs * solidCM1_2_2IORT
 
G4VPhysicalVolume * physiGiunz3FinalCollIORT
 
G4VPhysicalVolume * physicalTreatmentRoom
 
void SetDefaultDimensions()