Geant4  10.02.p03
Collimator70BeamLine Class Reference

#include <Collimator70BeamLine.hh>

Inheritance diagram for Collimator70BeamLine:
Collaboration diagram for Collimator70BeamLine:

Public Member Functions

 Collimator70BeamLine ()
 
 ~Collimator70BeamLine ()
 
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 ConstructCollimator70BeamLine ()
 

Private Attributes

Collimator70BeamLineMessenger * 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
 
G4Tubs * solidGiunz1FinalCollIORT
 
G4VPhysicalVolume * physiGiunz1FinalCollIORT
 
G4Material * Giunz1FinalCollMaterialIORT
 
G4Tubs * solidGiunz2FinalCollIORT
 
G4VPhysicalVolume * physiGiunz2FinalCollIORT
 
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 Collimator70BeamLine.hh.

Constructor & Destructor Documentation

◆ Collimator70BeamLine()

Collimator70BeamLine::Collimator70BeamLine ( )

Definition at line 59 of file Collimator70BeamLine.cc.

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

◆ ~Collimator70BeamLine()

Collimator70BeamLine::~Collimator70BeamLine ( )

Definition at line 131 of file Collimator70BeamLine.cc.

132 {
133  delete collimatorMessenger;
135 }
Collimator70BeamLineMessenger * collimatorMessenger
IORTDetectorConstruction * iortDetectorConstruction

Member Function Documentation

◆ Construct()

G4VPhysicalVolume * Collimator70BeamLine::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Definition at line 140 of file Collimator70BeamLine.cc.

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

◆ ConstructCollimator70BeamLine()

void Collimator70BeamLine::ConstructCollimator70BeamLine ( )
private

Definition at line 314 of file Collimator70BeamLine.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
static G4NistManager * Instance()
bool G4bool
Definition: G4Types.hh:79
G4VPhysicalVolume * physicalTreatmentRoom
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 Collimator70BeamLine::IortBeamLineBlocks ( )

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

◆ IortBeamLineFinalCollimator()

void Collimator70BeamLine::IortBeamLineFinalCollimator ( )

Definition at line 916 of file Collimator70BeamLine.cc.

917 {
918 // -----------------------//
919  // FINAL COLLIMATOR IORT //
920  //------------------------//
921 
922  // const G4double outRadiusFinalCollimatorIORT = 40. *mm;
923  // const G4double innRadiusFinalCollimatorIORT = 35. *mm;
924  const G4double hightFinalCollimatorIORT = 334. *mm;
925  const G4double startAngleFinalCollimatorIORT = 0.*deg;
926  const G4double spanningAngleFinalCollimatorIORT = 360.*deg;
927  const G4double finalCollimatorXPositionIORT = -389.*mm;
928 
929 
930 
931 
932  G4double phi6 = 90. *deg;
933 
934 
936  rm6.rotateY(phi6);
937 
938 
939  solidFinalCollimatorIORT = new G4Tubs("FinalCollimatorIORT", innerRadiusFinalCollimatorIORT,
941  hightFinalCollimatorIORT,
942  startAngleFinalCollimatorIORT,
943  spanningAngleFinalCollimatorIORT);
944 
945  G4LogicalVolume* logFinalCollimatorIORT = new G4LogicalVolume(solidFinalCollimatorIORT,
946  finalCollimatorMaterialIORT, "FinalCollimatorIORT", 0, 0, 0);
947 
948  physiFinalCollimatorIORT = new G4PVPlacement(G4Transform3D(rm6, G4ThreeVector((finalCollimatorXPositionIORT),0.,0.)),
949  "FinalCollimatorIORT", logFinalCollimatorIORT, physicalTreatmentRoom, false, 0);
950 
951  // logFinalCollimatorIORT -> SetVisAttributes(G4VisAttributes::Invisible);
952  logFinalCollimatorIORT -> SetVisAttributes(darkOrange3);
953 }
CLHEP::Hep3Vector G4ThreeVector
Definition: G4Tubs.hh:85
G4VPhysicalVolume * physiFinalCollimatorIORT
HepRotation & rotateY(double delta)
Definition: Rotation.cc:79
G4VisAttributes * darkOrange3
static const double deg
Definition: G4SIunits.hh:151
G4Material * finalCollimatorMaterialIORT
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 Collimator70BeamLine::IortBeamLineJunctions ( )

Definition at line 759 of file Collimator70BeamLine.cc.

