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),  
 
  133   delete collimatorMessenger;
 
  134   delete iortDetectorConstruction;
 
  143   SetDefaultDimensions();
 
  146   ConstructCollimator70BeamLine();
 
  152   return physicalTreatmentRoom;
 
  165 void Collimator70BeamLine::SetDefaultDimensions()
 
  170   white -> SetVisibility(
true);
 
  174   blue -> SetVisibility(
true);
 
  178   gray-> SetVisibility(
true);
 
  182   red-> SetVisibility(
true);
 
  186   yellow-> SetVisibility(
true);
 
  190   green -> SetVisibility(
true);
 
  194   darkGreen -> SetVisibility(
true);
 
  198   darkOrange3 -> SetVisibility(
true);
 
  202   skyBlue -> SetVisibility(
true);
 
  208   G4double defaultOuterRadiusFinalCollimatorIORT = 40. *
mm;
 
  209   OuterRadiusFinalCollimatorIORT = defaultOuterRadiusFinalCollimatorIORT;
 
  211   G4double defaultinnerRadiusFinalCollimatorIORT = 35. *
mm;
 
  212   innerRadiusFinalCollimatorIORT = defaultinnerRadiusFinalCollimatorIORT;
 
  249   finalCollimatorMaterialIORT = PMMANist;
 
  252   Giunz1FinalCollMaterialIORT = PMMANist;
 
  255   Giunz2FinalCollMaterialIORT = PMMANist;
 
  258   Giunz3FinalCollMaterialIORT = PMMANist;
 
  261   Giunz3FinalCollMaterialIntIORT = airNist;
 
  264   Giunz4FinalCollMaterialIORT = PMMANist;
 
  267   Giunz5FinalCollMaterialIORT = PMMANist;
 
  270   Blocco1IORTMaterialIORT = PMMANist; 
 
  273   Blocco2IORTMaterialIORT = PMMANist; 
 
  276   Blocco3IORTMaterialIORT = PMMANist;
 
  279   Blocco20mmIORTMaterialIORT = PMMANist;
 
  282     CM1_1_2IORTMaterialIORT = aluminumNist;
 
  285     CM1_2_2IORTMaterialIORT = aluminumNist;
 
  288     CM2_1_2IORTMaterialIORT = aluminumNist;
 
  291     CM2_2_2IORTMaterialIORT = aluminumNist;
 
  294     CCMIORTMaterialIORT = PMMANist;
 
  297     PFS1IORTMaterialIORT = PMMANist;
 
  300     PFS2IORTMaterialIORT = PMMANist;
 
  303     PFS3IORTMaterialIORT = PMMANist;
 
  306     FTIORTMaterialIORT = titanioNist;
 
  309     VSIORTMaterialIORT = galacticNist;
 
  314 void Collimator70BeamLine::ConstructCollimator70BeamLine()
 
  326   G4Box* treatmentRoom = 
new G4Box(
"TreatmentRoom",worldX,worldY,worldZ);
 
  329                                                             "logicTreatmentRoom", 
 
  333                         "physicalTreatmentRoom", 
 
  371   const G4double XPositionVSIORT = -862.797 *
mm;
 
  373   solidVSIORT = 
new G4Tubs(
"VSIORT", innRadiusVSIORT, 
 
  377                     spanningAngleVSIORT);
 
  380                                   VSIORTMaterialIORT, 
"VSIORT", 0, 0, 0);
 
  383                        "VSIORT", logVSIORT, physicalTreatmentRoom, 
false, 0); 
 
  385   logVSIORT -> SetVisAttributes(green);
 
  406   const G4double XPositionFTIORT = -861.791 *
mm;
 
  408   solidFTIORT = 
new G4Tubs(
"FTIORT", innRadiusFTIORT, 
 
  412                     spanningAngleFTIORT);
 
  415                                   FTIORTMaterialIORT, 
"FTIORT", 0, 0, 0);
 
  418                        "FTIORT", logFTIORT, physicalTreatmentRoom, 
false, 0); 
 
  420   logFTIORT -> SetVisAttributes(yellow);
 
  447   const G4double XPositionPFS3IORT = -848.755 *
mm;
 
  449   solidPFS3IORT = 
new G4Tubs(
"PFS3IORT", innRadiusPFS3IORT, 
 
  453                     spanningAnglePFS3IORT);
 
  456                                   PFS3IORTMaterialIORT, 
