Geant4  10.02.p03
Collimator40BeamLine Class Reference

#include <Collimator40BeamLine.hh>

Inheritance diagram for Collimator40BeamLine:
Collaboration diagram for Collimator40BeamLine:

Public Member Functions

 Collimator40BeamLine ()
 
 ~Collimator40BeamLine ()
 
G4VPhysicalVolume * Construct ()
 
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
 
G4VUserParallelWorld * GetParallelWorld (G4int i) const
 

Private Member Functions

void SetDefaultDimensions ()
 
void ConstructCollimator40BeamLine ()
 

Private Attributes

Collimator40BeamLineMessenger * collimatorMessenger
 
G4VPhysicalVolume * physicalTreatmentRoom
 
IORTDetectorConstruction * iortDetectorConstruction
 
G4VisAttributes * blue
 
G4VisAttributes * gray
 
G4VisAttributes * white
 
G4VisAttributes * red
 
G4VisAttributes * yellow
 
G4VisAttributes * green
 
G4VisAttributes * darkGreen
 
G4VisAttributes * darkOrange3
 
G4VisAttributes * skyBlue
 
G4double innerRadiusFinalCollimatorIORT
 
G4double OuterRadiusFinalCollimatorIORT
 
G4Tubs * solidFinalCollimatorIORT
 
G4VPhysicalVolume * physiFinalCollimatorIORT
 
G4Material * finalCollimatorMaterialIORT
 
G4Material * Giunz1FinalCollMaterialIORT
 
G4Material * Giunz2FinalCollMaterialIORT
 
G4Tubs * solidGiunz3FinalCollIORT
 
G4VPhysicalVolume * physiGiunz3FinalCollIORT
 
G4Material * Giunz3FinalCollMaterialIORT
 
G4Cons * solidGiunz3FinalCollIntIORT
 
G4Material * Giunz3FinalCollMaterialIntIORT
 
G4VPhysicalVolume * physiGiunz3FinalCollIntIORT
 
G4Tubs * solidGiunz4FinalCollIORT
 
G4VPhysicalVolume * physiGiunz4FinalCollIORT
 
G4Material * Giunz4FinalCollMaterialIORT
 
G4Tubs * solidGiunz5FinalCollIORT
 
G4VPhysicalVolume * physiGiunz5FinalCollIORT
 
G4Material * Giunz5FinalCollMaterialIORT
 
G4Tubs * solidBlocco1IORT
 
G4VPhysicalVolume * physiBlocco1IORT
 
G4Material * Blocco1IORTMaterialIORT
 
G4Tubs * solidBlocco2IORT
 
G4VPhysicalVolume * physiBlocco2IORT
 
G4Material * Blocco2IORTMaterialIORT
 
G4Tubs * solidBlocco3IORT
 
G4VPhysicalVolume * physiBlocco3IORT
 
G4Material * Blocco3IORTMaterialIORT
 
G4Tubs * solidBlocco20mmIORT
 
G4VPhysicalVolume * physiBlocco20mmIORT
 
G4Material * Blocco20mmIORTMaterialIORT
 
G4Tubs * solidCM1_1_2IORT
 
G4VPhysicalVolume * physiCM1_1_2IORT
 
G4Material * CM1_1_2IORTMaterialIORT
 
G4Tubs * solidCM1_2_2IORT
 
G4VPhysicalVolume * physiCM1_2_2IORT
 
G4Material * CM1_2_2IORTMaterialIORT
 
G4Tubs * solidCM2_1_2IORT
 
G4VPhysicalVolume * physiCM2_1_2IORT
 
G4Material * CM2_1_2IORTMaterialIORT
 
G4Tubs * solidCM2_2_2IORT
 
G4VPhysicalVolume * physiCM2_2_2IORT
 
G4Material * CM2_2_2IORTMaterialIORT
 
G4Tubs * solidCCMIORT
 
G4VPhysicalVolume * physiCCMIORT
 
G4Material * CCMIORTMaterialIORT
 
G4Tubs * solidPFS1IORT
 
G4VPhysicalVolume * physiPFS1IORT
 
G4Material * PFS1IORTMaterialIORT
 
G4Tubs * solidPFS2IORT
 
G4VPhysicalVolume * physiPFS2IORT
 
G4Material * PFS2IORTMaterialIORT
 
G4Tubs * solidPFS3IORT
 
G4VPhysicalVolume * physiPFS3IORT
 
G4Material * PFS3IORTMaterialIORT
 
G4Tubs * solidFTIORT
 
G4VPhysicalVolume * physiFTIORT
 
G4Material * FTIORTMaterialIORT
 
G4Tubs * solidVSIORT
 
