Geant4  10.02.p03
Collimator100BeamLine Class Reference

#include <Collimator100BeamLine.hh>

Inheritance diagram for Collimator100BeamLine:
Collaboration diagram for Collimator100BeamLine:

Public Member Functions

 Collimator100BeamLine ()
 
 ~Collimator100BeamLine ()
 
G4VPhysicalVolumeConstruct ()
 
void IortBeamLineVacuumSource ()
 
void IortBeamLineTitaniumWindows ()
 
void IortBeamLineMonitorChambers ()
 
void IortBeamLineBlocks ()
 
void IortBeamLineJunctions ()
 
void IortBeamLineFinalCollimator ()
 
void SetInnerRadiusFinalCollimatorIORT (G4double)
 
void SetOuterRadiusFinalCollimatorIORT (G4double)
 
- Public Member Functions inherited from G4VUserDetectorConstruction
 G4VUserDetectorConstruction ()
 
virtual ~G4VUserDetectorConstruction ()
 
virtual void ConstructSDandField ()
 
virtual void CloneSD ()
 
virtual void CloneF ()
 
void RegisterParallelWorld (G4VUserParallelWorld *)
 
G4int ConstructParallelGeometries ()
 
void ConstructParallelSD ()
 
G4int GetNumberOfParallelWorld () const
 
G4VUserParallelWorldGetParallelWorld (G4int i) const
 

Private Member Functions

void SetDefaultDimensions ()
 
void ConstructCollimator100BeamLine ()
 

Private Attributes

Collimator100BeamLineMessengercollimatorMessenger
 
G4VPhysicalVolumephysicalTreatmentRoom
 
IORTDetectorConstructioniortDetectorConstruction
 
G4VisAttributesblue
 
G4VisAttributesgray
 
G4VisAttributeswhite
 
G4VisAttributesred
 
G4VisAttributesyellow
 
G4VisAttributesgreen
 
G4VisAttributesdarkGreen
 
G4VisAttributesdarkOrange3
 
G4VisAttributesskyBlue
 
G4double innerRadiusFinalCollimatorIORT
 
G4double OuterRadiusFinalCollimatorIORT
 
G4TubssolidFinalCollimatorIORT
 
G4VPhysicalVolumephysiFinalCollimatorIORT
 
G4MaterialfinalCollimatorMaterialIORT
 
G4TubssolidGiunz1FinalCollIORT
 
G4VPhysicalVolumephysiGiunz1FinalCollIORT
 
G4MaterialGiunz1FinalCollMaterialIORT
 
G4TubssolidGiunz2FinalCollIORT
 
G4VPhysicalVolumephysiGiunz2FinalCollIORT
 
G4MaterialGiunz2FinalCollMaterialIORT
 
G4TubssolidGiunz3FinalCollIORT
 
G4VPhysicalVolumephysiGiunz3FinalCollIORT
 
G4MaterialGiunz3FinalCollMaterialIORT
 
G4ConssolidGiunz3FinalCollIntIORT
 
G4MaterialGiunz3FinalCollMaterialIntIORT
 
G4VPhysicalVolumephysiGiunz3FinalCollIntIORT
 
G4TubssolidGiunz4FinalCollIORT
 
G4VPhysicalVolumephysiGiunz4FinalCollIORT
 
G4MaterialGiunz4FinalCollMaterialIORT
 
G4TubssolidGiunz5FinalCollIORT
 
G4VPhysicalVolumephysiGiunz5FinalCollIORT
 
G4MaterialGiunz5FinalCollMaterialIORT
 
G4TubssolidBlocco1IORT
 
G4VPhysicalVolumephysiBlocco1IORT
 
G4MaterialBlocco1IORTMaterialIORT
 
G4TubssolidBlocco2IORT
 
G4VPhysicalVolumephysiBlocco2IORT
 
G4MaterialBlocco2IORTMaterialIORT
 
G4TubssolidBlocco3IORT
 
G4VPhysicalVolumephysiBlocco3IORT
 
G4MaterialBlocco3IORTMaterialIORT
 
G4TubssolidBlocco20mmIORT
 
G4VPhysicalVolumephysiBlocco20mmIORT
 
G4MaterialBlocco20mmIORTMaterialIORT
 
G4TubssolidCM1_1_2IORT
 
G4VPhysicalVolumephysiCM1_1_2IORT
 
G4MaterialCM1_1_2IORTMaterialIORT
 
G4TubssolidCM1_2_2IORT
 
G4VPhysicalVolumephysiCM1_2_2IORT
 
G4MaterialCM1_2_2IORTMaterialIORT
 
G4TubssolidCM2_1_2IORT
 
G4VPhysicalVolumephysiCM2_1_2IORT
 
G4MaterialCM2_1_2IORTMaterialIORT
 
G4TubssolidCM2_2_2IORT
 
G4VPhysicalVolumephysiCM2_2_2IORT
 
G4MaterialCM2_2_2IORTMaterialIORT
 
G4TubssolidCCMIORT
 
G4VPhysicalVolumephysiCCMIORT
 
G4MaterialCCMIORTMaterialIORT
 
G4TubssolidPFS1IORT
 
G4VPhysicalVolumephysiPFS1IORT
 
G4MaterialPFS1IORTMaterialIORT
 
G4TubssolidPFS2IORT
 
G4VPhysicalVolumephysiPFS2IORT
 
G4MaterialPFS2IORTMaterialIORT
 
G4TubssolidPFS3IORT
 
G4VPhysicalVolumephysiPFS3IORT
 
G4MaterialPFS3IORTMaterialIORT
 
G4TubssolidFTIORT
 
G4VPhysicalVolumephysiFTIORT
 
G4MaterialFTIORTMaterialIORT
 
G4TubssolidVSIORT
 
G4VPhysicalVolumephysiVSIORT
 
G4MaterialVSIORTMaterialIORT
 

Additional Inherited Members

- Protected Member Functions inherited from G4VUserDetectorConstruction
void SetSensitiveDetector (const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
 
void SetSensitiveDetector (G4LogicalVolume *logVol, G4VSensitiveDetector *aSD)
 

Detailed Description

Definition at line 58 of file Collimator100BeamLine.hh.

Constructor & Destructor Documentation

◆ Collimator100BeamLine()

Collimator100BeamLine::Collimator100BeamLine ( )

Definition at line 59 of file Collimator100BeamLine.cc.

59  :
61 
62 
65 
68 
71 
74 
77 
80 
83 
86 
89 
92 
95 
98 
100  physiCM1_2_2IORT(0),
101 
102  solidCM2_1_2IORT(0),
103  physiCM2_1_2IORT(0),
104 
105  solidCM2_2_2IORT(0),
106  physiCM2_2_2IORT(0),
107 
108  solidCCMIORT(0),
109  physiCCMIORT(0),
110 
111  solidPFS1IORT(0),
112  physiPFS1IORT(0),
113 
114  solidPFS2IORT(0),
115  physiPFS2IORT(0),
116 
117  solidPFS3IORT(0),
118  physiPFS3IORT(0),
119 
120  solidFTIORT(0),
121  physiFTIORT(0)
122 
123 
124 {
125  // Messenger to change parameters of the collimator100BeamLine geometry
127 
128 }
G4VPhysicalVolume * physiBlocco1IORT
G4VPhysicalVolume * physiGiunz2FinalCollIORT
G4VPhysicalVolume * physiPFS1IORT
G4VPhysicalVolume * physiGiunz5FinalCollIORT
G4VPhysicalVolume * physiGiunz3FinalCollIORT
G4VPhysicalVolume * physicalTreatmentRoom
G4VPhysicalVolume * physiCM2_1_2IORT
G4VPhysicalVolume * physiGiunz4FinalCollIORT
G4VPhysicalVolume * physiCM1_1_2IORT
G4VPhysicalVolume * physiGiunz1FinalCollIORT
G4VPhysicalVolume * physiCM2_2_2IORT
G4VPhysicalVolume * physiBlocco20mmIORT
G4VPhysicalVolume * physiBlocco3IORT
IORTDetectorConstruction * iortDetectorConstruction
G4VPhysicalVolume * physiFTIORT
G4VPhysicalVolume * physiBlocco2IORT
G4VPhysicalVolume * physiCM1_2_2IORT
G4VPhysicalVolume * physiPFS2IORT
Collimator100BeamLineMessenger * collimatorMessenger
G4VPhysicalVolume * physiPFS3IORT
G4VPhysicalVolume * physiCCMIORT
G4VPhysicalVolume * physiGiunz3FinalCollIntIORT
G4VPhysicalVolume * physiFinalCollimatorIORT

◆ ~Collimator100BeamLine()

Collimator100BeamLine::~Collimator100BeamLine ( )

Definition at line 130 of file Collimator100BeamLine.cc.

131 {
132  delete collimatorMessenger;
134 }
IORTDetectorConstruction * iortDetectorConstruction
Collimator100BeamLineMessenger * collimatorMessenger

Member Function Documentation

◆ Construct()

G4VPhysicalVolume * Collimator100BeamLine::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Definition at line 139 of file Collimator100BeamLine.cc.

140 {
141  // Sets default geometry and materials
143 
144  // Construct the whole Collimator Beam Line
146 
147 
148  // IORTDetectorConstruction builds ONLY the phantom and the detector with its associated ROGeometry
150 
151  return physicalTreatmentRoom;
152 }
G4VPhysicalVolume * physicalTreatmentRoom
IORTDetectorConstruction * iortDetectorConstruction
Here is the call graph for this function:

◆ ConstructCollimator100BeamLine()

void Collimator100BeamLine::ConstructCollimator100BeamLine ( )
private

Definition at line 314 of file Collimator100BeamLine.cc.

315 {
316  // -----------------------------
317  // Treatment room - World volume
318  //------------------------------
319  // Treatment room sizes
320  const G4double worldX = 400.0 *cm;
321  const G4double worldY = 400.0 *cm;
322  const G4double worldZ = 400.0 *cm;
323  G4bool isotopes = false;
324 
325  G4Material* airNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_AIR", isotopes);
326  G4Box* treatmentRoom = new G4Box("TreatmentRoom",worldX,worldY,worldZ);
327  G4LogicalVolume* logicTreatmentRoom = new G4LogicalVolume(treatmentRoom,
328  airNist,
329  "logicTreatmentRoom",
330  0,0,0);
332  G4ThreeVector(),
333  "physicalTreatmentRoom",
334  logicTreatmentRoom,
335  0,false,0);
336 
337 
338  // The treatment room is invisible in the Visualisation
339  logicTreatmentRoom -> SetVisAttributes (G4VisAttributes::Invisible);
340 
341  // Components of the Collimator Beam Line
342 
349 
350 }
static const double cm
Definition: G4SIunits.hh:118
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
CLHEP::Hep3Vector G4ThreeVector
Definition: G4Box.hh:64
G4VPhysicalVolume * physicalTreatmentRoom
static G4NistManager * Instance()
bool G4bool
Definition: G4Types.hh:79
static const G4VisAttributes Invisible
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IortBeamLineBlocks()