760 {
761 
762 
763  G4double phi5 = 90. *deg;
764 
765 
766  G4RotationMatrix rm5;
767  rm5.rotateY(phi5);
768 // --------------------------------- //
769  // Junction 5 FINAL COLLIMATOR IORT //
770  // --------------------------------- //
771 
772  const G4double outRadiusGiunz5FinalCollIORT = 48.25 *mm;
773  const G4double innRadiusGiunz5FinalCollIORT = 13.75 *mm;
774  const G4double hightGiunz5FinalCollIORT = 3.5 *mm;
775  const G4double startAngleGiunz5FinalCollIORT = 0.*deg;
776  const G4double spanningAngleGiunz5FinalCollIORT = 360.*deg;
777  const G4double Giunz5FinalCollXPositionIORT = -783.5 *mm;
778 
779  solidGiunz5FinalCollIORT = new G4Tubs("Giunz5FinalCollIORT", innRadiusGiunz5FinalCollIORT,
780  outRadiusGiunz5FinalCollIORT,
781  hightGiunz5FinalCollIORT,
782  startAngleGiunz5FinalCollIORT,
783  spanningAngleGiunz5FinalCollIORT);
784 
785  G4LogicalVolume* logGiunz5FinalCollIORT = new G4LogicalVolume(solidGiunz5FinalCollIORT,
786  Giunz5FinalCollMaterialIORT, "Giunz5FinalCollIORT", 0, 0, 0);
787 
788  physiGiunz5FinalCollIORT = new G4PVPlacement(G4Transform3D(rm5, G4ThreeVector((Giunz5FinalCollXPositionIORT),0.,0.)),
789  "Giunz5FinalCollIORT", logGiunz5FinalCollIORT, physicalTreatmentRoom, false, 0);
790 
791  logGiunz5FinalCollIORT -> SetVisAttributes(yellow);
792 
793 // --------------------------------- //
794  // Junction 4 FINAL COLLIMATOR IORT //
795  // --------------------------------- //
796 
797  const G4double outRadiusGiunz4FinalCollIORT = 42. *mm;
798  const G4double innRadiusGiunz4FinalCollIORT = 13.75 *mm;
799  const G4double hightGiunz4FinalCollIORT = 8.5 *mm;
800  const G4double startAngleGiunz4FinalCollIORT = 0.*deg;
801  const G4double spanningAngleGiunz4FinalCollIORT = 360.*deg;
802  const G4double Giunz4FinalCollXPositionIORT = -771.5 *mm;
803 
804  solidGiunz4FinalCollIORT = new G4Tubs("Giunz4FinalCollIORT", innRadiusGiunz4FinalCollIORT,
805  outRadiusGiunz4FinalCollIORT,
806  hightGiunz4FinalCollIORT,
807  startAngleGiunz4FinalCollIORT,
808  spanningAngleGiunz4FinalCollIORT);
809 
810  G4LogicalVolume* logGiunz4FinalCollIORT = new G4LogicalVolume(solidGiunz4FinalCollIORT,
811  Giunz4FinalCollMaterialIORT, "Giunz4FinalCollIORT", 0, 0, 0);
812 
813  physiGiunz4FinalCollIORT = new G4PVPlacement(G4Transform3D(rm5, G4ThreeVector((Giunz4FinalCollXPositionIORT),0.,0.)),
814  "Giunz4FinalCollIORT", logGiunz4FinalCollIORT, physicalTreatmentRoom, false, 0);
815 
816  logGiunz4FinalCollIORT -> SetVisAttributes(blue);
817 
818 
819 
820  // --------------------------------- //
821  // Junction 3 FINAL COLLIMATOR IORT //
822  // --------------------------------- //
823 
824  const G4double outRadiusGiunz3FinalCollIORT = 42. *mm;
825  const G4double innRadiusGiunz3FinalCollIORT = 0. *mm;
826  const G4double hightGiunz3FinalCollIORT = 4.25 *mm;
827  const G4double startAngleGiunz3FinalCollIORT = 0.*deg;
828  const G4double spanningAngleGiunz3FinalCollIORT = 360.*deg;
829  const G4double Giunz3FinalCollXPositionIORT = -758.75 *mm;
830 
831  solidGiunz3FinalCollIORT = new G4Tubs("Giunz3FinalCollIORT", innRadiusGiunz3FinalCollIORT,
832  outRadiusGiunz3FinalCollIORT,
833  hightGiunz3FinalCollIORT,
834  startAngleGiunz3FinalCollIORT,
835  spanningAngleGiunz3FinalCollIORT);
836 
837  G4LogicalVolume* logicsolidGiunz3FinalCollIORT = new G4LogicalVolume(solidGiunz3FinalCollIORT,
838  Giunz3FinalCollMaterialIORT, "Giunz3FinalCollIORT", 0, 0, 0);
839 
840  physiGiunz3FinalCollIORT = new G4PVPlacement(G4Transform3D(rm5, G4ThreeVector((Giunz3FinalCollXPositionIORT),0.,0.)),
841  "Giunz3FinalCollIORT", logicsolidGiunz3FinalCollIORT, physicalTreatmentRoom, false, 0);
842 
843  logicsolidGiunz3FinalCollIORT -> SetVisAttributes(yellow);
844  // logicsolidGiunz3FinalCollIORT -> SetVisAttributes (G4VisAttributes::Invisible);
845 
846 
847 
848  // --------------------------------- //
849  // Junction 3 FINAL COLLIMATOR IORT internal //
850  // --------------------------------- //
851 
852 
853 
854  solidGiunz3FinalCollIntIORT = new G4Cons("Giunz3FinalCollIntIORT",0.*mm,13.75*mm,0.*mm,22.25*mm,4.25*mm,0.*deg,360.*deg);
855 
856  G4LogicalVolume* logicsolidGiunz3FinalCollIntIORT = new G4LogicalVolume(solidGiunz3FinalCollIntIORT,
857  Giunz3FinalCollMaterialIntIORT, "Giunz3FinalCollIntIORT", 0, 0, 0);
858 
859  physiGiunz3FinalCollIntIORT = new G4PVPlacement(0, G4ThreeVector(0.,0.,0.),"Giunz3FinalCollIntIORT", logicsolidGiunz3FinalCollIntIORT,physiGiunz3FinalCollIORT, false, 0);
860 
861  logicsolidGiunz3FinalCollIntIORT -> SetVisAttributes(yellow);
862 
863 
864 // --------------------------------- //
865  // Junction 2 FINAL COLLIMATOR IORT //
866  // --------------------------------- //
867 
868  const G4double outRadiusGiunz2FinalCollIORT = 42. *mm;
869  const G4double innRadiusGiunz2FinalCollIORT = 22.25 *mm;
870  const G4double hightGiunz2FinalCollIORT = 5.75 *mm;
871  const G4double startAngleGiunz2FinalCollIORT = 0.*deg;
872  const G4double spanningAngleGiunz2FinalCollIORT = 360.*deg;
873  const G4double Giunz2FinalCollXPositionIORT = -748.75 *mm;
874 
875  solidGiunz2FinalCollIORT = new G4Tubs("Giunz2FinalCollIORT", innRadiusGiunz2FinalCollIORT,
876  outRadiusGiunz2FinalCollIORT,
877  hightGiunz2FinalCollIORT,
878  startAngleGiunz2FinalCollIORT,
879  spanningAngleGiunz2FinalCollIORT);
880 
881  G4LogicalVolume* logGiunz2FinalCollIORT = new G4LogicalVolume(solidGiunz2FinalCollIORT,
882  Giunz2FinalCollMaterialIORT, "Giunz2FinalCollIORT", 0, 0, 0);
883 
884  physiGiunz2FinalCollIORT = new G4PVPlacement(G4Transform3D(rm5, G4ThreeVector((Giunz2FinalCollXPositionIORT),0.,0.)),
885  "Giunz2FinalCollIORT", logGiunz2FinalCollIORT, physicalTreatmentRoom, false, 0);
886 
887  logGiunz2FinalCollIORT -> SetVisAttributes(red);
888 
889 // --------------------------------- //
890  // Junction 1 FINAL COLLIMATOR IORT //
891  // --------------------------------- //
892 
893  const G4double outRadiusGiunz1FinalCollIORT = 50. *mm;
894  const G4double innRadiusGiunz1FinalCollIORT = 22.25 *mm;
895  const G4double hightGiunz1FinalCollIORT = 10. *mm;
896  const G4double startAngleGiunz1FinalCollIORT = 0.*deg;
897  const G4double spanningAngleGiunz1FinalCollIORT = 360.*deg;
898  const G4double Giunz1FinalCollXPositionIORT = -733.*mm;
899 
900  solidGiunz1FinalCollIORT = new G4Tubs("Giunz1FinalCollIORT", innRadiusGiunz1FinalCollIORT,
901  outRadiusGiunz1FinalCollIORT,
902  hightGiunz1FinalCollIORT,
903  startAngleGiunz1FinalCollIORT,
904  spanningAngleGiunz1FinalCollIORT);
905 
906  G4LogicalVolume* logGiunz1FinalCollIORT = new G4LogicalVolume(solidGiunz1FinalCollIORT,
907  Giunz1FinalCollMaterialIORT, "Giunz1FinalCollIORT", 0, 0, 0);
908 
909  physiGiunz1FinalCollIORT = new G4PVPlacement(G4Transform3D(rm5, G4ThreeVector((Giunz1FinalCollXPositionIORT),0.,0.)),
910  "Giunz1FinalCollIORT", logGiunz1FinalCollIORT, physicalTreatmentRoom, false, 0);
911 
912  logGiunz1FinalCollIORT -> SetVisAttributes(gray);
913 
914 }
G4Material * Giunz5FinalCollMaterialIORT
CLHEP::Hep3Vector G4ThreeVector
G4Material * Giunz3FinalCollMaterialIntIORT
Definition: G4Tubs.hh:85
HepRotation & rotateY(double delta)
Definition: Rotation.cc:79
G4VPhysicalVolume * physiGiunz1FinalCollIORT
G4VPhysicalVolume * physiGiunz5FinalCollIORT
G4VPhysicalVolume * physiGiunz3FinalCollIntIORT
static const double deg
Definition: G4SIunits.hh:151
Definition: G4Cons.hh:83
G4VPhysicalVolume * physiGiunz3FinalCollIORT
HepGeom::Transform3D G4Transform3D
G4Material * Giunz3FinalCollMaterialIORT
G4VPhysicalVolume * physicalTreatmentRoom
G4Material * Giunz2FinalCollMaterialIORT
G4Material * Giunz4FinalCollMaterialIORT
double G4double
Definition: G4Types.hh:76
G4VPhysicalVolume * physiGiunz2FinalCollIORT
static const double mm
Definition: G4SIunits.hh:114
G4VPhysicalVolume * physiGiunz4FinalCollIORT
G4Material * Giunz1FinalCollMaterialIORT
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IortBeamLineMonitorChambers()