G4VPhysicalVolume * physiVSIORT
 
G4Material * VSIORTMaterialIORT
 

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 Collimator40BeamLine.hh.

Constructor & Destructor Documentation

◆ Collimator40BeamLine()

Collimator40BeamLine::Collimator40BeamLine ( )

Definition at line 59 of file Collimator40BeamLine.cc.

59  :
61 
62 
63 
66 
69 
72 
75 
78 
81 
84 
87 
90 
93 
96 
99 
100  solidCM2_2_2IORT(0),
101  physiCM2_2_2IORT(0),
102 
103  solidCCMIORT(0),
104  physiCCMIORT(0),
105 
106  solidPFS1IORT(0),
107  physiPFS1IORT(0),
108 
109  solidPFS2IORT(0),
110  physiPFS2IORT(0),
111 
112  solidPFS3IORT(0),
113  physiPFS3IORT(0),
114 
115  solidFTIORT(0),
116  physiFTIORT(0)
117 
118 
119 {
120  // Messenger to change parameters of the collimator40BeamLine geometry
122 
123 }
G4VPhysicalVolume * physiGiunz5FinalCollIORT
G4VPhysicalVolume * physiCM2_2_2IORT
G4VPhysicalVolume * physiPFS2IORT
G4VPhysicalVolume * physiGiunz4FinalCollIORT
G4VPhysicalVolume * physiFTIORT
G4VPhysicalVolume * physiGiunz3FinalCollIORT
G4VPhysicalVolume * physiGiunz3FinalCollIntIORT
G4VPhysicalVolume * physiCM2_1_2IORT
G4VPhysicalVolume * physiFinalCollimatorIORT
G4VPhysicalVolume * physiCM1_1_2IORT
G4VPhysicalVolume * physiBlocco1IORT
G4VPhysicalVolume * physiCCMIORT
G4VPhysicalVolume * physiBlocco20mmIORT
Collimator40BeamLineMessenger * collimatorMessenger
G4VPhysicalVolume * physicalTreatmentRoom
G4VPhysicalVolume * physiBlocco2IORT
G4VPhysicalVolume * physiPFS1IORT
G4VPhysicalVolume * physiBlocco3IORT
G4VPhysicalVolume * physiPFS3IORT
IORTDetectorConstruction * iortDetectorConstruction
G4VPhysicalVolume * physiCM1_2_2IORT

◆ ~Collimator40BeamLine()

Collimator40BeamLine::~Collimator40BeamLine ( )

Definition at line 125 of file Collimator40BeamLine.cc.

126 {
127  delete collimatorMessenger;
129 }
Collimator40BeamLineMessenger * collimatorMessenger
IORTDetectorConstruction * iortDetectorConstruction

Member Function Documentation

◆ Construct()

G4VPhysicalVolume * Collimator40BeamLine::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Definition at line 134 of file Collimator40BeamLine.cc.

135 {
136  // Sets default geometry and materials
138 
139  // Construct the whole Collimator Beam Line
141 
142  // IORTDetectorConstruction builds ONLY the phantom and the detector with its associated ROGeometry
144 
145  return physicalTreatmentRoom;
146 }
G4VPhysicalVolume * physicalTreatmentRoom
IORTDetectorConstruction * iortDetectorConstruction
Here is the call graph for this function:

◆ ConstructCollimator40BeamLine()

void Collimator40BeamLine::ConstructCollimator40BeamLine ( )
private

Definition at line 306 of file Collimator40BeamLine.cc.

307 {
308  // -----------------------------
309  // Treatment room - World volume
310  //------------------------------
311  // Treatment room sizes
312  const G4double worldX = 400.0 *cm;
313  const G4double worldY = 400.0 *cm;
314  const G4double worldZ = 400.0 *cm;
315  G4bool isotopes = false;
316 
317  G4Material* airNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_AIR", isotopes);
318  G4Box* treatmentRoom = new G4Box("TreatmentRoom",worldX,worldY,worldZ);
319  G4LogicalVolume* logicTreatmentRoom = new G4LogicalVolume(treatmentRoom,
320  airNist,
321  "logicTreatmentRoom",
322  0,0,0);
324  G4ThreeVector(),
325  "physicalTreatmentRoom",
326  logicTreatmentRoom,
327  0,false,0);
328 
329 
330  // The treatment room is invisible in the Visualisation
331  logicTreatmentRoom -> SetVisAttributes (G4VisAttributes::Invisible);
332 
333  // Components of the Collimator Beam Line
334 
341 
342 }
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
static G4NistManager * Instance()
bool G4bool
Definition: G4Types.hh:79
static const G4VisAttributes Invisible
G4VPhysicalVolume * physicalTreatmentRoom
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IortBeamLineBlocks()