void Collimator100BeamLine::IortBeamLineBlocks ( )

Definition at line 651 of file Collimator100BeamLine.cc.

652 {
653 
654  G4double phi4 = 90. *deg;
655 
656 
657  G4RotationMatrix rm4;
658  rm4.rotateY(phi4);
659 
661 
662  // IORT BEAM LINE BLOCKS
663 
665 
666  // ------------------------------------------------//
667  // Block 4 //
668  // ------------------------------------------------//
669 
670  const G4double outRadiusBlocco20mmIORT = 36.5 *mm;
671  const G4double innRadiusBlocco20mmIORT = 10. *mm;
672  const G4double hightBlocco20mmIORT = 3. *mm;
673  const G4double startAngleBlocco20mmIORT = 0.*deg;
674  const G4double spanningAngleBlocco20mmIORT = 360.*deg;
675  const G4double XPositionBlocco20mmIORT = -1030. *mm;
676 
677 
678  solidBlocco20mmIORT = new G4Tubs("Blocco20mmIORT", innRadiusBlocco20mmIORT,
679  outRadiusBlocco20mmIORT,
680  hightBlocco20mmIORT,
681  startAngleBlocco20mmIORT,
682  spanningAngleBlocco20mmIORT);
683 
684  G4LogicalVolume* logBlocco20mmIORT = new G4LogicalVolume(solidBlocco20mmIORT,
685  Blocco20mmIORTMaterialIORT, "Blocco20mmIORT", 0, 0, 0);
686 
687  physiBlocco20mmIORT = new G4PVPlacement(G4Transform3D(rm4, G4ThreeVector((XPositionBlocco20mmIORT),0.,0.)),
688  "Blocco20mmORT", logBlocco20mmIORT, physicalTreatmentRoom, false, 0);
689 
690 
691  logBlocco20mmIORT -> SetVisAttributes(green);
692 
693 
694  // -----------------------//
695  // Block 3 //
696  // -----------------------//
697 
698  const G4double outRadiusBlocco3IORT = 36.5 *mm;
699  const G4double innRadiusBlocco3IORT = 15. *mm;
700  const G4double hightBlocco3IORT = 3.5 *mm;
701  const G4double startAngleBlocco3IORT = 0.*deg;
702  const G4double spanningAngleBlocco3IORT = 360.*deg;
703  const G4double XPositionBlocco3IORT = -1023.5 *mm;
704 
705 
706  solidBlocco3IORT = new G4Tubs("Blocco3IORT", innRadiusBlocco3IORT,
707  outRadiusBlocco3IORT,
708  hightBlocco3IORT,
709  startAngleBlocco3IORT,
710  spanningAngleBlocco3IORT);
711 
712  G4LogicalVolume* logBlocco3IORT = new G4LogicalVolume(solidBlocco3IORT,
713  Blocco3IORTMaterialIORT, "Blocco3IORT", 0, 0, 0);
714 
715  physiBlocco3IORT = new G4PVPlacement(G4Transform3D(rm4, G4ThreeVector((XPositionBlocco3IORT),0.,0.)),
716  "Blocco3ORT", logBlocco3IORT, physicalTreatmentRoom, false, 0);
717 
718 
719  logBlocco3IORT -> SetVisAttributes(yellow);
720 
721  // -----------------------//
722  // Block 2 //
723  // -----------------------//
724 
725  const G4double outRadiusBlocco2IORT = 41.5 *mm;
726  const G4double innRadiusBlocco2IORT = 15. *mm;
727  const G4double hightBlocco2IORT = 8. *mm;
728  const G4double startAngleBlocco2IORT = 0.*deg;
729  const G4double spanningAngleBlocco2IORT = 360.*deg;
730  const G4double XPositionBlocco2IORT = -1012. *mm;
731 
732 
733  solidBlocco2IORT = new G4Tubs("Blocco2IORT", innRadiusBlocco2IORT,
734  outRadiusBlocco2IORT,
735  hightBlocco2IORT,
736  startAngleBlocco2IORT,
737  spanningAngleBlocco2IORT);
738 
739  G4LogicalVolume* logBlocco2IORT = new G4LogicalVolume(solidBlocco2IORT,
740  Blocco2IORTMaterialIORT, "Blocco2IORT", 0, 0, 0);
741 
742  physiBlocco2IORT = new G4PVPlacement(G4Transform3D(rm4, G4ThreeVector((XPositionBlocco2IORT),0.,0.)),
743  "Blocco2IORT", logBlocco2IORT, physicalTreatmentRoom, false, 0);
744 
745 
746  logBlocco2IORT -> SetVisAttributes(red);
747 
748  // ----------------------- //
749  // Block 1 //
750  // ----------------------- //
751 
752  const G4double outRadiusBlocco1IORT = 52.0 *mm;
753  const G4double innRadiusBlocco1IORT = 15. *mm;
754  const G4double hightBlocco1IORT = 8.5 *mm;
755  const G4double startAngleBlocco1IORT = 0.*deg;
756  const G4double spanningAngleBlocco1IORT = 360.*deg;
757  const G4double XPositionBlocco1IORT = -995.5*mm;
758 
759 
760  solidBlocco1IORT = new G4Tubs("Blocco1IORT", innRadiusBlocco1IORT,
761  outRadiusBlocco1IORT,
762  hightBlocco1IORT,
763  startAngleBlocco1IORT,
764  spanningAngleBlocco1IORT);
765 
766  G4LogicalVolume* logBlocco1IORT = new G4LogicalVolume(solidBlocco1IORT,
767  Blocco1IORTMaterialIORT, "Blocco1IORT", 0, 0, 0);
768 
769  physiBlocco1IORT = new G4PVPlacement(G4Transform3D(rm4, G4ThreeVector((XPositionBlocco1IORT),0.,0.)),
770  "Blocco1IORT", logBlocco1IORT, physicalTreatmentRoom, false, 0);
771 
772 
773  logBlocco1IORT -> SetVisAttributes(white);
774 
775 }
G4VPhysicalVolume * physiBlocco1IORT
CLHEP::Hep3Vector G4ThreeVector
Definition: G4Tubs.hh:85
HepRotation & rotateY(double delta)
Definition: Rotation.cc:79
G4VPhysicalVolume * physicalTreatmentRoom
static const double deg
Definition: G4SIunits.hh:151
G4VPhysicalVolume * physiBlocco20mmIORT
G4VPhysicalVolume * physiBlocco3IORT
HepGeom::Transform3D G4Transform3D
G4VPhysicalVolume * physiBlocco2IORT
double G4double
Definition: G4Types.hh:76
static const double mm
Definition: G4SIunits.hh:114
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IortBeamLineFinalCollimator()