void Collimator70BeamLine::IortBeamLineMonitorChambers ( )

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

Definition at line 388 of file Collimator70BeamLine.cc.

389 {
390 // ---------------------------------------------------------------//
391  // Titanium Window //
392  // ---------------------------------------------------------------//
393 
394  G4double phi2 = 90. *deg;
395 
396 
397  G4RotationMatrix rm2;
398  rm2.rotateY(phi2);
399 
400 
401  const G4double outRadiusFTIORT = 44.75 *mm;
402  const G4double innRadiusFTIORT = 8.5 *mm;
403  const G4double hightFTIORT = 0.006 *mm;
404  const G4double startAngleFTIORT = 0.*deg;
405  const G4double spanningAngleFTIORT = 360.*deg;
406  const G4double XPositionFTIORT = -861.791 *mm;
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
static const double deg
Definition: G4SIunits.hh:151
HepGeom::Transform3D G4Transform3D
G4VPhysicalVolume * physicalTreatmentRoom
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 Collimator70BeamLine::IortBeamLineVacuumSource ( )

Definition at line 353 of file Collimator70BeamLine.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 = -862.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 
385  logVSIORT -> SetVisAttributes(green);
386 }
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
double G4double
Definition: G4Types.hh:76
G4VPhysicalVolume * physiVSIORT
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 Collimator70BeamLine::SetDefaultDimensions ( )
private