void Collimator40BeamLine::IortBeamLineBlocks ( )

Definition at line 642 of file Collimator40BeamLine.cc.

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

◆ IortBeamLineFinalCollimator()

void Collimator40BeamLine::IortBeamLineFinalCollimator ( )

Definition at line 871 of file Collimator40BeamLine.cc.

872 {
873 // -----------------------//
874  // FINAL COLLIMATOR IORT //
875  //------------------------//
876 
877  // const G4double outRadiusFinalCollimatorIORT = 35. *mm;
878  // const G4double innRadiusFinalCollimatorIORT = 30. *mm;
879  const G4double hightFinalCollimatorIORT = 349.75 *mm;
880  const G4double startAngleFinalCollimatorIORT = 0.*deg;
881  const G4double spanningAngleFinalCollimatorIORT = 360.*deg;
882  const G4double finalCollimatorXPositionIORT = -404.75 *mm;
883 
884  G4double phi6 = 90. *deg;
885 
886 
888  rm6.rotateY(phi6);
889 
890 
891  solidFinalCollimatorIORT = new G4Tubs("FinalCollimatorIORT", innerRadiusFinalCollimatorIORT,
893  hightFinalCollimatorIORT,
894  startAngleFinalCollimatorIORT,
895  spanningAngleFinalCollimatorIORT);
896 
897  G4LogicalVolume* logFinalCollimatorIORT = new G4LogicalVolume(solidFinalCollimatorIORT,
898  finalCollimatorMaterialIORT, "FinalCollimatorIORT", 0, 0, 0);
899 
900  physiFinalCollimatorIORT = new G4PVPlacement(G4Transform3D(rm6, G4ThreeVector((finalCollimatorXPositionIORT),0.,0.)),
901  "FinalCollimatorIORT", logFinalCollimatorIORT, physicalTreatmentRoom, false, 0);
902 
903  // logFinalCollimatorIORT -> SetVisAttributes(G4VisAttributes::Invisible);
904  logFinalCollimatorIORT -> SetVisAttributes(green);
905 
906 }
CLHEP::Hep3Vector G4ThreeVector
Definition: G4Tubs.hh:85
HepRotation & rotateY(double delta)
Definition: Rotation.cc:79
G4Material * finalCollimatorMaterialIORT
G4VPhysicalVolume * physiFinalCollimatorIORT
static const double deg
Definition: G4SIunits.hh:151
HepGeom::Transform3D G4Transform3D
G4VPhysicalVolume * physicalTreatmentRoom
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:

◆ IortBeamLineJunctions()

void Collimator40BeamLine::IortBeamLineJunctions ( )

Definition at line 763 of file Collimator40BeamLine.cc.