void Collimator100BeamLine::IortBeamLineFinalCollimator ( )

Definition at line 943 of file Collimator100BeamLine.cc.

944 {
945 // -----------------------//
946  // FINAL COLLIMATOR IORT //
947  //------------------------//
948 
949  // const G4double outRadiusFinalCollimatorIORT = 45. *mm;
950  // const G4double innRadiusFinalCollimatorIORT = 40. *mm;
951  const G4double hightFinalCollimatorIORT = 434. *mm;
952  const G4double startAngleFinalCollimatorIORT = 0.*deg;
953  const G4double spanningAngleFinalCollimatorIORT = 360.*deg;
954  const G4double finalCollimatorXPositionIORT = -489.*mm;
955 
956 
957 
958 
959  G4double phi6 = 90. *deg;
960 
961 
963  rm6.rotateY(phi6);
964 
965 
966  solidFinalCollimatorIORT = new G4Tubs("FinalCollimatorIORT", innerRadiusFinalCollimatorIORT,
968  hightFinalCollimatorIORT,
969  startAngleFinalCollimatorIORT,
970  spanningAngleFinalCollimatorIORT);
971 
972  G4LogicalVolume* logFinalCollimatorIORT = new G4LogicalVolume(solidFinalCollimatorIORT,
973  finalCollimatorMaterialIORT, "FinalCollimatorIORT", 0, 0, 0);
974 
975  physiFinalCollimatorIORT = new G4PVPlacement(G4Transform3D(rm6, G4ThreeVector((finalCollimatorXPositionIORT),0.,0.)),
976  "FinalCollimatorIORT", logFinalCollimatorIORT, physicalTreatmentRoom, false, 0);
977 
978  // logFinalCollimatorIORT -> SetVisAttributes(G4VisAttributes::Invisible);
979  logFinalCollimatorIORT -> SetVisAttributes(darkGreen);
980 
981 }
CLHEP::Hep3Vector G4ThreeVector
Definition: G4Tubs.hh:85
HepRotation & rotateY(double delta)
Definition: Rotation.cc:79
G4VPhysicalVolume * physicalTreatmentRoom
static const double deg
Definition: G4SIunits.hh:151
HepGeom::Transform3D G4Transform3D
double G4double
Definition: G4Types.hh:76
G4Material * finalCollimatorMaterialIORT
static const double mm
Definition: G4SIunits.hh:114
G4VPhysicalVolume * physiFinalCollimatorIORT
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IortBeamLineJunctions()

void Collimator100BeamLine::IortBeamLineJunctions ( )

Definition at line 777 of file Collimator100BeamLine.cc.

778 {
779 
780 
781  G4double phi5 = 90. *deg;
782 
783 
784  G4RotationMatrix rm5;
785  rm5.rotateY(phi5);
786 // --------------------------------- //
787  // Junction 5 FINAL COLLIMATOR IORT //
788  // --------------------------------- //
789 
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;
796 
797 
798 
799  solidGiunz5FinalCollIORT = new G4Tubs("Giunz5FinalCollIORT", innRadiusGiunz5FinalCollIORT,
800  outRadiusGiunz5FinalCollIORT,
801  hightGiunz5FinalCollIORT,
802  startAngleGiunz5FinalCollIORT,
803  spanningAngleGiunz5FinalCollIORT);
804 
805  G4LogicalVolume* logGiunz5FinalCollIORT = new G4LogicalVolume(solidGiunz5FinalCollIORT,
806  Giunz5FinalCollMaterialIORT, "Giunz5FinalCollIORT", 0, 0, 0);
807 
808  physiGiunz5FinalCollIORT = new G4PVPlacement(G4Transform3D(rm5, G4ThreeVector((Giunz5FinalCollXPositionIORT),0.,0.)),
809  "Giunz5FinalCollIORT", logGiunz5FinalCollIORT, physicalTreatmentRoom, false, 0);
810 
811  logGiunz5FinalCollIORT -> SetVisAttributes(yellow);
812 
813 // --------------------------------- //
814  // Junction 4 FINAL COLLIMATOR IORT //
815  // --------------------------------- //
816 
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;
823 
824 
825 
826  solidGiunz4FinalCollIORT = new G4Tubs("Giunz4FinalCollIORT", innRadiusGiunz4FinalCollIORT,
827  outRadiusGiunz4FinalCollIORT,
828  hightGiunz4FinalCollIORT,
829  startAngleGiunz4FinalCollIORT,
830  spanningAngleGiunz4FinalCollIORT);
831 
832  G4LogicalVolume* logGiunz4FinalCollIORT = new G4LogicalVolume(solidGiunz4FinalCollIORT,
833  Giunz4FinalCollMaterialIORT, "Giunz4FinalCollIORT", 0, 0, 0);
834 
835  physiGiunz4FinalCollIORT = new G4PVPlacement(G4Transform3D(rm5, G4ThreeVector((Giunz4FinalCollXPositionIORT),0.,0.)),
836  "Giunz4FinalCollIORT", logGiunz4FinalCollIORT, physicalTreatmentRoom, false, 0);
837 
838  logGiunz4FinalCollIORT -> SetVisAttributes(blue);
839 
840 
841 
842  // --------------------------------- //
843  // Junction 3 FINAL COLLIMATOR IORT //
844  // --------------------------------- //
845 
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;
852 
853 
854  solidGiunz3FinalCollIORT = new G4Tubs("Giunz3FinalCollIORT", innRadiusGiunz3FinalCollIORT,
855  outRadiusGiunz3FinalCollIORT,
856  hightGiunz3FinalCollIORT,
857  startAngleGiunz3FinalCollIORT,
858  spanningAngleGiunz3FinalCollIORT);
859 
860  G4LogicalVolume* logicsolidGiunz3FinalCollIORT = new G4LogicalVolume(solidGiunz3FinalCollIORT,
861  Giunz3FinalCollMaterialIORT, "Giunz3FinalCollIORT", 0, 0, 0);
862 
863  physiGiunz3FinalCollIORT = new G4PVPlacement(G4Transform3D(rm5, G4ThreeVector((Giunz3FinalCollXPositionIORT),0.,0.)),
864  "Giunz3FinalCollIORT", logicsolidGiunz3FinalCollIORT, physicalTreatmentRoom, false, 0);
865 
866  logicsolidGiunz3FinalCollIORT -> SetVisAttributes(yellow);
867  // logicsolidGiunz3FinalCollIORT -> SetVisAttributes (G4VisAttributes::Invisible);
868 
869 
870 
871  // --------------------------------- //
872  // Junction 3 FINAL COLLIMATOR IORT internal //
873  // --------------------------------- //
874 
875 
876 
877  solidGiunz3FinalCollIntIORT = new G4Cons("Giunz3FinalCollIntIORT",0.*mm,13.75*mm,0.*mm,22.25*mm,4.25*mm,0.*deg,360.*deg);
878 
879  G4LogicalVolume* logicsolidGiunz3FinalCollIntIORT = new G4LogicalVolume(solidGiunz3FinalCollIntIORT,
880  Giunz3FinalCollMaterialIntIORT, "Giunz3FinalCollIntIORT", 0, 0, 0);
881 
882  physiGiunz3FinalCollIntIORT = new G4PVPlacement(0, G4ThreeVector(0.,0.,0.),"Giunz3FinalCollIntIORT", logicsolidGiunz3FinalCollIntIORT,physiGiunz3FinalCollIORT, false, 0);
883 
884  logicsolidGiunz3FinalCollIntIORT -> SetVisAttributes(yellow);
885 
886 
887 // --------------------------------- //
888  // Junction 2 FINAL COLLIMATOR IORT //
889  // --------------------------------- //
890 
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;
897 
898 
899 
900  solidGiunz2FinalCollIORT = new G4Tubs("Giunz2FinalCollIORT", innRadiusGiunz2FinalCollIORT,
901  outRadiusGiunz2FinalCollIORT,
902  hightGiunz2FinalCollIORT,
903  startAngleGiunz2FinalCollIORT,
904  spanningAngleGiunz2FinalCollIORT);
905 
906  G4LogicalVolume* logGiunz2FinalCollIORT = new G4LogicalVolume(solidGiunz2FinalCollIORT,
907  Giunz2FinalCollMaterialIORT, "Giunz2FinalCollIORT", 0, 0, 0);
908 
909  physiGiunz2FinalCollIORT = new G4PVPlacement(G4Transform3D(rm5, G4ThreeVector((Giunz2FinalCollXPositionIORT),0.,0.)),
910  "Giunz2FinalCollIORT", logGiunz2FinalCollIORT, physicalTreatmentRoom, false, 0);
911 
912  logGiunz2FinalCollIORT -> SetVisAttributes(red);
913 
914 // --------------------------------- //
915  // Junction 1 FINAL COLLIMATOR IORT //
916  // --------------------------------- //
917 
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;
924 
925 
926 
927  solidGiunz1FinalCollIORT = new G4Tubs("Giunz1FinalCollIORT", innRadiusGiunz1FinalCollIORT,
928  outRadiusGiunz1FinalCollIORT,
929  hightGiunz1FinalCollIORT,
930  startAngleGiunz1FinalCollIORT,
931  spanningAngleGiunz1FinalCollIORT);
932 
933  G4LogicalVolume* logGiunz1FinalCollIORT = new G4LogicalVolume(solidGiunz1FinalCollIORT,
934  Giunz1FinalCollMaterialIORT, "Giunz1FinalCollIORT", 0, 0, 0);
935 
936  physiGiunz1FinalCollIORT = new G4PVPlacement(G4Transform3D(rm5, G4ThreeVector((Giunz1FinalCollXPositionIORT),0.,0.)),
937  "Giunz1FinalCollIORT", logGiunz1FinalCollIORT, physicalTreatmentRoom, false, 0);
938 
939  logGiunz1FinalCollIORT -> SetVisAttributes(gray);
940 
941 }
G4Material * Giunz5FinalCollMaterialIORT
CLHEP::Hep3Vector G4ThreeVector
G4VPhysicalVolume * physiGiunz2FinalCollIORT
G4Material * Giunz4FinalCollMaterialIORT
G4VPhysicalVolume * physiGiunz5FinalCollIORT
Definition: G4Tubs.hh:85
G4VPhysicalVolume * physiGiunz3FinalCollIORT
HepRotation & rotateY(double delta)
Definition: Rotation.cc:79
G4VPhysicalVolume * physicalTreatmentRoom
G4Material * Giunz1FinalCollMaterialIORT
G4VPhysicalVolume * physiGiunz4FinalCollIORT
G4Material * Giunz2FinalCollMaterialIORT
static const double deg
Definition: G4SIunits.hh:151
G4VPhysicalVolume * physiGiunz1FinalCollIORT
Definition: G4Cons.hh:83
HepGeom::Transform3D G4Transform3D
G4Material * Giunz3FinalCollMaterialIORT
double G4double
Definition: G4Types.hh:76
static const double mm
Definition: G4SIunits.hh:114
G4VPhysicalVolume * physiGiunz3FinalCollIntIORT
G4Material * Giunz3FinalCollMaterialIntIORT
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IortBeamLineMonitorChambers()