"PFS3IORT", 0, 0, 0);
 
  459                        "PFS3IORT", logPFS3IORT, physicalTreatmentRoom, 
false, 0); 
 
  461   logPFS3IORT -> SetVisAttributes(white);
 
  473   const G4double XPositionPFS2IORT = -844.255 *
mm;
 
  475   solidPFS2IORT = 
new G4Tubs(
"PFS2IORT", innRadiusPFS2IORT, 
 
  479                     spanningAnglePFS2IORT);
 
  482                                   PFS2IORTMaterialIORT, 
"PFS2IORT", 0, 0, 0);
 
  485                        "PFS2IORT", logPFS2IORT, physicalTreatmentRoom, 
false, 0); 
 
  487   logPFS2IORT -> SetVisAttributes(green);
 
  498   const G4double XPositionPFS1IORT = -841.905 *
mm;
 
  500   solidPFS1IORT = 
new G4Tubs(
"PFS1IORT", innRadiusPFS1IORT, 
 
  504                     spanningAnglePFS1IORT);
 
  507                                   PFS1IORTMaterialIORT, 
"PFS1IORT", 0, 0, 0);
 
  510                        "PFS1IORT", logPFS1IORT, physicalTreatmentRoom, 
false, 0); 
 
  512   logPFS1IORT -> SetVisAttributes(green);
 
  523   const G4double XPositionCCMIORT = -837.0125 *
mm;
 
  525   solidCCMIORT = 
new G4Tubs(
"CCMIORT", innRadiusCCMIORT, 
 
  529                     spanningAngleCCMIORT);
 
  532                                   CCMIORTMaterialIORT, 
"CCMIORT", 0, 0, 0);
 
  535                        "CCMIORT", logCCMIORT, physicalTreatmentRoom, 
false, 0); 
 
  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;
 
  551   solidCM2_2_2IORT = 
new G4Tubs(
"CM2_2_2IORT", innRadiusCM2_2_2IORT, 
 
  552                     outRadiusCM2_2_2IORT,
 
  554                     startAngleCM2_2_2IORT, 
 
  555                     spanningAngleCM2_2_2IORT);
 
  558                                   CM2_2_2IORTMaterialIORT, 
"CM2_2_2IORT", 0, 0, 0);
 
  561                        "CM2_2_2ORT", logCM2_2_2IORT, physicalTreatmentRoom, 
false, 0); 
 
  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;
 
  577   solidCM2_1_2IORT = 
new G4Tubs(
"CM2_1_2IORT", innRadiusCM2_1_2IORT, 
 
  578                     outRadiusCM2_1_2IORT,
 
  580                     startAngleCM2_1_2IORT, 
 
  581                     spanningAngleCM2_1_2IORT);
 
  584                                   CM2_1_2IORTMaterialIORT, 
"CM2_1_2IORT", 0, 0, 0);
 
  587                        "CM2_1_2ORT", logCM2_1_2IORT, physicalTreatmentRoom, 
false, 0); 
 
  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;
 
  602   solidCM1_2_2IORT = 
new G4Tubs(
"CM1_2_2IORT", innRadiusCM1_2_2IORT, 
 
  603                     outRadiusCM1_2_2IORT,
 
  605                     startAngleCM1_2_2IORT, 
 
  606                     spanningAngleCM1_2_2IORT);
 
  609                               CM1_2_2IORTMaterialIORT, 
"CM1_2_2IORT", 0, 0, 0);
 
  612                        "CM1_2_2ORT", logCM1_2_2IORT, physicalTreatmentRoom, 
false, 0); 
 
  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;
 
  627   solidCM1_1_2IORT = 
new G4Tubs(
"CM1_1_2IORT", innRadiusCM1_1_2IORT, 
 
  628                     outRadiusCM1_1_2IORT,
 
  630                     startAngleCM1_1_2IORT, 
 
  631                     spanningAngleCM1_1_2IORT);
 
  634                                   CM1_1_2IORTMaterialIORT, 
"CM1_1_2IORT", 0, 0, 0);
 
  637                        "CM1_1_2ORT", logCM1_1_2IORT, physicalTreatmentRoom, 
false, 0); 
 
  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;
 
  668   solidBlocco20mmIORT = 