764 {
765 
766 
767  G4double phi5 = 90. *deg;
768 
769 
770  G4RotationMatrix rm5;
771  rm5.rotateY(phi5);
772 // --------------------------------- //
773  // Junction 5 FINAL COLLIMATOR IORT //
774  // --------------------------------- //
775 
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;
782 
783  solidGiunz5FinalCollIORT = new G4Tubs("Giunz5FinalCollIORT", innRadiusGiunz5FinalCollIORT,
784  outRadiusGiunz5FinalCollIORT,
785  hightGiunz5FinalCollIORT,
786  startAngleGiunz5FinalCollIORT,
787  spanningAngleGiunz5FinalCollIORT);
788 
789  G4LogicalVolume* logGiunz5FinalCollIORT = new G4LogicalVolume(solidGiunz5FinalCollIORT,
790  Giunz5FinalCollMaterialIORT, "Giunz5FinalCollIORT", 0, 0, 0);
791 
792  physiGiunz5FinalCollIORT = new G4PVPlacement(G4Transform3D(rm5, G4ThreeVector((Giunz5FinalCollXPositionIORT),0.,0.)),
793  "Giunz5FinalCollIORT", logGiunz5FinalCollIORT, physicalTreatmentRoom, false, 0);
794 
795  logGiunz5FinalCollIORT -> SetVisAttributes(yellow);
796 
797 // --------------------------------- //
798  // Junction 4 FINAL COLLIMATOR IORT //
799  // --------------------------------- //
800 
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;
807 
808 
809 
810  solidGiunz4FinalCollIORT = new G4Tubs("Giunz4FinalCollIORT", innRadiusGiunz4FinalCollIORT,
811  outRadiusGiunz4FinalCollIORT,
812  hightGiunz4FinalCollIORT,
813  startAngleGiunz4FinalCollIORT,
814  spanningAngleGiunz4FinalCollIORT);
815 
816  G4LogicalVolume* logGiunz4FinalCollIORT = new G4LogicalVolume(solidGiunz4FinalCollIORT,
817  Giunz4FinalCollMaterialIORT, "Giunz4FinalCollIORT", 0, 0, 0);
818 
819  physiGiunz4FinalCollIORT = new G4PVPlacement(G4Transform3D(rm5, G4ThreeVector((Giunz4FinalCollXPositionIORT),0.,0.)),
820  "Giunz4FinalCollIORT", logGiunz4FinalCollIORT, physicalTreatmentRoom, false, 0);
821 
822  logGiunz4FinalCollIORT -> SetVisAttributes(blue);
823 
824 
825 
826  // --------------------------------- //
827  // Junction 3 FINAL COLLIMATOR IORT //
828  // --------------------------------- //
829 
830  const G4double outRadiusGiunz3FinalCollIORT = 42. *mm;
831  const G4double innRadiusGiunz3FinalCollIORT = 0. *mm;
832  const G4double hightGiunz3FinalCollIORT = 4.25 *mm;
833  const G4double startAngleGiunz3FinalCollIORT = 0.*deg;
834  const G4double spanningAngleGiunz3FinalCollIORT = 360.*deg;
835  const G4double Giunz3FinalCollXPositionIORT = -758.75 *mm;
836 
837 
838  solidGiunz3FinalCollIORT = new G4Tubs("Giunz3FinalCollIORT", innRadiusGiunz3FinalCollIORT,
839  outRadiusGiunz3FinalCollIORT,
840  hightGiunz3FinalCollIORT,
841  startAngleGiunz3FinalCollIORT,
842  spanningAngleGiunz3FinalCollIORT);
843 
844  G4LogicalVolume* logicsolidGiunz3FinalCollIORT = new G4LogicalVolume(solidGiunz3FinalCollIORT,
845  Giunz3FinalCollMaterialIORT, "Giunz3FinalCollIORT", 0, 0, 0);
846 
847  physiGiunz3FinalCollIORT = new G4PVPlacement(G4Transform3D(rm5, G4ThreeVector((Giunz3FinalCollXPositionIORT),0.,0.)),
848  "Giunz3FinalCollIORT", logicsolidGiunz3FinalCollIORT, physicalTreatmentRoom, false, 0);
849 
850  logicsolidGiunz3FinalCollIORT -> SetVisAttributes(yellow);
851  // logicsolidGiunz3FinalCollIORT -> SetVisAttributes (G4VisAttributes::Invisible);
852 
853 
854 
855  // --------------------------------- //
856  // Junction 3 FINAL COLLIMATOR IORT internal //
857  // --------------------------------- //
858 
859 
860 
861  solidGiunz3FinalCollIntIORT = new G4Cons("Giunz3FinalCollIntIORT",0.*mm,13.75*mm,0.*mm,20.0*mm,4.25*mm,0.*deg,360.*deg);
862 
863  G4LogicalVolume* logicsolidGiunz3FinalCollIntIORT = new G4LogicalVolume(solidGiunz3FinalCollIntIORT,
864  Giunz3FinalCollMaterialIntIORT, "Giunz3FinalCollIntIORT", 0, 0, 0);
865 
866  physiGiunz3FinalCollIntIORT = new G4PVPlacement(0, G4ThreeVector(0.,0.,0.),"Giunz3FinalCollIntIORT", logicsolidGiunz3FinalCollIntIORT,physiGiunz3FinalCollIORT, false, 0);
867 
868  logicsolidGiunz3FinalCollIntIORT -> SetVisAttributes(yellow);
869 }
G4VPhysicalVolume * physiGiunz5FinalCollIORT
G4VPhysicalVolume * physiGiunz4FinalCollIORT
CLHEP::Hep3Vector G4ThreeVector
G4Material * Giunz4FinalCollMaterialIORT
Definition: G4Tubs.hh:85
G4Material * Giunz3FinalCollMaterialIntIORT
HepRotation & rotateY(double delta)
Definition: Rotation.cc:79
G4VPhysicalVolume * physiGiunz3FinalCollIORT
G4VPhysicalVolume * physiGiunz3FinalCollIntIORT
G4Material * Giunz3FinalCollMaterialIORT
static const double deg
Definition: G4SIunits.hh:151
Definition: G4Cons.hh:83
HepGeom::Transform3D G4Transform3D
G4VPhysicalVolume * physicalTreatmentRoom
double G4double
Definition: G4Types.hh:76
static const double mm
Definition: G4SIunits.hh:114
G4Material * Giunz5FinalCollMaterialIORT
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IortBeamLineMonitorChambers()

void Collimator40BeamLine::IortBeamLineMonitorChambers ( )