void Collimator100BeamLine::IortBeamLineMonitorChambers ( )

Definition at line 423 of file Collimator100BeamLine.cc.

424 {
425 
426  G4double phi3 = 90. *deg;
427 
428  // Matrix definition for a 90 deg rotation. Also used for other volumes
430  rm3.rotateY(phi3);
432 
433  // Monitor Chambers System
434 
436 
437 
438  // ---------------------------------------------------------------//
439  // Superior Final Part Monitor Chambers 3 //
440  // ---------------------------------------------------------------//
441 
442  const G4double outRadiusPFS3IORT = 44.75 *mm;
443  const G4double innRadiusPFS3IORT = 17.5 *mm;
444  const G4double hightPFS3IORT = 3.03 *mm;
445  const G4double startAnglePFS3IORT = 0.*deg;
446  const G4double spanningAnglePFS3IORT = 360.*deg;
447  const G4double XPositionPFS3IORT = -1048.755 *mm;
448 
449 
450  solidPFS3IORT = new G4Tubs("PFS3IORT", innRadiusPFS3IORT,
451  outRadiusPFS3IORT,
452  hightPFS3IORT,
453  startAnglePFS3IORT,
454  spanningAnglePFS3IORT);
455 
456  G4LogicalVolume* logPFS3IORT = new G4LogicalVolume(solidPFS3IORT,
457  PFS3IORTMaterialIORT, "PFS3IORT", 0, 0, 0);
458 
459  physiPFS3IORT = new G4PVPlacement(G4Transform3D(rm3, G4ThreeVector((XPositionPFS3IORT),0.,0.)),
460  "PFS3IORT", logPFS3IORT, physicalTreatmentRoom, false, 0);
461 
462  logPFS3IORT -> SetVisAttributes(white);
463 
464 
465  // ---------------------------------------------------------------//
466  // Superior Final Part Monitor Chambers 2 //
467  // ---------------------------------------------------------------//
468 
469  const G4double outRadiusPFS2IORT = 44.75 *mm;
470  const G4double innRadiusPFS2IORT = 10. *mm;
471  const G4double hightPFS2IORT = 1.47 *mm;
472  const G4double startAnglePFS2IORT = 0.*deg;
473  const G4double spanningAnglePFS2IORT = 360.*deg;
474  const G4double XPositionPFS2IORT = -1044.255 *mm;
475 
476 
477  solidPFS2IORT = new G4Tubs("PFS2IORT", innRadiusPFS2IORT,
478  outRadiusPFS2IORT,
479  hightPFS2IORT,
480  startAnglePFS2IORT,
481  spanningAnglePFS2IORT);
482 
483  G4LogicalVolume* logPFS2IORT = new G4LogicalVolume(solidPFS2IORT,
484  PFS2IORTMaterialIORT, "PFS2IORT", 0, 0, 0);
485 
486  physiPFS2IORT = new G4PVPlacement(G4Transform3D(rm3, G4ThreeVector((XPositionPFS2IORT),0.,0.)),
487  "PFS2IORT", logPFS2IORT, physicalTreatmentRoom, false, 0);
488 
489  logPFS2IORT -> SetVisAttributes(green);
490 
491  // ---------------------------------------------------------------//
492  // Superior Final Part Monitor Chambers 1 //
493  // ---------------------------------------------------------------//
494 
495  const G4double outRadiusPFS1IORT = 35. *mm;
496  const G4double innRadiusPFS1IORT = 10. *mm;
497  const G4double hightPFS1IORT = 0.88 *mm;
498  const G4double startAnglePFS1IORT = 0.*deg;
499  const G4double spanningAnglePFS1IORT = 360.*deg;
500  const G4double XPositionPFS1IORT = -1041.905 *mm;
501 
502 
503  solidPFS1IORT = new G4Tubs("PFS1IORT", innRadiusPFS1IORT,
504  outRadiusPFS1IORT,
505  hightPFS1IORT,
506  startAnglePFS1IORT,
507  spanningAnglePFS1IORT);
508 
509  G4LogicalVolume* logPFS1IORT = new G4LogicalVolume(solidPFS1IORT,
510  PFS1IORTMaterialIORT, "PFS1IORT", 0, 0, 0);
511 
512  physiPFS1IORT = new G4PVPlacement(G4Transform3D(rm3, G4ThreeVector((XPositionPFS1IORT),0.,0.)),
513  "PFS1IORT", logPFS1IORT, physicalTreatmentRoom, false, 0);
514 
515  logPFS1IORT -> SetVisAttributes(green);
516 
517  // ------------------------------------------------//
518  // Monitor Chambers Cylinder //
519  // ------------------------------------------------//
520 
521  const G4double outRadiusCCMIORT = 35. *mm;
522  const G4double innRadiusCCMIORT = 10. *mm;
523  const G4double hightCCMIORT = 4.0125 *mm;
524  const G4double startAngleCCMIORT = 0.*deg;
525  const G4double spanningAngleCCMIORT = 360.*deg;
526  const G4double XPositionCCMIORT = -1037.0125 *mm;
527 
528 
529  solidCCMIORT = new G4Tubs("CCMIORT", innRadiusCCMIORT,
530  outRadiusCCMIORT,
531  hightCCMIORT,
532  startAngleCCMIORT,
533  spanningAngleCCMIORT);
534 
535  G4LogicalVolume* logCCMIORT = new G4LogicalVolume(solidCCMIORT,
536  CCMIORTMaterialIORT, "CCMIORT", 0, 0, 0);
537 
538  physiCCMIORT = new G4PVPlacement(G4Transform3D(rm3, G4ThreeVector((XPositionCCMIORT),0.,0.)),
539  "CCMIORT", logCCMIORT, physicalTreatmentRoom, false, 0);
540 
541  logCCMIORT -> SetVisAttributes(green);
542 
543 
544  // ------------------------------------------------//
545  // Second Monitor Chamber Lamina Al 2 of 2 //
546  // ------------------------------------------------//
547 
548  const G4double outRadiusCM2_2_2IORT = 20. *mm;
549  const G4double innRadiusCM2_2_2IORT = 0. *mm;
550  const G4double hightCM2_2_2IORT = 0.025 *mm;
551  const G4double startAngleCM2_2_2IORT = 0.*deg;
552  const G4double spanningAngleCM2_2_2IORT = 360.*deg;
553  const G4double XPositionCM2_2_2IORT = -1041. *mm;
554 
555 
556  solidCM2_2_2IORT = new G4Tubs("CM2_2_2IORT", innRadiusCM2_2_2IORT,
557  outRadiusCM2_2_2IORT,
558  hightCM2_2_2IORT,
559  startAngleCM2_2_2IORT,
560  spanningAngleCM2_2_2IORT);
561 
562  G4LogicalVolume* logCM2_2_2IORT = new G4LogicalVolume(solidCM2_2_2IORT,
563  CM2_2_2IORTMaterialIORT, "CM2_2_2IORT", 0, 0, 0);
564 
565  physiCM2_2_2IORT = new G4PVPlacement(G4Transform3D(rm3, G4ThreeVector((XPositionCM2_2_2IORT),0.,0.)),
566  "CM2_2_2ORT", logCM2_2_2IORT, physicalTreatmentRoom, false, 0);
567 
568  logCM2_2_2IORT -> SetVisAttributes(green);
569 
570 
571 // ------------------------------------------------//
572  // Second Monitor Chamber Lamina Al 1 of 2 //
573  // ------------------------------------------------//
574 
575  const G4double outRadiusCM2_1_2IORT = 20. *mm;
576  const G4double innRadiusCM2_1_2IORT = 0. *mm;
577  const G4double hightCM2_1_2IORT = 0.025 *mm;
578  const G4double startAngleCM2_1_2IORT = 0.*deg;
579  const G4double spanningAngleCM2_1_2IORT = 360.*deg;
580  const G4double XPositionCM2_1_2IORT = -1039. *mm;
581 
582 
583  solidCM2_1_2IORT = new G4Tubs("CM2_1_2IORT", innRadiusCM2_1_2IORT,
584  outRadiusCM2_1_2IORT,
585  hightCM2_1_2IORT,
586  startAngleCM2_1_2IORT,
587  spanningAngleCM2_1_2IORT);
588 
589  G4LogicalVolume* logCM2_1_2IORT = new G4LogicalVolume(solidCM2_1_2IORT,
590  CM2_1_2IORTMaterialIORT, "CM2_1_2IORT", 0, 0, 0);
591 
592  physiCM2_1_2IORT = new G4PVPlacement(G4Transform3D(rm3, G4ThreeVector((XPositionCM2_1_2IORT),0.,0.)),
593  "CM2_1_2ORT", logCM2_1_2IORT, physicalTreatmentRoom, false, 0);
594 
595  logCM2_1_2IORT -> SetVisAttributes(yellow);
596 
597  // ------------------------------------------------//
598  // First Monitor Chamber Lamina Al 2 of 2 //
599  // ------------------------------------------------//
600 
601  const G4double outRadiusCM1_2_2IORT = 20. *mm;
602  const G4double innRadiusCM1_2_2IORT = 0. *mm;
603  const G4double hightCM1_2_2IORT = 0.025 *mm;
604  const G4double startAngleCM1_2_2IORT = 0.*deg;
605  const G4double spanningAngleCM1_2_2IORT = 360.*deg;
606  const G4double XPositionCM1_2_2IORT = -1037. *mm;
607 
608 
609  solidCM1_2_2IORT = new G4Tubs("CM1_2_2IORT", innRadiusCM1_2_2IORT,
610  outRadiusCM1_2_2IORT,
611  hightCM1_2_2IORT,
612  startAngleCM1_2_2IORT,
613  spanningAngleCM1_2_2IORT);
614 
615  G4LogicalVolume* logCM1_2_2IORT = new G4LogicalVolume(solidCM1_2_2IORT,
616  CM1_2_2IORTMaterialIORT, "CM1_2_2IORT", 0, 0, 0);
617 
618  physiCM1_2_2IORT = new G4PVPlacement(G4Transform3D(rm3, G4ThreeVector((XPositionCM1_2_2IORT),0.,0.)),
619  "CM1_2_2ORT", logCM1_2_2IORT, physicalTreatmentRoom, false, 0);
620 
621 
622  logCM1_2_2IORT -> SetVisAttributes(yellow);
623 
624  // ------------------------------------------------//
625  // First Monitor Chamber Lamina Al 1 of 2 //
626  // ------------------------------------------------//
627 
628  const G4double outRadiusCM1_1_2IORT = 20. *mm;
629  const G4double innRadiusCM1_1_2IORT = 0. *mm;
630  const G4double hightCM1_1_2IORT = 0.025 *mm;
631  const G4double startAngleCM1_1_2IORT = 0.*deg;
632  const G4double spanningAngleCM1_1_2IORT = 360.*deg;
633  const G4double XPositionCM1_1_2IORT = -1035. *mm;
634 
635 
636 
637  solidCM1_1_2IORT = new G4Tubs("CM1_1_2IORT", innRadiusCM1_1_2IORT,
638  outRadiusCM1_1_2IORT,
639  hightCM1_1_2IORT,
640  startAngleCM1_1_2IORT,
641  spanningAngleCM1_1_2IORT);
642 
643  G4LogicalVolume* logCM1_1_2IORT = new G4LogicalVolume(solidCM1_1_2IORT,
644  CM1_1_2IORTMaterialIORT, "CM1_1_2IORT", 0, 0, 0);
645 
646  physiCM1_1_2IORT = new G4PVPlacement(G4Transform3D(rm3, G4ThreeVector((XPositionCM1_1_2IORT),0.,0.)),
647  "CM1_1_2ORT", logCM1_1_2IORT, physicalTreatmentRoom, false, 0);
648  logCM1_1_2IORT -> SetVisAttributes(yellow);
649 }
CLHEP::Hep3Vector G4ThreeVector
G4VPhysicalVolume * physiPFS1IORT
Definition: G4Tubs.hh:85
HepRotation & rotateY(double delta)
Definition: Rotation.cc:79
G4VPhysicalVolume * physicalTreatmentRoom
G4VPhysicalVolume * physiCM2_1_2IORT
G4VPhysicalVolume * physiCM1_1_2IORT
static const double deg
Definition: G4SIunits.hh:151
G4VPhysicalVolume * physiCM2_2_2IORT
HepGeom::Transform3D G4Transform3D
G4VPhysicalVolume * physiCM1_2_2IORT
G4VPhysicalVolume * physiPFS2IORT
G4VPhysicalVolume * physiPFS3IORT
double G4double
Definition: G4Types.hh:76
G4VPhysicalVolume * physiCCMIORT
static const double mm
Definition: G4SIunits.hh:114
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IortBeamLineTitaniumWindows()