new G4Tubs(
"Blocco20mmIORT", innRadiusBlocco20mmIORT, 
 
  669                     outRadiusBlocco20mmIORT,
 
  671                     startAngleBlocco20mmIORT, 
 
  672                     spanningAngleBlocco20mmIORT);
 
  675                                   Blocco20mmIORTMaterialIORT, 
"Blocco20mmIORT", 0, 0, 0);
 
  678                        "Blocco20mmORT", logBlocco20mmIORT, physicalTreatmentRoom, 
false, 0); 
 
  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;
 
  694   solidBlocco3IORT = 
new G4Tubs(
"Blocco3IORT", innRadiusBlocco3IORT, 
 
  695                     outRadiusBlocco3IORT,
 
  697                     startAngleBlocco3IORT, 
 
  698                     spanningAngleBlocco3IORT);
 
  701                                   Blocco3IORTMaterialIORT, 
"Blocco3IORT", 0, 0, 0);
 
  704                        "Blocco3ORT", logBlocco3IORT, physicalTreatmentRoom, 
false, 0); 
 
  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;
 
  719   solidBlocco2IORT = 
new G4Tubs(
"Blocco2IORT", innRadiusBlocco2IORT, 
 
  720                     outRadiusBlocco2IORT,
 
  722                     startAngleBlocco2IORT, 
 
  723                     spanningAngleBlocco2IORT);
 
  726                                   Blocco2IORTMaterialIORT, 
"Blocco2IORT", 0, 0, 0);
 
  729                        "Blocco2IORT", logBlocco2IORT, physicalTreatmentRoom, 
false, 0); 
 
  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;
 
  744   solidBlocco1IORT = 
new G4Tubs(
"Blocco1IORT", innRadiusBlocco1IORT, 
 
  745                     outRadiusBlocco1IORT,
 
  747                     startAngleBlocco1IORT, 
 
  748                     spanningAngleBlocco1IORT);
 
  751                                   Blocco1IORTMaterialIORT, 
"Blocco1IORT", 0, 0, 0);
 
  754                        "Blocco1IORT", logBlocco1IORT, physicalTreatmentRoom, 
false, 0); 
 
  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;
 
  779   solidGiunz5FinalCollIORT = 
new G4Tubs(
"Giunz5FinalCollIORT", innRadiusGiunz5FinalCollIORT, 
 
  780                     outRadiusGiunz5FinalCollIORT,
 
  781                     hightGiunz5FinalCollIORT, 
 
  782                     startAngleGiunz5FinalCollIORT, 
 
  783                     spanningAngleGiunz5FinalCollIORT);
 
  786                                   Giunz5FinalCollMaterialIORT, 
"Giunz5FinalCollIORT", 0, 0, 0);
 
  789                        "Giunz5FinalCollIORT", logGiunz5FinalCollIORT, physicalTreatmentRoom, 
false, 0); 
 
  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;
 
  804   solidGiunz4FinalCollIORT = 
new G4Tubs(
"Giunz4FinalCollIORT", innRadiusGiunz4FinalCollIORT, 
 
  805                     outRadiusGiunz4FinalCollIORT,
 
  806                     hightGiunz4FinalCollIORT, 
 
  807                     startAngleGiunz4FinalCollIORT, 
 
  808                     spanningAngleGiunz4FinalCollIORT);
 
  811                                   Giunz4FinalCollMaterialIORT, 
"Giunz4FinalCollIORT", 0, 0, 0);
 
  814                        "Giunz4FinalCollIORT", logGiunz4FinalCollIORT, physicalTreatmentRoom, 
false, 0); 
 
  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;
 
  831   solidGiunz3FinalCollIORT = 
new G4Tubs(
"Giunz3FinalCollIORT", innRadiusGiunz3FinalCollIORT, 
 
  832                     outRadiusGiunz3FinalCollIORT,
 
  833                     hightGiunz3FinalCollIORT, 
 
  834                     startAngleGiunz3FinalCollIORT, 
 
  835                     spanningAngleGiunz3FinalCollIORT);
 
  838                                   Giunz3FinalCollMaterialIORT, 
"Giunz3FinalCollIORT", 0, 0, 0);
 
  841                        "Giunz3FinalCollIORT", logicsolidGiunz3FinalCollIORT, physicalTreatmentRoom, 