Definition at line 415 of file Collimator40BeamLine.cc.

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

◆ IortBeamLineTitaniumWindows()

void Collimator40BeamLine::IortBeamLineTitaniumWindows ( )

Definition at line 381 of file Collimator40BeamLine.cc.

382 {
383 // ---------------------------------------------------------------//
384  // Titanium Window //
385  // ---------------------------------------------------------------//
386 
387  G4double phi2 = 90. *deg;
388 
389 
390  G4RotationMatrix rm2;
391  rm2.rotateY(phi2);
392 
393  const G4double outRadiusFTIORT = 44.75 *mm;
394  const G4double innRadiusFTIORT = 8.5 *mm;
395  const G4double hightFTIORT = 0.006 *mm;
396  const G4double startAngleFTIORT = 0.*deg;
397  const G4double spanningAngleFTIORT = 360.*deg;
398  const G4double XPositionFTIORT = -861.791 *mm;
399 
400  solidFTIORT = new G4Tubs("FTIORT", innRadiusFTIORT,
401  outRadiusFTIORT,
402  hightFTIORT,
403  startAngleFTIORT,
404  spanningAngleFTIORT);
405 
406  G4LogicalVolume* logFTIORT = new G4LogicalVolume(solidFTIORT,
407  FTIORTMaterialIORT, "FTIORT", 0, 0, 0);
408 
409  physiFTIORT = new G4PVPlacement(G4Transform3D(rm2, G4ThreeVector((XPositionFTIORT),0.,0.)),
410  "FTIORT", logFTIORT, physicalTreatmentRoom, false, 0);
411 
412  logFTIORT -> SetVisAttributes(yellow);
413 }
CLHEP::Hep3Vector G4ThreeVector
Definition: G4Tubs.hh:85
G4VPhysicalVolume * physiFTIORT
HepRotation & rotateY(double delta)
Definition: Rotation.cc:79
static const double deg
Definition: G4SIunits.hh:151
HepGeom::Transform3D G4Transform3D
G4VPhysicalVolume * physicalTreatmentRoom
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 Collimator40BeamLine::IortBeamLineVacuumSource ( )

Definition at line 345 of file Collimator40BeamLine.cc.

346 {
347  // ---------------------------------------------------------------//
348  // Vacuum Source //
349  // ---------------------------------------------------------------//
350 
351 
352  G4double phi1 = 90. *deg;
353 
354 
355  G4RotationMatrix rm1;
356  rm1.rotateY(phi1);
357 
358  const G4double outRadiusVSIORT = 44.75 *mm;
359  const G4double innRadiusVSIORT = 0.*mm;
360  const G4double hightVSIORT = 1. *mm;
361  const G4double startAngleVSIORT = 0.*deg;
362  const G4double spanningAngleVSIORT = 360.*deg;
363  const G4double XPositionVSIORT = -862.797 *mm;
364 
365  solidVSIORT = new G4Tubs("VSIORT", innRadiusVSIORT,
366  outRadiusVSIORT,
367  hightVSIORT,
368  startAngleVSIORT,
369  spanningAngleVSIORT);
370 
371  G4LogicalVolume* logVSIORT = new G4LogicalVolume(solidVSIORT,
372  VSIORTMaterialIORT, "VSIORT", 0, 0, 0);
373 
374  physiVSIORT = new G4PVPlacement(G4Transform3D(rm1, G4ThreeVector((XPositionVSIORT),0.,0.)),
375  "VSIORT", logVSIORT, physicalTreatmentRoom, false, 0);
376 
377  logVSIORT -> SetVisAttributes(green);
378 
379 }
CLHEP::Hep3Vector G4ThreeVector
Definition: G4Tubs.hh:85
HepRotation & rotateY(double delta)
Definition: Rotation.cc:79
static const double deg
Definition: G4SIunits.hh:151
HepGeom::Transform3D G4Transform3D
G4VPhysicalVolume * physicalTreatmentRoom
G4VPhysicalVolume * physiVSIORT
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:

◆ SetDefaultDimensions()

void Collimator40BeamLine::SetDefaultDimensions ( )
private

Definition at line 158 of file Collimator40BeamLine.cc.

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

◆ SetInnerRadiusFinalCollimatorIORT()

void Collimator40BeamLine::SetInnerRadiusFinalCollimatorIORT ( G4double  value)

Definition at line 913 of file Collimator40BeamLine.cc.

914 {
915  solidFinalCollimatorIORT -> SetInnerRadius(value);
917  G4cout<<"Inner Radius of the final collimator IORT is (mm):"
918  << solidFinalCollimatorIORT -> GetInnerRadius()/mm
919  << G4endl;
920 }
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 Collimator40BeamLine::SetOuterRadiusFinalCollimatorIORT ( G4double  value)