void Collimator100BeamLine::IortBeamLineTitaniumWindows ( )

Definition at line 387 of file Collimator100BeamLine.cc.

388 {
389 // ---------------------------------------------------------------//
390  // Titanium Window //
391  // ---------------------------------------------------------------//
392 
393  G4double phi2 = 90. *deg;
394 
395 
396  G4RotationMatrix rm2;
397  rm2.rotateY(phi2);
398 
399 
400  const G4double outRadiusFTIORT = 44.75 *mm;
401  const G4double innRadiusFTIORT = 8.5 *mm;
402  const G4double hightFTIORT = 0.006 *mm;
403  const G4double startAngleFTIORT = 0.*deg;
404  const G4double spanningAngleFTIORT = 360.*deg;
405  const G4double XPositionFTIORT = -1061.791 *mm;
406 
407 
408  solidFTIORT = new G4Tubs("FTIORT", innRadiusFTIORT,
409  outRadiusFTIORT,
410  hightFTIORT,
411  startAngleFTIORT,
412  spanningAngleFTIORT);
413 
414  G4LogicalVolume* logFTIORT = new G4LogicalVolume(solidFTIORT,
415  FTIORTMaterialIORT, "FTIORT", 0, 0, 0);
416 
417  physiFTIORT = new G4PVPlacement(G4Transform3D(rm2, G4ThreeVector((XPositionFTIORT),0.,0.)),
418  "FTIORT", logFTIORT, physicalTreatmentRoom, false, 0);
419 
420  logFTIORT -> SetVisAttributes(yellow);
421 }
CLHEP::Hep3Vector G4ThreeVector
Definition: G4Tubs.hh:85
HepRotation & rotateY(double delta)
Definition: Rotation.cc:79
G4VPhysicalVolume * physicalTreatmentRoom
static const double deg
Definition: G4SIunits.hh:151
HepGeom::Transform3D G4Transform3D
G4VPhysicalVolume * physiFTIORT
double G4double
Definition: G4Types.hh:76
static const double mm
Definition: G4SIunits.hh:114
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IortBeamLineVacuumSource()