Definition at line 165 of file Collimator70BeamLine.cc.

166 {
167 
168  // Set of coulors that can be used
169  white = new G4VisAttributes( G4Colour());
170  white -> SetVisibility(true);
171  //white -> SetForceSolid(true);
172 
173  blue = new G4VisAttributes(G4Colour(0. ,0. ,1.));
174  blue -> SetVisibility(true);
175  //blue -> SetForceSolid(true);
176 
177  gray = new G4VisAttributes( G4Colour(0.5, 0.5, 0.5 ));
178  gray-> SetVisibility(true);
179  //gray-> SetForceSolid(true);
180 
181  red = new G4VisAttributes(G4Colour(1. ,0. ,0.));
182  red-> SetVisibility(true);
183  //red-> SetForceSolid(true);
184 
185  yellow = new G4VisAttributes(G4Colour(1., 1., 0. ));
186  yellow-> SetVisibility(true);
187  //yellow-> SetForceSolid(true);
188 
189  green = new G4VisAttributes( G4Colour(25/255. , 255/255. , 25/255. ));
190  green -> SetVisibility(true);
191  //green -> SetForceSolid(true);
192 
193  darkGreen = new G4VisAttributes( G4Colour(0/255. , 100/255. , 0/255. ));
194  darkGreen -> SetVisibility(true);
195  //darkGreen -> SetForceSolid(true);
196 
197  darkOrange3 = new G4VisAttributes( G4Colour(205/255. , 102/255. , 000/255. ));
198  darkOrange3 -> SetVisibility(true);
199  //darkOrange3 -> SetForceSolid(true);
200 
201  skyBlue = new G4VisAttributes( G4Colour(135/255. , 206/255. , 235/255. ));
202  skyBlue -> SetVisibility(true);
203  //skyBlue -> SetForceSolid(true);
204 
205 
206  // Geometry FINAL COLLIMATOR DEFAULTS
207 
208  G4double defaultOuterRadiusFinalCollimatorIORT = 40. *mm;
209  OuterRadiusFinalCollimatorIORT = defaultOuterRadiusFinalCollimatorIORT;
210 
211  G4double defaultinnerRadiusFinalCollimatorIORT = 35. *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 * Giunz5FinalCollMaterialIORT
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
Float_t d
G4Material * Giunz3FinalCollMaterialIntIORT
G4VisAttributes * darkGreen
G4int nComponents
Definition: TRTMaterials.hh:41
int G4int
Definition: G4Types.hh:78
static G4NistManager * Instance()
G4VisAttributes * darkOrange3
G4Material * Blocco1IORTMaterialIORT
function g(Y1, Y2, PT2)
Definition: hijing1.383.f:5206
G4Material * CM1_1_2IORTMaterialIORT
bool G4bool
Definition: G4Types.hh:79
G4Material * Blocco20mmIORTMaterialIORT
G4Material * finalCollimatorMaterialIORT
G4Material * CM2_2_2IORTMaterialIORT
static const double cm3
Definition: G4SIunits.hh:120
static const double perCent
Definition: G4SIunits.hh:329
G4Material * Giunz3FinalCollMaterialIORT
G4Material * CM1_2_2IORTMaterialIORT
G4Material * Blocco3IORTMaterialIORT
G4Material * Blocco2IORTMaterialIORT
G4Material * Giunz2FinalCollMaterialIORT
G4Material * Giunz4FinalCollMaterialIORT
G4Material * CM2_1_2IORTMaterialIORT
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 * Giunz1FinalCollMaterialIORT
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetInnerRadiusFinalCollimatorIORT()

void Collimator70BeamLine::SetInnerRadiusFinalCollimatorIORT ( G4double  value)

Definition at line 960 of file Collimator70BeamLine.cc.

961 {
962  solidFinalCollimatorIORT -> SetInnerRadius(value);
964  G4cout<<"Inner Radius of the final collimator IORT is (mm):"
965  << solidFinalCollimatorIORT -> GetInnerRadius()/mm
966  << G4endl;
967 }
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 Collimator70BeamLine::SetOuterRadiusFinalCollimatorIORT ( G4double  value)

Definition at line 971 of file Collimator70BeamLine.cc.

972 {
973  solidFinalCollimatorIORT -> SetOuterRadius(value);
975  G4cout<<"Outer Radius of the final collimator IORT is (mm):"
976  << solidFinalCollimatorIORT -> GetOuterRadius()/mm
977  << G4endl;
978 }
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* Collimator70BeamLine::Blocco1IORTMaterialIORT
private

Definition at line 150 of file Collimator70BeamLine.hh.

◆ Blocco20mmIORTMaterialIORT

G4Material* Collimator70BeamLine::Blocco20mmIORTMaterialIORT
private

Definition at line 165 of file Collimator70BeamLine.hh.

◆ Blocco2IORTMaterialIORT

G4Material* Collimator70BeamLine::Blocco2IORTMaterialIORT
private

Definition at line 155 of file Collimator70BeamLine.hh.

◆ Blocco3IORTMaterialIORT

G4Material* Collimator70BeamLine::Blocco3IORTMaterialIORT
private

Definition at line 160 of file Collimator70BeamLine.hh.

◆ blue

G4VisAttributes* Collimator70BeamLine::blue
private

Definition at line 101 of file Collimator70BeamLine.hh.

◆ CCMIORTMaterialIORT

G4Material* Collimator70BeamLine::CCMIORTMaterialIORT
private

Definition at line 190 of file Collimator70BeamLine.hh.

◆ CM1_1_2IORTMaterialIORT

G4Material* Collimator70BeamLine::CM1_1_2IORTMaterialIORT
private

Definition at line 170 of file Collimator70BeamLine.hh.

◆ CM1_2_2IORTMaterialIORT

G4Material* Collimator70BeamLine::CM1_2_2IORTMaterialIORT
private

Definition at line 175 of file Collimator70BeamLine.hh.

◆ CM2_1_2IORTMaterialIORT

G4Material* Collimator70BeamLine::CM2_1_2IORTMaterialIORT
private

Definition at line 180 of file Collimator70BeamLine.hh.

◆ CM2_2_2IORTMaterialIORT

G4Material* Collimator70BeamLine::CM2_2_2IORTMaterialIORT
private

Definition at line 185 of file Collimator70BeamLine.hh.

◆ collimatorMessenger

Collimator70BeamLineMessenger* Collimator70BeamLine::collimatorMessenger
private

Definition at line 97 of file Collimator70BeamLine.hh.

◆ darkGreen

G4VisAttributes* Collimator70BeamLine::darkGreen
private

Definition at line 107 of file Collimator70BeamLine.hh.

◆ darkOrange3

G4VisAttributes* Collimator70BeamLine::darkOrange3
private

Definition at line 108 of file Collimator70BeamLine.hh.

◆ finalCollimatorMaterialIORT

G4Material* Collimator70BeamLine::finalCollimatorMaterialIORT
private

Definition at line 115 of file Collimator70BeamLine.hh.

◆ FTIORTMaterialIORT

G4Material* Collimator70BeamLine::FTIORTMaterialIORT
private

Definition at line 210 of file Collimator70BeamLine.hh.

◆ Giunz1FinalCollMaterialIORT

G4Material* Collimator70BeamLine::Giunz1FinalCollMaterialIORT
private

Definition at line 120 of file Collimator70BeamLine.hh.

◆ Giunz2FinalCollMaterialIORT

G4Material* Collimator70BeamLine::Giunz2FinalCollMaterialIORT
private

Definition at line 125 of file Collimator70BeamLine.hh.

◆ Giunz3FinalCollMaterialIntIORT

G4Material* Collimator70BeamLine::Giunz3FinalCollMaterialIntIORT
private

Definition at line 134 of file Collimator70BeamLine.hh.

◆ Giunz3FinalCollMaterialIORT

G4Material* Collimator70BeamLine::Giunz3FinalCollMaterialIORT
private

Definition at line 130 of file Collimator70BeamLine.hh.

◆ Giunz4FinalCollMaterialIORT

G4Material* Collimator70BeamLine::Giunz4FinalCollMaterialIORT
private

Definition at line 140 of file Collimator70BeamLine.hh.

◆ Giunz5FinalCollMaterialIORT

G4Material* Collimator70BeamLine::Giunz5FinalCollMaterialIORT
private

Definition at line 145 of file Collimator70BeamLine.hh.

◆ gray

G4VisAttributes* Collimator70BeamLine::gray
private

Definition at line 102 of file Collimator70BeamLine.hh.

◆ green

G4VisAttributes* Collimator70BeamLine::green
private

Definition at line 106 of file Collimator70BeamLine.hh.

◆ innerRadiusFinalCollimatorIORT

G4double Collimator70BeamLine::innerRadiusFinalCollimatorIORT
private

Definition at line 112 of file Collimator70BeamLine.hh.

◆ iortDetectorConstruction

IORTDetectorConstruction* Collimator70BeamLine::iortDetectorConstruction
private

Definition at line 99 of file Collimator70BeamLine.hh.

◆ OuterRadiusFinalCollimatorIORT

G4double Collimator70BeamLine::OuterRadiusFinalCollimatorIORT
private

Definition at line 112 of file Collimator70BeamLine.hh.

◆ PFS1IORTMaterialIORT

G4Material* Collimator70BeamLine::PFS1IORTMaterialIORT
private

Definition at line 195 of file Collimator70BeamLine.hh.

◆ PFS2IORTMaterialIORT

G4Material* Collimator70BeamLine::PFS2IORTMaterialIORT
private

Definition at line 200 of file Collimator70BeamLine.hh.

◆ PFS3IORTMaterialIORT

G4Material* Collimator70BeamLine::PFS3IORTMaterialIORT
private

Definition at line 205 of file Collimator70BeamLine.hh.

◆ physiBlocco1IORT

G4VPhysicalVolume* Collimator70BeamLine::physiBlocco1IORT
private

Definition at line 149 of file Collimator70BeamLine.hh.

◆ physiBlocco20mmIORT

G4VPhysicalVolume* Collimator70BeamLine::physiBlocco20mmIORT
private

Definition at line 164 of file Collimator70BeamLine.hh.

◆ physiBlocco2IORT

G4VPhysicalVolume* Collimator70BeamLine::physiBlocco2IORT
private

Definition at line 154 of file Collimator70BeamLine.hh.

◆ physiBlocco3IORT

G4VPhysicalVolume* Collimator70BeamLine::physiBlocco3IORT
private

Definition at line 159 of file Collimator70BeamLine.hh.

◆ physicalTreatmentRoom

G4VPhysicalVolume* Collimator70BeamLine::physicalTreatmentRoom
private

Definition at line 98 of file Collimator70BeamLine.hh.

◆ physiCCMIORT

G4VPhysicalVolume* Collimator70BeamLine::physiCCMIORT
private

Definition at line 189 of file Collimator70BeamLine.hh.

◆ physiCM1_1_2IORT

G4VPhysicalVolume* Collimator70BeamLine::physiCM1_1_2IORT
private

Definition at line 169 of file Collimator70BeamLine.hh.

◆ physiCM1_2_2IORT

G4VPhysicalVolume* Collimator70BeamLine::physiCM1_2_2IORT
private

Definition at line 174 of file Collimator70BeamLine.hh.

◆ physiCM2_1_2IORT

G4VPhysicalVolume* Collimator70BeamLine::physiCM2_1_2IORT
private

Definition at line 179 of file Collimator70BeamLine.hh.

◆ physiCM2_2_2IORT

G4VPhysicalVolume* Collimator70BeamLine::physiCM2_2_2IORT
private

Definition at line 184 of file Collimator70BeamLine.hh.

◆ physiFinalCollimatorIORT

G4VPhysicalVolume* Collimator70BeamLine::physiFinalCollimatorIORT
private

Definition at line 114 of file Collimator70BeamLine.hh.

◆ physiFTIORT

G4VPhysicalVolume* Collimator70BeamLine::physiFTIORT
private

Definition at line 209 of file Collimator70BeamLine.hh.

◆ physiGiunz1FinalCollIORT

G4VPhysicalVolume* Collimator70BeamLine::physiGiunz1FinalCollIORT
private

Definition at line 119 of file Collimator70BeamLine.hh.

◆ physiGiunz2FinalCollIORT

G4VPhysicalVolume* Collimator70BeamLine::physiGiunz2FinalCollIORT
private

Definition at line 124 of file Collimator70BeamLine.hh.

◆ physiGiunz3FinalCollIntIORT

G4VPhysicalVolume* Collimator70BeamLine::physiGiunz3FinalCollIntIORT
private

Definition at line 135 of file Collimator70BeamLine.hh.

◆ physiGiunz3FinalCollIORT

G4VPhysicalVolume* Collimator70BeamLine::physiGiunz3FinalCollIORT
private

Definition at line 129 of file Collimator70BeamLine.hh.

◆ physiGiunz4FinalCollIORT

G4VPhysicalVolume* Collimator70BeamLine::physiGiunz4FinalCollIORT
private

Definition at line 139 of file Collimator70BeamLine.hh.

◆ physiGiunz5FinalCollIORT

G4VPhysicalVolume* Collimator70BeamLine::physiGiunz5FinalCollIORT
private

Definition at line 144 of file Collimator70BeamLine.hh.

◆ physiPFS1IORT

G4VPhysicalVolume* Collimator70BeamLine::physiPFS1IORT
private

Definition at line 194 of file Collimator70BeamLine.hh.

◆ physiPFS2IORT

G4VPhysicalVolume* Collimator70BeamLine::physiPFS2IORT
private

Definition at line 199 of file Collimator70BeamLine.hh.

◆ physiPFS3IORT

G4VPhysicalVolume* Collimator70BeamLine::physiPFS3IORT
private

Definition at line 204 of file Collimator70BeamLine.hh.

◆ physiVSIORT

G4VPhysicalVolume* Collimator70BeamLine::physiVSIORT
private

Definition at line 214 of file Collimator70BeamLine.hh.

◆ red

G4VisAttributes* Collimator70BeamLine::red
private

Definition at line 104 of file Collimator70BeamLine.hh.

◆ skyBlue

G4VisAttributes* Collimator70BeamLine::skyBlue
private

Definition at line 109 of file Collimator70BeamLine.hh.

◆ solidBlocco1IORT

G4Tubs* Collimator70BeamLine::solidBlocco1IORT
private

Definition at line 148 of file Collimator70BeamLine.hh.

◆ solidBlocco20mmIORT

G4Tubs* Collimator70BeamLine::solidBlocco20mmIORT
private

Definition at line 163 of file Collimator70BeamLine.hh.

◆ solidBlocco2IORT

G4Tubs* Collimator70BeamLine::solidBlocco2IORT
private

Definition at line 153 of file Collimator70BeamLine.hh.

◆ solidBlocco3IORT

G4Tubs* Collimator70BeamLine::solidBlocco3IORT
private

Definition at line 158 of file Collimator70BeamLine.hh.

◆ solidCCMIORT

G4Tubs* Collimator70BeamLine::solidCCMIORT
private

Definition at line 188 of file Collimator70BeamLine.hh.

◆ solidCM1_1_2IORT

G4Tubs* Collimator70BeamLine::solidCM1_1_2IORT
private

Definition at line 168 of file Collimator70BeamLine.hh.

◆ solidCM1_2_2IORT

G4Tubs* Collimator70BeamLine::solidCM1_2_2IORT
private

Definition at line 173 of file Collimator70BeamLine.hh.

◆ solidCM2_1_2IORT

G4Tubs* Collimator70BeamLine::solidCM2_1_2IORT
private

Definition at line 178 of file Collimator70BeamLine.hh.

◆ solidCM2_2_2IORT

G4Tubs* Collimator70BeamLine::solidCM2_2_2IORT
private

Definition at line 183 of file Collimator70BeamLine.hh.

◆ solidFinalCollimatorIORT

G4Tubs* Collimator70BeamLine::solidFinalCollimatorIORT
private

Definition at line 113 of file Collimator70BeamLine.hh.

◆ solidFTIORT

G4Tubs* Collimator70BeamLine::solidFTIORT
private

Definition at line 208 of file Collimator70BeamLine.hh.

◆ solidGiunz1FinalCollIORT

G4Tubs* Collimator70BeamLine::solidGiunz1FinalCollIORT
private

Definition at line 118 of file Collimator70BeamLine.hh.

◆ solidGiunz2FinalCollIORT

G4Tubs* Collimator70BeamLine::solidGiunz2FinalCollIORT
private

Definition at line 123 of file Collimator70BeamLine.hh.

◆ solidGiunz3FinalCollIntIORT

G4Cons* Collimator70BeamLine::solidGiunz3FinalCollIntIORT
private

Definition at line 133 of file Collimator70BeamLine.hh.

◆ solidGiunz3FinalCollIORT

G4Tubs* Collimator70BeamLine::solidGiunz3FinalCollIORT
private

Definition at line 128 of file Collimator70BeamLine.hh.

◆ solidGiunz4FinalCollIORT

G4Tubs* Collimator70BeamLine::solidGiunz4FinalCollIORT
private

Definition at line 138 of file Collimator70BeamLine.hh.

◆ solidGiunz5FinalCollIORT

G4Tubs* Collimator70BeamLine::solidGiunz5FinalCollIORT
private

Definition at line 143 of file Collimator70BeamLine.hh.

◆ solidPFS1IORT

G4Tubs* Collimator70BeamLine::solidPFS1IORT
private

Definition at line 193 of file Collimator70BeamLine.hh.

◆ solidPFS2IORT

G4Tubs* Collimator70BeamLine::solidPFS2IORT
private

Definition at line 198 of file Collimator70BeamLine.hh.

◆ solidPFS3IORT

G4Tubs* Collimator70BeamLine::solidPFS3IORT
private

Definition at line 203 of file Collimator70BeamLine.hh.

◆ solidVSIORT

G4Tubs* Collimator70BeamLine::solidVSIORT
private

Definition at line 213 of file Collimator70BeamLine.hh.

◆ VSIORTMaterialIORT

G4Material* Collimator70BeamLine::VSIORTMaterialIORT
private

Definition at line 215 of file Collimator70BeamLine.hh.

◆ white

G4VisAttributes* Collimator70BeamLine::white
private

Definition at line 103 of file Collimator70BeamLine.hh.

◆ yellow

G4VisAttributes* Collimator70BeamLine::yellow
private

Definition at line 105 of file Collimator70BeamLine.hh.


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