Definition at line 924 of file Collimator40BeamLine.cc.

925 {
926  solidFinalCollimatorIORT -> SetOuterRadius(value);
928  G4cout<<"Outer Radius of the final collimator IORT is (mm):"
929  << solidFinalCollimatorIORT -> GetOuterRadius()/mm
930  << G4endl;
931 }
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* Collimator40BeamLine::Blocco1IORTMaterialIORT
private

Definition at line 147 of file Collimator40BeamLine.hh.

◆ Blocco20mmIORTMaterialIORT

G4Material* Collimator40BeamLine::Blocco20mmIORTMaterialIORT
private

Definition at line 162 of file Collimator40BeamLine.hh.

◆ Blocco2IORTMaterialIORT

G4Material* Collimator40BeamLine::Blocco2IORTMaterialIORT
private

Definition at line 152 of file Collimator40BeamLine.hh.

◆ Blocco3IORTMaterialIORT

G4Material* Collimator40BeamLine::Blocco3IORTMaterialIORT
private

Definition at line 157 of file Collimator40BeamLine.hh.

◆ blue

G4VisAttributes* Collimator40BeamLine::blue
private

Definition at line 101 of file Collimator40BeamLine.hh.

◆ CCMIORTMaterialIORT

G4Material* Collimator40BeamLine::CCMIORTMaterialIORT
private

Definition at line 187 of file Collimator40BeamLine.hh.

◆ CM1_1_2IORTMaterialIORT

G4Material* Collimator40BeamLine::CM1_1_2IORTMaterialIORT
private

Definition at line 167 of file Collimator40BeamLine.hh.

◆ CM1_2_2IORTMaterialIORT

G4Material* Collimator40BeamLine::CM1_2_2IORTMaterialIORT
private

Definition at line 172 of file Collimator40BeamLine.hh.

◆ CM2_1_2IORTMaterialIORT

G4Material* Collimator40BeamLine::CM2_1_2IORTMaterialIORT
private

Definition at line 177 of file Collimator40BeamLine.hh.

◆ CM2_2_2IORTMaterialIORT

G4Material* Collimator40BeamLine::CM2_2_2IORTMaterialIORT
private

Definition at line 182 of file Collimator40BeamLine.hh.

◆ collimatorMessenger

Collimator40BeamLineMessenger* Collimator40BeamLine::collimatorMessenger
private

Definition at line 97 of file Collimator40BeamLine.hh.

◆ darkGreen

G4VisAttributes* Collimator40BeamLine::darkGreen
private

Definition at line 107 of file Collimator40BeamLine.hh.

◆ darkOrange3

G4VisAttributes* Collimator40BeamLine::darkOrange3
private

Definition at line 108 of file Collimator40BeamLine.hh.

◆ finalCollimatorMaterialIORT

G4Material* Collimator40BeamLine::finalCollimatorMaterialIORT
private

Definition at line 116 of file Collimator40BeamLine.hh.

◆ FTIORTMaterialIORT

G4Material* Collimator40BeamLine::FTIORTMaterialIORT
private

Definition at line 207 of file Collimator40BeamLine.hh.

◆ Giunz1FinalCollMaterialIORT

G4Material* Collimator40BeamLine::Giunz1FinalCollMaterialIORT
private

Definition at line 119 of file Collimator40BeamLine.hh.

◆ Giunz2FinalCollMaterialIORT

G4Material* Collimator40BeamLine::Giunz2FinalCollMaterialIORT
private

Definition at line 122 of file Collimator40BeamLine.hh.

◆ Giunz3FinalCollMaterialIntIORT

G4Material* Collimator40BeamLine::Giunz3FinalCollMaterialIntIORT
private

Definition at line 131 of file Collimator40BeamLine.hh.

◆ Giunz3FinalCollMaterialIORT

G4Material* Collimator40BeamLine::Giunz3FinalCollMaterialIORT
private

Definition at line 127 of file Collimator40BeamLine.hh.

◆ Giunz4FinalCollMaterialIORT

G4Material* Collimator40BeamLine::Giunz4FinalCollMaterialIORT
private

Definition at line 137 of file Collimator40BeamLine.hh.

◆ Giunz5FinalCollMaterialIORT

G4Material* Collimator40BeamLine::Giunz5FinalCollMaterialIORT
private

Definition at line 142 of file Collimator40BeamLine.hh.

◆ gray

G4VisAttributes* Collimator40BeamLine::gray
private

Definition at line 102 of file Collimator40BeamLine.hh.

◆ green

G4VisAttributes* Collimator40BeamLine::green
private