void Collimator100BeamLine::IortBeamLineVacuumSource ( )

Definition at line 353 of file Collimator100BeamLine.cc.

354 {
355  // ---------------------------------------------------------------//
356  // Vacuum Source //
357  // ---------------------------------------------------------------//
358 
359 
360  G4double phi1 = 90. *deg;
361 
362 
363  G4RotationMatrix rm1;
364  rm1.rotateY(phi1);
365 
366  const G4double outRadiusVSIORT = 44.75 *mm;
367  const G4double innRadiusVSIORT = 0.*mm;
368  const G4double hightVSIORT = 1. *mm;
369  const G4double startAngleVSIORT = 0.*deg;
370  const G4double spanningAngleVSIORT = 360.*deg;
371  const G4double XPositionVSIORT = -1062.797 *mm;
372 
373  solidVSIORT = new G4Tubs("VSIORT", innRadiusVSIORT,
374  outRadiusVSIORT,
375  hightVSIORT,
376  startAngleVSIORT,
377  spanningAngleVSIORT);
378 
379  G4LogicalVolume* logVSIORT = new G4LogicalVolume(solidVSIORT,
380  VSIORTMaterialIORT, "VSIORT", 0, 0, 0);
381 
382  physiVSIORT = new G4PVPlacement(G4Transform3D(rm1, G4ThreeVector((XPositionVSIORT),0.,0.)),
383  "VSIORT", logVSIORT, physicalTreatmentRoom, false, 0);
384  logVSIORT -> SetVisAttributes(green);
385 }
CLHEP::Hep3Vector G4ThreeVector
Definition: G4Tubs.hh:85
HepRotation & rotateY(double delta)
Definition: Rotation.cc:79
G4VPhysicalVolume * physicalTreatmentRoom
static const double deg
Definition: G4SIunits.hh:151
HepGeom::Transform3D G4Transform3D
double G4double
Definition: G4Types.hh:76
static const double mm
Definition: G4SIunits.hh:114
G4VPhysicalVolume * physiVSIORT
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetDefaultDimensions()

void Collimator100BeamLine::SetDefaultDimensions ( )
private

Definition at line 164 of file Collimator100BeamLine.cc.

165 {
166 
167  // Set of coulors that can be used
168  white = new G4VisAttributes( G4Colour());
169  white -> SetVisibility(true);
170  //white -> SetForceSolid(true);
171 
172  blue = new G4VisAttributes(G4Colour(0. ,0. ,1.));
173  blue -> SetVisibility(true);
174  //blue -> SetForceSolid(true);
175 
176  gray = new G4VisAttributes( G4Colour(0.5, 0.5, 0.5 ));
177  gray-> SetVisibility(true);
178  //gray-> SetForceSolid(true);
179 
180  red = new G4VisAttributes(G4Colour(1. ,0. ,0.));
181  red-> SetVisibility(true);
182  //red-> SetForceSolid(true);
183 
184  yellow = new G4VisAttributes(G4Colour(1., 1., 0. ));
185  yellow-> SetVisibility(true);
186  //yellow-> SetForceSolid(true);
187 
188  green = new G4VisAttributes( G4Colour(25/255. , 255/255. , 25/255. ));
189  green -> SetVisibility(true);
190  //green -> SetForceSolid(true);
191 
192  darkGreen = new G4VisAttributes( G4Colour(0/255. , 100/255. , 0/255. ));
193  darkGreen -> SetVisibility(true);
194  //darkGreen -> SetForceSolid(true);
195 
196  darkOrange3 = new G4VisAttributes( G4Colour(205/255. , 102/255. , 000/255. ));
197  darkOrange3 -> SetVisibility(true);
198  //darkOrange3 -> SetForceSolid(true);
199 
200  skyBlue = new G4VisAttributes( G4Colour(135/255. , 206/255. , 235/255. ));
201  skyBlue -> SetVisibility(true);
202  //skyBlue -> SetForceSolid(true);
203 
204 
205 
206  // Geometry FINAL COLLIMATOR DEFAULTS
207 
208  G4double defaultOuterRadiusFinalCollimatorIORT = 55. *mm;
209  OuterRadiusFinalCollimatorIORT = defaultOuterRadiusFinalCollimatorIORT;
210 
211  G4double defaultinnerRadiusFinalCollimatorIORT = 50. *mm;
212  innerRadiusFinalCollimatorIORT = defaultinnerRadiusFinalCollimatorIORT;
213 
214  // DEFAULT DEFINITION OF THE MATERIALS
215  // All elements and compound definition follows the NIST database
216 
217  // ELEMENTS
218  G4bool isotopes = false;
219  G4Material* aluminumNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_Al", isotopes);
220  //G4Material* tantalumNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_Ta", isotopes);
221  //G4Material* copperNistAsMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_Cu", isotopes);
224 
225  // COMPOUND
226  G4Material* airNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_AIR", isotopes);
227  //G4Material* kaptonNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_KAPTON", isotopes);
228  G4Material* galacticNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic", isotopes);
229  G4Material* PMMANist = G4NistManager::Instance()->FindOrBuildMaterial("G4_PLEXIGLASS", isotopes);
230  //G4Material* mylarNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_MYLAR", isotopes);
231  G4Material* titanioNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_Ti", isotopes);
232 
233 
234  G4double d; // Density
235  G4int nComponents;// Number of components
236  G4double fractionmass; // Fraction in mass of an element in a material
237 
238  d = 8.40*g/cm3; // brass
239  nComponents = 2;
240  G4Material* brass = new G4Material("Brass", d, nComponents);
241  brass -> AddElement(zincNist, fractionmass = 30 *perCent);
242  brass -> AddElement(copperNist, fractionmass = 70 *perCent);
243 
244 
245  // MATERIAL ASSIGNMENT
246 
247 
248  // Material of the FINAL COLLIMATOR IORT
249  finalCollimatorMaterialIORT = PMMANist;
250 
251  // Junction 1 FINAL COLLIMATOR IORT
252  Giunz1FinalCollMaterialIORT = PMMANist;
253 
254  // Junction 2 FINAL COLLIMATOR IORT
255  Giunz2FinalCollMaterialIORT = PMMANist;
256 
257  // Junction 3 FINAL COLLIMATOR IORT
258  Giunz3FinalCollMaterialIORT = PMMANist;
259 
260  // Junction 3 FINAL COLLIMATOR Int IORT
262 
263  // Junction 4 FINAL COLLIMATOR IORT
264  Giunz4FinalCollMaterialIORT = PMMANist;
265 
266  // Junction 5 FINAL COLLIMATOR IORT
267  Giunz5FinalCollMaterialIORT = PMMANist;
268 
269  // Block 1 Diameter 30 mm
270  Blocco1IORTMaterialIORT = PMMANist;
271 
272  // Block 2 Diameter 30 mm
273  Blocco2IORTMaterialIORT = PMMANist;
274 
275  // Block 3 Diameter 30 mm
276  Blocco3IORTMaterialIORT = PMMANist;
277 
278  // Block Diameter 20 mm
279  Blocco20mmIORTMaterialIORT = PMMANist;
280 
281  // First Monitor Chamber Lamina Al 1 of 2
282  CM1_1_2IORTMaterialIORT = aluminumNist;
283 
284  // First Monitor Chamber Lamina Al 2 of 2
285  CM1_2_2IORTMaterialIORT = aluminumNist;
286 
287  // Second Monitor Chamber Lamina Al 1 of 2
288  CM2_1_2IORTMaterialIORT = aluminumNist;
289 
290  // Second Monitor Chamber Lamina Al 2 of 2
291  CM2_2_2IORTMaterialIORT = aluminumNist;
292 
293  // Monitor Chamber Cylinder
294  CCMIORTMaterialIORT = PMMANist;
295 
296  // Superior Final Part Monitor Chambers
297  PFS1IORTMaterialIORT = PMMANist;
298 
299  // Superior Final Part Monitor Chambers
300  PFS2IORTMaterialIORT = PMMANist;
301 
302  // Superior Final Part Monitor Chambers
303  PFS3IORTMaterialIORT = PMMANist;
304 
305  // Superior Final Part Monitor Chambers Material
306  FTIORTMaterialIORT = titanioNist;
307 
308  // Vacuum Source
309  VSIORTMaterialIORT = galacticNist;
310 
311 }
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
G4Material * Giunz5FinalCollMaterialIORT
Float_t d
G4Material * Giunz4FinalCollMaterialIORT
G4int nComponents
Definition: TRTMaterials.hh:41
int G4int
Definition: G4Types.hh:78
static G4NistManager * Instance()
function g(Y1, Y2, PT2)
Definition: hijing1.383.f:5206
G4Material * Giunz1FinalCollMaterialIORT
G4Material * Giunz2FinalCollMaterialIORT
bool G4bool
Definition: G4Types.hh:79
static const double cm3
Definition: G4SIunits.hh:120
static const double perCent
Definition: G4SIunits.hh:329
G4Material * Giunz3FinalCollMaterialIORT
double G4double
Definition: G4Types.hh:76
G4Element * FindOrBuildElement(G4int Z, G4bool isotopes=true)
G4Material * finalCollimatorMaterialIORT
Air AddElement(elN,.7)
static const double mm
Definition: G4SIunits.hh:114
G4Material * Giunz3FinalCollMaterialIntIORT
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetInnerRadiusFinalCollimatorIORT()

