File indexing completed on 2025-01-31 09:22:27
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041 #ifndef Collimator100BeamLine_H
0042 #define Collimator100BeamLine_H 1
0043
0044 #include "globals.hh"
0045 #include "G4VUserDetectorConstruction.hh"
0046 #include "G4Box.hh"
0047 #include "G4Tubs.hh"
0048 #include "G4VisAttributes.hh"
0049 #include "G4LogicalVolume.hh"
0050
0051 #include "G4Cons.hh"
0052 #include "G4SubtractionSolid.hh"
0053
0054 class G4VPhysicalVolume;
0055 class IORTDetectorConstruction;
0056 class Collimator100BeamLineMessenger;
0057
0058 class Collimator100BeamLine : public G4VUserDetectorConstruction
0059 {
0060 public:
0061
0062
0063 Collimator100BeamLine();
0064 ~Collimator100BeamLine();
0065
0066 G4VPhysicalVolume* Construct();
0067
0068
0069 void IortBeamLineVacuumSource();
0070 void IortBeamLineTitaniumWindows();
0071 void IortBeamLineMonitorChambers();
0072 void IortBeamLineBlocks() ;
0073 void IortBeamLineJunctions();
0074 void IortBeamLineFinalCollimator();
0075
0076
0077 void SetInnerRadiusFinalCollimatorIORT(G4double);
0078
0079
0080
0081 void SetOuterRadiusFinalCollimatorIORT(G4double);
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091 private:
0092
0093 void SetDefaultDimensions();
0094 void ConstructCollimator100BeamLine();
0095
0096
0097 Collimator100BeamLineMessenger* collimatorMessenger;
0098 G4VPhysicalVolume* physicalTreatmentRoom;
0099 IORTDetectorConstruction* iortDetectorConstruction;
0100
0101 G4VisAttributes* blue;
0102 G4VisAttributes* gray;
0103 G4VisAttributes* white;
0104 G4VisAttributes* red;
0105 G4VisAttributes* yellow;
0106 G4VisAttributes* green;
0107 G4VisAttributes* darkGreen;
0108 G4VisAttributes* darkOrange3;
0109 G4VisAttributes* skyBlue;
0110
0111
0112 G4double innerRadiusFinalCollimatorIORT;
0113 G4double OuterRadiusFinalCollimatorIORT;
0114 G4Tubs* solidFinalCollimatorIORT;
0115 G4VPhysicalVolume* physiFinalCollimatorIORT;
0116 G4Material* finalCollimatorMaterialIORT;
0117
0118
0119 G4Tubs* solidGiunz1FinalCollIORT;
0120 G4VPhysicalVolume* physiGiunz1FinalCollIORT;
0121 G4Material* Giunz1FinalCollMaterialIORT;
0122
0123
0124 G4Tubs* solidGiunz2FinalCollIORT;
0125 G4VPhysicalVolume* physiGiunz2FinalCollIORT;
0126 G4Material* Giunz2FinalCollMaterialIORT;
0127
0128
0129 G4Tubs* solidGiunz3FinalCollIORT;
0130 G4VPhysicalVolume* physiGiunz3FinalCollIORT;
0131 G4Material* Giunz3FinalCollMaterialIORT;
0132
0133
0134 G4Cons* solidGiunz3FinalCollIntIORT;
0135 G4Material* Giunz3FinalCollMaterialIntIORT;
0136 G4VPhysicalVolume* physiGiunz3FinalCollIntIORT;
0137
0138
0139 G4Tubs* solidGiunz4FinalCollIORT;
0140 G4VPhysicalVolume* physiGiunz4FinalCollIORT;
0141 G4Material* Giunz4FinalCollMaterialIORT;
0142
0143
0144 G4Tubs* solidGiunz5FinalCollIORT;
0145 G4VPhysicalVolume* physiGiunz5FinalCollIORT;
0146 G4Material* Giunz5FinalCollMaterialIORT;
0147
0148
0149 G4Tubs* solidBlocco1IORT;
0150 G4VPhysicalVolume* physiBlocco1IORT;
0151 G4Material* Blocco1IORTMaterialIORT;
0152
0153
0154 G4Tubs* solidBlocco2IORT;
0155 G4VPhysicalVolume* physiBlocco2IORT;
0156 G4Material* Blocco2IORTMaterialIORT;
0157
0158
0159 G4Tubs* solidBlocco3IORT;
0160 G4VPhysicalVolume* physiBlocco3IORT;
0161 G4Material* Blocco3IORTMaterialIORT;
0162
0163
0164 G4Tubs* solidBlocco20mmIORT;
0165 G4VPhysicalVolume* physiBlocco20mmIORT;
0166 G4Material* Blocco20mmIORTMaterialIORT;
0167
0168
0169 G4Tubs* solidCM1_1_2IORT;
0170 G4VPhysicalVolume* physiCM1_1_2IORT;
0171 G4Material* CM1_1_2IORTMaterialIORT;
0172
0173
0174 G4Tubs* solidCM1_2_2IORT;
0175 G4VPhysicalVolume* physiCM1_2_2IORT;
0176 G4Material* CM1_2_2IORTMaterialIORT;
0177
0178
0179 G4Tubs* solidCM2_1_2IORT;
0180 G4VPhysicalVolume* physiCM2_1_2IORT;
0181 G4Material* CM2_1_2IORTMaterialIORT;
0182
0183
0184 G4Tubs* solidCM2_2_2IORT;
0185 G4VPhysicalVolume* physiCM2_2_2IORT;
0186 G4Material* CM2_2_2IORTMaterialIORT;
0187
0188
0189 G4Tubs* solidCCMIORT;
0190 G4VPhysicalVolume* physiCCMIORT;
0191 G4Material* CCMIORTMaterialIORT;
0192
0193
0194 G4Tubs* solidPFS1IORT;
0195 G4VPhysicalVolume* physiPFS1IORT;
0196 G4Material* PFS1IORTMaterialIORT;
0197
0198
0199 G4Tubs* solidPFS2IORT;
0200 G4VPhysicalVolume* physiPFS2IORT;
0201 G4Material* PFS2IORTMaterialIORT;
0202
0203
0204 G4Tubs* solidPFS3IORT;
0205 G4VPhysicalVolume* physiPFS3IORT;
0206 G4Material* PFS3IORTMaterialIORT;
0207
0208
0209 G4Tubs* solidFTIORT;
0210 G4VPhysicalVolume* physiFTIORT;
0211 G4Material* FTIORTMaterialIORT;
0212
0213
0214 G4Tubs* solidVSIORT;
0215 G4VPhysicalVolume* physiVSIORT;
0216 G4Material* VSIORTMaterialIORT;
0217
0218
0219 };
0220 #endif
0221
0222
0223