Definition at line 106 of file Collimator40BeamLine.hh.

◆ innerRadiusFinalCollimatorIORT

G4double Collimator40BeamLine::innerRadiusFinalCollimatorIORT
private

Definition at line 112 of file Collimator40BeamLine.hh.

◆ iortDetectorConstruction

IORTDetectorConstruction* Collimator40BeamLine::iortDetectorConstruction
private

Definition at line 99 of file Collimator40BeamLine.hh.

◆ OuterRadiusFinalCollimatorIORT

G4double Collimator40BeamLine::OuterRadiusFinalCollimatorIORT
private

Definition at line 113 of file Collimator40BeamLine.hh.

◆ PFS1IORTMaterialIORT

G4Material* Collimator40BeamLine::PFS1IORTMaterialIORT
private

Definition at line 192 of file Collimator40BeamLine.hh.

◆ PFS2IORTMaterialIORT

G4Material* Collimator40BeamLine::PFS2IORTMaterialIORT
private

Definition at line 197 of file Collimator40BeamLine.hh.

◆ PFS3IORTMaterialIORT

G4Material* Collimator40BeamLine::PFS3IORTMaterialIORT
private

Definition at line 202 of file Collimator40BeamLine.hh.

◆ physiBlocco1IORT

G4VPhysicalVolume* Collimator40BeamLine::physiBlocco1IORT
private

Definition at line 146 of file Collimator40BeamLine.hh.

◆ physiBlocco20mmIORT

G4VPhysicalVolume* Collimator40BeamLine::physiBlocco20mmIORT
private

Definition at line 161 of file Collimator40BeamLine.hh.

◆ physiBlocco2IORT

G4VPhysicalVolume* Collimator40BeamLine::physiBlocco2IORT
private

Definition at line 151 of file Collimator40BeamLine.hh.

◆ physiBlocco3IORT

G4VPhysicalVolume* Collimator40BeamLine::physiBlocco3IORT
private

Definition at line 156 of file Collimator40BeamLine.hh.

◆ physicalTreatmentRoom

G4VPhysicalVolume* Collimator40BeamLine::physicalTreatmentRoom
private

Definition at line 98 of file Collimator40BeamLine.hh.

◆ physiCCMIORT

G4VPhysicalVolume* Collimator40BeamLine::physiCCMIORT
private

Definition at line 186 of file Collimator40BeamLine.hh.

◆ physiCM1_1_2IORT

G4VPhysicalVolume* Collimator40BeamLine::physiCM1_1_2IORT
private

Definition at line 166 of file Collimator40BeamLine.hh.

◆ physiCM1_2_2IORT

G4VPhysicalVolume* Collimator40BeamLine::physiCM1_2_2IORT
private

Definition at line 171 of file Collimator40BeamLine.hh.

◆ physiCM2_1_2IORT

G4VPhysicalVolume* Collimator40BeamLine::physiCM2_1_2IORT
private

Definition at line 176 of file Collimator40BeamLine.hh.

◆ physiCM2_2_2IORT

G4VPhysicalVolume* Collimator40BeamLine::physiCM2_2_2IORT
private

Definition at line 181 of file Collimator40BeamLine.hh.

◆ physiFinalCollimatorIORT

G4VPhysicalVolume* Collimator40BeamLine::physiFinalCollimatorIORT
private

Definition at line 115 of file Collimator40BeamLine.hh.

◆ physiFTIORT

G4VPhysicalVolume* Collimator40BeamLine::physiFTIORT
private

Definition at line 206 of file Collimator40BeamLine.hh.

◆ physiGiunz3FinalCollIntIORT

G4VPhysicalVolume* Collimator40BeamLine::physiGiunz3FinalCollIntIORT
private

Definition at line 132 of file Collimator40BeamLine.hh.

◆ physiGiunz3FinalCollIORT

G4VPhysicalVolume* Collimator40BeamLine::physiGiunz3FinalCollIORT
private

Definition at line 126 of file Collimator40BeamLine.hh.

◆ physiGiunz4FinalCollIORT

G4VPhysicalVolume* Collimator40BeamLine::physiGiunz4FinalCollIORT
private

Definition at line 136 of file Collimator40BeamLine.hh.

◆ physiGiunz5FinalCollIORT

G4VPhysicalVolume* Collimator40BeamLine::physiGiunz5FinalCollIORT
private

Definition at line 141 of file Collimator40BeamLine.hh.

◆ physiPFS1IORT

G4VPhysicalVolume* Collimator40BeamLine::physiPFS1IORT
private

Definition at line 191 of file Collimator40BeamLine.hh.

◆ physiPFS2IORT

G4VPhysicalVolume* Collimator40BeamLine::physiPFS2IORT
private