void Collimator100BeamLine::SetInnerRadiusFinalCollimatorIORT ( G4double  value)

Definition at line 988 of file Collimator100BeamLine.cc.

989 {
990  solidFinalCollimatorIORT -> SetInnerRadius(value);
992  G4cout<<"Inner Radius of the final collimator IORT is (mm):"
993  << solidFinalCollimatorIORT -> GetInnerRadius()/mm
994  << G4endl;
995 }
G4GLOB_DLL std::ostream G4cout
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:79
#define G4endl
Definition: G4ios.hh:61
static const double mm
Definition: G4SIunits.hh:114
Here is the call graph for this function:

◆ SetOuterRadiusFinalCollimatorIORT()

void Collimator100BeamLine::SetOuterRadiusFinalCollimatorIORT ( G4double  value)

Definition at line 999 of file Collimator100BeamLine.cc.

1000 {
1001  solidFinalCollimatorIORT -> SetOuterRadius(value);
1003  G4cout<<"Outer Radius of the final collimator IORT is (mm):"
1004  << solidFinalCollimatorIORT -> GetOuterRadius()/mm
1005  << G4endl;
1006 }
G4GLOB_DLL std::ostream G4cout
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:79
#define G4endl
Definition: G4ios.hh:61
static const double mm
Definition: G4SIunits.hh:114
Here is the call graph for this function:

Member Data Documentation

◆ Blocco1IORTMaterialIORT

G4Material* Collimator100BeamLine::Blocco1IORTMaterialIORT
private

Definition at line 151 of file Collimator100BeamLine.hh.

◆ Blocco20mmIORTMaterialIORT

G4Material* Collimator100BeamLine::Blocco20mmIORTMaterialIORT
private

Definition at line 166 of file Collimator100BeamLine.hh.

◆ Blocco2IORTMaterialIORT

G4Material* Collimator100BeamLine::Blocco2IORTMaterialIORT
private

Definition at line 156 of file Collimator100BeamLine.hh.

◆ Blocco3IORTMaterialIORT

G4Material* Collimator100BeamLine::Blocco3IORTMaterialIORT
private

Definition at line 161 of file Collimator100BeamLine.hh.

◆ blue

G4VisAttributes* Collimator100BeamLine::blue
private

Definition at line 101 of file Collimator100BeamLine.hh.

◆ CCMIORTMaterialIORT

G4Material* Collimator100BeamLine::CCMIORTMaterialIORT
private

Definition at line 191 of file Collimator100BeamLine.hh.

◆ CM1_1_2IORTMaterialIORT

G4Material* Collimator100BeamLine::CM1_1_2IORTMaterialIORT
private

Definition at line 171 of file Collimator100BeamLine.hh.

◆ CM1_2_2IORTMaterialIORT

G4Material* Collimator100BeamLine::CM1_2_2IORTMaterialIORT
private

Definition at line 176 of file Collimator100BeamLine.hh.

◆ CM2_1_2IORTMaterialIORT

G4Material* Collimator100BeamLine::CM2_1_2IORTMaterialIORT
private

Definition at line 181 of file Collimator100BeamLine.hh.

◆ CM2_2_2IORTMaterialIORT

G4Material* Collimator100BeamLine::CM2_2_2IORTMaterialIORT
private

Definition at line 186 of file Collimator100BeamLine.hh.

◆ collimatorMessenger

Collimator100BeamLineMessenger* Collimator100BeamLine::collimatorMessenger
private

Definition at line 97 of file Collimator100BeamLine.hh.

◆ darkGreen

G4VisAttributes* Collimator100BeamLine::darkGreen
private

Definition at line 107 of file Collimator100BeamLine.hh.

◆ darkOrange3

G4VisAttributes* Collimator100BeamLine::darkOrange3
private

Definition at line 108 of file Collimator100BeamLine.hh.

◆ finalCollimatorMaterialIORT

G4Material* Collimator100BeamLine::finalCollimatorMaterialIORT
private

Definition at line 116 of file Collimator100BeamLine.hh.

◆ FTIORTMaterialIORT

G4Material* Collimator100BeamLine::FTIORTMaterialIORT
private

Definition at line 211 of file Collimator100BeamLine.hh.

◆ Giunz1FinalCollMaterialIORT

G4Material* Collimator100BeamLine::Giunz1FinalCollMaterialIORT
private

Definition at line 121 of file Collimator100BeamLine.hh.

◆ Giunz2FinalCollMaterialIORT

G4Material* Collimator100BeamLine::Giunz2FinalCollMaterialIORT
private

Definition at line 126 of file Collimator100BeamLine.hh.

◆ Giunz3FinalCollMaterialIntIORT

G4Material* Collimator100BeamLine::Giunz3FinalCollMaterialIntIORT
private

Definition at line 135 of file Collimator100BeamLine.hh.

◆ Giunz3FinalCollMaterialIORT

G4Material* Collimator100BeamLine::Giunz3FinalCollMaterialIORT
private

Definition at line 131 of file Collimator100BeamLine.hh.

◆ Giunz4FinalCollMaterialIORT

G4Material* Collimator100BeamLine::Giunz4FinalCollMaterialIORT
private

Definition at line 141 of file Collimator100BeamLine.hh.

◆ Giunz5FinalCollMaterialIORT

G4Material* Collimator100BeamLine::Giunz5FinalCollMaterialIORT
private

Definition at line 146 of file Collimator100BeamLine.hh.

◆ gray

G4VisAttributes* Collimator100BeamLine::gray
private

Definition at line 102 of file Collimator100BeamLine.hh.

◆ green

G4VisAttributes* Collimator100BeamLine::green
private

Definition at line 106 of file Collimator100BeamLine.hh.

◆ innerRadiusFinalCollimatorIORT

G4double Collimator100BeamLine::innerRadiusFinalCollimatorIORT
private

Definition at line 112 of file Collimator100BeamLine.hh.

◆ iortDetectorConstruction

IORTDetectorConstruction* Collimator100BeamLine::iortDetectorConstruction
private

Definition at line 99 of file Collimator100BeamLine.hh.

◆ OuterRadiusFinalCollimatorIORT

G4double Collimator100BeamLine::OuterRadiusFinalCollimatorIORT
private

Definition at line 113 of file Collimator100BeamLine.hh.

◆ PFS1IORTMaterialIORT

G4Material* Collimator100BeamLine::PFS1IORTMaterialIORT
private

Definition at line 196 of file Collimator100BeamLine.hh.

◆ PFS2IORTMaterialIORT

G4Material* Collimator100BeamLine::PFS2IORTMaterialIORT
private

Definition at line 201 of file Collimator100BeamLine.hh.

◆ PFS3IORTMaterialIORT

G4Material* Collimator100BeamLine::PFS3IORTMaterialIORT
private

Definition at line 206 of file Collimator100BeamLine.hh.

◆ physiBlocco1IORT

G4VPhysicalVolume* Collimator100BeamLine::physiBlocco1IORT
private

Definition at line 150 of file Collimator100BeamLine.hh.

◆ physiBlocco20mmIORT