false, 0); 
 
  843   logicsolidGiunz3FinalCollIORT -> SetVisAttributes(yellow);
 
  854   solidGiunz3FinalCollIntIORT = 
new G4Cons(
"Giunz3FinalCollIntIORT",0.*
mm,13.75*
mm,0.*
mm,22.25*
mm,4.25*
mm,0.*
deg,360.*
deg);
 
  857                                   Giunz3FinalCollMaterialIntIORT, 
"Giunz3FinalCollIntIORT", 0, 0, 0);
 
  859   physiGiunz3FinalCollIntIORT = 
new G4PVPlacement(0, 
G4ThreeVector(0.,0.,0.),
"Giunz3FinalCollIntIORT", logicsolidGiunz3FinalCollIntIORT,physiGiunz3FinalCollIORT, 
false, 0); 
 
  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;
 
  875   solidGiunz2FinalCollIORT = 
new G4Tubs(
"Giunz2FinalCollIORT", innRadiusGiunz2FinalCollIORT, 
 
  876                     outRadiusGiunz2FinalCollIORT,
 
  877                     hightGiunz2FinalCollIORT, 
 
  878                     startAngleGiunz2FinalCollIORT, 
 
  879                     spanningAngleGiunz2FinalCollIORT);
 
  882                                   Giunz2FinalCollMaterialIORT, 
"Giunz2FinalCollIORT", 0, 0, 0);
 
  885                        "Giunz2FinalCollIORT", logGiunz2FinalCollIORT, physicalTreatmentRoom, 
false, 0); 
 
  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;
 
  900   solidGiunz1FinalCollIORT = 
new G4Tubs(
"Giunz1FinalCollIORT", innRadiusGiunz1FinalCollIORT, 
 
  901                     outRadiusGiunz1FinalCollIORT,
 
  902                     hightGiunz1FinalCollIORT, 
 
  903                     startAngleGiunz1FinalCollIORT, 
 
  904                     spanningAngleGiunz1FinalCollIORT);
 
  907                                   Giunz1FinalCollMaterialIORT, 
"Giunz1FinalCollIORT", 0, 0, 0);
 
  910                        "Giunz1FinalCollIORT", logGiunz1FinalCollIORT, physicalTreatmentRoom, 
false, 0); 
 
  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;
 
  939   solidFinalCollimatorIORT = 
new G4Tubs(
"FinalCollimatorIORT", innerRadiusFinalCollimatorIORT, 
 
  940                     OuterRadiusFinalCollimatorIORT,
 
  941                     hightFinalCollimatorIORT, 
 
  942                     startAngleFinalCollimatorIORT, 
 
  943                     spanningAngleFinalCollimatorIORT);
 
  946                                   finalCollimatorMaterialIORT, 
"FinalCollimatorIORT", 0, 0, 0);
 
  949                        "FinalCollimatorIORT", logFinalCollimatorIORT, physicalTreatmentRoom, 
false, 0); 
 
  952   logFinalCollimatorIORT -> SetVisAttributes(darkOrange3);
 
  962   solidFinalCollimatorIORT -> SetInnerRadius(value);
 
  964   G4cout<<
"Inner Radius of the final collimator IORT is (mm):" 
  965     << solidFinalCollimatorIORT -> GetInnerRadius()/
mm 
  973   solidFinalCollimatorIORT -> SetOuterRadius(value);
 
  975   G4cout<<
"Outer Radius of the final collimator IORT is (mm):" 
  976     << solidFinalCollimatorIORT -> GetOuterRadius()/
mm 
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
 
CLHEP::Hep3Vector G4ThreeVector
 
HepRotation & rotateY(double delta)
 
void IortBeamLineFinalCollimator()
 
static G4NistManager * Instance()
 
void IortBeamLineMonitorChambers()
 
void IortBeamLineBlocks()
 
G4GLOB_DLL std::ostream G4cout
 
static G4RunManager * GetRunManager()
 
static const G4VisAttributes Invisible
 
void SetOuterRadiusFinalCollimatorIORT(G4double)
 
void SetInnerRadiusFinalCollimatorIORT(G4double)
 
const XML_Char int const XML_Char * value
 
void IortBeamLineTitaniumWindows()
 
G4Element * FindOrBuildElement(G4int Z, G4bool isotopes=true)
 
void IortBeamLineVacuumSource()
 
G4VPhysicalVolume * Construct()
 
void IortBeamLineJunctions()