Definition at line 196 of file Collimator40BeamLine.hh.

◆ physiPFS3IORT

G4VPhysicalVolume* Collimator40BeamLine::physiPFS3IORT
private

Definition at line 201 of file Collimator40BeamLine.hh.

◆ physiVSIORT

G4VPhysicalVolume* Collimator40BeamLine::physiVSIORT
private

Definition at line 211 of file Collimator40BeamLine.hh.

◆ red

G4VisAttributes* Collimator40BeamLine::red
private

Definition at line 104 of file Collimator40BeamLine.hh.

◆ skyBlue

G4VisAttributes* Collimator40BeamLine::skyBlue
private

Definition at line 109 of file Collimator40BeamLine.hh.

◆ solidBlocco1IORT

G4Tubs* Collimator40BeamLine::solidBlocco1IORT
private

Definition at line 145 of file Collimator40BeamLine.hh.

◆ solidBlocco20mmIORT

G4Tubs* Collimator40BeamLine::solidBlocco20mmIORT
private

Definition at line 160 of file Collimator40BeamLine.hh.

◆ solidBlocco2IORT

G4Tubs* Collimator40BeamLine::solidBlocco2IORT
private

Definition at line 150 of file Collimator40BeamLine.hh.

◆ solidBlocco3IORT

G4Tubs* Collimator40BeamLine::solidBlocco3IORT
private

Definition at line 155 of file Collimator40BeamLine.hh.

◆ solidCCMIORT

G4Tubs* Collimator40BeamLine::solidCCMIORT
private

Definition at line 185 of file Collimator40BeamLine.hh.

◆ solidCM1_1_2IORT

G4Tubs* Collimator40BeamLine::solidCM1_1_2IORT
private

Definition at line 165 of file Collimator40BeamLine.hh.

◆ solidCM1_2_2IORT

G4Tubs* Collimator40BeamLine::solidCM1_2_2IORT
private

Definition at line 170 of file Collimator40BeamLine.hh.

◆ solidCM2_1_2IORT

G4Tubs* Collimator40BeamLine::solidCM2_1_2IORT
private

Definition at line 175 of file Collimator40BeamLine.hh.

◆ solidCM2_2_2IORT

G4Tubs* Collimator40BeamLine::solidCM2_2_2IORT
private

Definition at line 180 of file Collimator40BeamLine.hh.

◆ solidFinalCollimatorIORT

G4Tubs* Collimator40BeamLine::solidFinalCollimatorIORT
private

Definition at line 114 of file Collimator40BeamLine.hh.

◆ solidFTIORT

G4Tubs* Collimator40BeamLine::solidFTIORT
private

Definition at line 205 of file Collimator40BeamLine.hh.

◆ solidGiunz3FinalCollIntIORT

G4Cons* Collimator40BeamLine::solidGiunz3FinalCollIntIORT
private

Definition at line 130 of file Collimator40BeamLine.hh.

◆ solidGiunz3FinalCollIORT

G4Tubs* Collimator40BeamLine::solidGiunz3FinalCollIORT
private

Definition at line 125 of file Collimator40BeamLine.hh.

◆ solidGiunz4FinalCollIORT

G4Tubs* Collimator40BeamLine::solidGiunz4FinalCollIORT
private

Definition at line 135 of file Collimator40BeamLine.hh.

◆ solidGiunz5FinalCollIORT

G4Tubs* Collimator40BeamLine::solidGiunz5FinalCollIORT
private

Definition at line 140 of file Collimator40BeamLine.hh.

◆ solidPFS1IORT

G4Tubs* Collimator40BeamLine::solidPFS1IORT
private

Definition at line 190 of file Collimator40BeamLine.hh.

◆ solidPFS2IORT

G4Tubs* Collimator40BeamLine::solidPFS2IORT
private

Definition at line 195 of file Collimator40BeamLine.hh.

◆ solidPFS3IORT

G4Tubs* Collimator40BeamLine::solidPFS3IORT
private

Definition at line 200 of file Collimator40BeamLine.hh.

◆ solidVSIORT

G4Tubs* Collimator40BeamLine::solidVSIORT
private

Definition at line 210 of file Collimator40BeamLine.hh.

◆ VSIORTMaterialIORT

G4Material* Collimator40BeamLine::VSIORTMaterialIORT
private

Definition at line 212 of file Collimator40BeamLine.hh.

◆ white

G4VisAttributes* Collimator40BeamLine::white
private

Definition at line 103 of file Collimator40BeamLine.hh.

◆ yellow

G4VisAttributes* Collimator40BeamLine::yellow
private

Definition at line 105 of file Collimator40BeamLine.hh.


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