G4VPhysicalVolume* Collimator100BeamLine::physiBlocco20mmIORT
private

Definition at line 165 of file Collimator100BeamLine.hh.

◆ physiBlocco2IORT

G4VPhysicalVolume* Collimator100BeamLine::physiBlocco2IORT
private

Definition at line 155 of file Collimator100BeamLine.hh.

◆ physiBlocco3IORT

G4VPhysicalVolume* Collimator100BeamLine::physiBlocco3IORT
private

Definition at line 160 of file Collimator100BeamLine.hh.

◆ physicalTreatmentRoom

G4VPhysicalVolume* Collimator100BeamLine::physicalTreatmentRoom
private

Definition at line 98 of file Collimator100BeamLine.hh.

◆ physiCCMIORT

G4VPhysicalVolume* Collimator100BeamLine::physiCCMIORT
private

Definition at line 190 of file Collimator100BeamLine.hh.

◆ physiCM1_1_2IORT

G4VPhysicalVolume* Collimator100BeamLine::physiCM1_1_2IORT
private

Definition at line 170 of file Collimator100BeamLine.hh.

◆ physiCM1_2_2IORT

G4VPhysicalVolume* Collimator100BeamLine::physiCM1_2_2IORT
private

Definition at line 175 of file Collimator100BeamLine.hh.

◆ physiCM2_1_2IORT

G4VPhysicalVolume* Collimator100BeamLine::physiCM2_1_2IORT
private

Definition at line 180 of file Collimator100BeamLine.hh.

◆ physiCM2_2_2IORT

G4VPhysicalVolume* Collimator100BeamLine::physiCM2_2_2IORT
private

Definition at line 185 of file Collimator100BeamLine.hh.

◆ physiFinalCollimatorIORT

G4VPhysicalVolume* Collimator100BeamLine::physiFinalCollimatorIORT
private

Definition at line 115 of file Collimator100BeamLine.hh.

◆ physiFTIORT

G4VPhysicalVolume* Collimator100BeamLine::physiFTIORT
private

Definition at line 210 of file Collimator100BeamLine.hh.

◆ physiGiunz1FinalCollIORT

G4VPhysicalVolume* Collimator100BeamLine::physiGiunz1FinalCollIORT
private

Definition at line 120 of file Collimator100BeamLine.hh.

◆ physiGiunz2FinalCollIORT

G4VPhysicalVolume* Collimator100BeamLine::physiGiunz2FinalCollIORT
private

Definition at line 125 of file Collimator100BeamLine.hh.

◆ physiGiunz3FinalCollIntIORT

G4VPhysicalVolume* Collimator100BeamLine::physiGiunz3FinalCollIntIORT
private

Definition at line 136 of file Collimator100BeamLine.hh.

◆ physiGiunz3FinalCollIORT

G4VPhysicalVolume* Collimator100BeamLine::physiGiunz3FinalCollIORT
private

Definition at line 130 of file Collimator100BeamLine.hh.

◆ physiGiunz4FinalCollIORT

G4VPhysicalVolume* Collimator100BeamLine::physiGiunz4FinalCollIORT
private

Definition at line 140 of file Collimator100BeamLine.hh.

◆ physiGiunz5FinalCollIORT

G4VPhysicalVolume* Collimator100BeamLine::physiGiunz5FinalCollIORT
private

Definition at line 145 of file Collimator100BeamLine.hh.

◆ physiPFS1IORT

G4VPhysicalVolume* Collimator100BeamLine::physiPFS1IORT
private

Definition at line 195 of file Collimator100BeamLine.hh.

◆ physiPFS2IORT

G4VPhysicalVolume* Collimator100BeamLine::physiPFS2IORT
private

Definition at line 200 of file Collimator100BeamLine.hh.

◆ physiPFS3IORT

G4VPhysicalVolume* Collimator100BeamLine::physiPFS3IORT
private

Definition at line 205 of file Collimator100BeamLine.hh.

◆ physiVSIORT

G4VPhysicalVolume* Collimator100BeamLine::physiVSIORT
private

Definition at line 215 of file Collimator100BeamLine.hh.

◆ red

G4VisAttributes* Collimator100BeamLine::red
private

Definition at line 104 of file Collimator100BeamLine.hh.

◆ skyBlue

G4VisAttributes* Collimator100BeamLine::skyBlue
private

Definition at line 109 of file Collimator100BeamLine.hh.

◆ solidBlocco1IORT

G4Tubs* Collimator100BeamLine::solidBlocco1IORT
private

Definition at line 149 of file Collimator100BeamLine.hh.

◆ solidBlocco20mmIORT

G4Tubs* Collimator100BeamLine::solidBlocco20mmIORT
private

Definition at line 164 of file Collimator100BeamLine.hh.

◆ solidBlocco2IORT

G4Tubs* Collimator100BeamLine::solidBlocco2IORT
private

Definition at line 154 of file Collimator100BeamLine.hh.

◆ solidBlocco3IORT

G4Tubs* Collimator100BeamLine::solidBlocco3IORT
private

Definition at line 159 of file Collimator100BeamLine.hh.

◆ solidCCMIORT

G4Tubs* Collimator100BeamLine::solidCCMIORT
private

Definition at line 189 of file Collimator100BeamLine.hh.

◆ solidCM1_1_2IORT

G4Tubs* Collimator100BeamLine::solidCM1_1_2IORT
private

Definition at line 169 of file Collimator100BeamLine.hh.

◆ solidCM1_2_2IORT

G4Tubs* Collimator100BeamLine::solidCM1_2_2IORT
private

Definition at line 174 of file Collimator100BeamLine.hh.

◆ solidCM2_1_2IORT

G4Tubs* Collimator100BeamLine::solidCM2_1_2IORT
private

Definition at line 179 of file Collimator100BeamLine.hh.

◆ solidCM2_2_2IORT

G4Tubs* Collimator100BeamLine::solidCM2_2_2IORT
private

Definition at line 184 of file Collimator100BeamLine.hh.

◆ solidFinalCollimatorIORT

G4Tubs* Collimator100BeamLine::solidFinalCollimatorIORT
private

Definition at line 114 of file Collimator100BeamLine.hh.

◆ solidFTIORT

G4Tubs* Collimator100BeamLine::solidFTIORT
private

Definition at line 209 of file Collimator100BeamLine.hh.

◆ solidGiunz1FinalCollIORT

G4Tubs* Collimator100BeamLine::solidGiunz1FinalCollIORT
private

Definition at line 119 of file Collimator100BeamLine.hh.

◆ solidGiunz2FinalCollIORT

G4Tubs* Collimator100BeamLine::solidGiunz2FinalCollIORT
private

Definition at line 124 of file Collimator100BeamLine.hh.

◆ solidGiunz3FinalCollIntIORT

G4Cons* Collimator100BeamLine::solidGiunz3FinalCollIntIORT
private

Definition at line 134 of file Collimator100BeamLine.hh.

◆ solidGiunz3FinalCollIORT

G4Tubs* Collimator100BeamLine::solidGiunz3FinalCollIORT
private

Definition at line 129 of file Collimator100BeamLine.hh.

◆ solidGiunz4FinalCollIORT

G4Tubs* Collimator100BeamLine::solidGiunz4FinalCollIORT
private

Definition at line 139 of file Collimator100BeamLine.hh.

◆ solidGiunz5FinalCollIORT

G4Tubs* Collimator100BeamLine::solidGiunz5FinalCollIORT
private

Definition at line 144 of file Collimator100BeamLine.hh.

◆ solidPFS1IORT

G4Tubs* Collimator100BeamLine::solidPFS1IORT
private

Definition at line 194 of file Collimator100BeamLine.hh.

◆ solidPFS2IORT

G4Tubs* Collimator100BeamLine::solidPFS2IORT
private

Definition at line 199 of file Collimator100BeamLine.hh.

◆ solidPFS3IORT

G4Tubs* Collimator100BeamLine::solidPFS3IORT
private

Definition at line 204 of file Collimator100BeamLine.hh.

◆ solidVSIORT

G4Tubs* Collimator100BeamLine::solidVSIORT
private

Definition at line 214 of file Collimator100BeamLine.hh.

◆ VSIORTMaterialIORT

G4Material* Collimator100BeamLine::VSIORTMaterialIORT
private

Definition at line 216 of file Collimator100BeamLine.hh.

◆ white

G4VisAttributes* Collimator100BeamLine::white
private

Definition at line 103 of file Collimator100BeamLine.hh.

◆ yellow

G4VisAttributes* Collimator100BeamLine::yellow
private

Definition at line 105 of file Collimator100BeamLine.hh.


The documentation for this class was generated from the following files: