Geant4  10.02.p03
Collimator70BeamLine Class Reference

#include <Collimator70BeamLine.hh>

Inheritance diagram for Collimator70BeamLine:
Collaboration diagram for Collimator70BeamLine:

Public Member Functions

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

Private Member Functions

void SetDefaultDimensions ()
 
void ConstructCollimator70BeamLine ()
 

Private Attributes

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

Additional Inherited Members

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

Detailed Description

Definition at line 58 of file 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: