Geant4 Cross Reference |
1 // 2 // ******************************************************************** 3 // * License and Disclaimer * 4 // * * 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. * 10 // * * 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitation of liability. * 17 // * * 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboration. * 20 // * By using, copying, modifying or distributing the software (or * 21 // * any work based on the software) you agree to acknowledge its * 22 // * use in resulting scientific publications, and indicate your * 23 // * acceptance of all terms of the Geant4 Software license. * 24 // ******************************************************************** 25 // 26 // This is the *BASIC* version of IORT, a Geant4-based application 27 // 28 // Main Authors: G.Russo(a,b), C.Casarino*(c), G.C. Candiano(c), G.A.P. Cirrone(d), F.Romano(d) 29 // Contributor Authors: S.Guatelli(e) 30 // Past Authors: G.Arnetta(c), S.E.Mazzaglia(d) 31 // 32 // (a) Fondazione Istituto San Raffaele G.Giglio, Cefalù, Italy 33 // (b) IBFM-CNR , Segrate (Milano), Italy 34 // (c) LATO (Laboratorio di Tecnologie Oncologiche), Cefalù, Italy 35 // (d) Laboratori Nazionali del Sud of the INFN, Catania, Italy 36 // (e) University of Wollongong, Australia 37 // 38 // *Corresponding author, email to carlo.casarino@polooncologicocefalu.it 39 ////////////////////////////////////////////////////////////////////////////////////////////// 40 41 #ifndef Collimator50BeamLine_H 42 #define Collimator50BeamLine_H 1 43 44 #include "globals.hh" 45 #include "G4VUserDetectorConstruction.hh" 46 #include "G4Box.hh" 47 #include "G4Tubs.hh" 48 #include "G4VisAttributes.hh" 49 #include "G4LogicalVolume.hh" 50 51 #include "G4Cons.hh" 52 #include "G4SubtractionSolid.hh" 53 54 class G4VPhysicalVolume; 55 class IORTDetectorConstruction; 56 class Collimator50BeamLineMessenger; 57 58 class Collimator50BeamLine : public G4VUserDetectorConstruction 59 { 60 public: 61 62 63 Collimator50BeamLine(); 64 ~Collimator50BeamLine(); 65 66 G4VPhysicalVolume* Construct(); 67 68 69 void IortBeamLineVacuumSource(); 70 void IortBeamLineTitaniumWindows(); 71 void IortBeamLineMonitorChambers(); 72 void IortBeamLineBlocks() ; 73 void IortBeamLineJunctions(); 74 void IortBeamLineFinalCollimator(); 75 76 77 void SetInnerRadiusFinalCollimatorIORT(G4double); 78 // This method allows to change the size of the inner radius of the 79 // final collimator 80 81 void SetOuterRadiusFinalCollimatorIORT(G4double); 82 // This method allows to change the size of the outer radius of the 83 // final collimator 84 85 // void SetFinalCollimatorIORTMaterial(G4String); 86 // This method allows to change the material 87 // of the final collimator 88 89 90 91 private: 92 //Collimator50 line dimensions 93 void SetDefaultDimensions(); 94 void ConstructCollimator50BeamLine(); 95 96 97 Collimator50BeamLineMessenger* collimatorMessenger; 98 G4VPhysicalVolume* physicalTreatmentRoom; 99 IORTDetectorConstruction* iortDetectorConstruction; 100 101 G4VisAttributes* blue; 102 G4VisAttributes* gray; 103 G4VisAttributes* white; 104 G4VisAttributes* red; 105 G4VisAttributes* yellow; 106 G4VisAttributes* green; 107 G4VisAttributes* darkGreen; 108 G4VisAttributes* darkOrange3; 109 G4VisAttributes* skyBlue; 110 111 // Final Collimator IORT 112 G4double innerRadiusFinalCollimatorIORT; 113 G4double OuterRadiusFinalCollimatorIORT; 114 G4Tubs* solidFinalCollimatorIORT; 115 G4VPhysicalVolume* physiFinalCollimatorIORT; 116 G4Material* finalCollimatorMaterialIORT; 117 118 // Junction 1 FINAL COLLIMATOR IORT 119 G4Material* Giunz1FinalCollMaterialIORT; 120 121 // Junction 2 FINAL COLLIMATOR IORT 122 G4Material* Giunz2FinalCollMaterialIORT; 123 124 // Junction 3 FINAL COLLIMATOR IORT 125 G4Tubs* solidGiunz3FinalCollIORT; 126 G4VPhysicalVolume* physiGiunz3FinalCollIORT; 127 G4Material* Giunz3FinalCollMaterialIORT; 128 129 // Junction 3 FINAL COLLIMATOR intIORT 130 G4Cons* solidGiunz3FinalCollIntIORT; 131 G4Material* Giunz3FinalCollMaterialIntIORT; 132 G4VPhysicalVolume* physiGiunz3FinalCollIntIORT; 133 134 // Junction 4 FINAL COLLIMATOR IORT 135 G4Tubs* solidGiunz4FinalCollIORT; 136 G4VPhysicalVolume* physiGiunz4FinalCollIORT; 137 G4Material* Giunz4FinalCollMaterialIORT; 138 139 // Junction 5 FINAL COLLIMATOR IORT 140 G4Tubs* solidGiunz5FinalCollIORT; 141 G4VPhysicalVolume* physiGiunz5FinalCollIORT; 142 G4Material* Giunz5FinalCollMaterialIORT; 143 144 // Block 1 Diameter 30 mm 145 G4Tubs* solidBlocco1IORT; 146 G4VPhysicalVolume* physiBlocco1IORT; 147 G4Material* Blocco1IORTMaterialIORT; 148 149 // Block 2 Diameter 30 mm 150 G4Tubs* solidBlocco2IORT; 151 G4VPhysicalVolume* physiBlocco2IORT; 152 G4Material* Blocco2IORTMaterialIORT; 153 154 // Block 3 Diameter 30 mm 155 G4Tubs* solidBlocco3IORT; 156 G4VPhysicalVolume* physiBlocco3IORT; 157 G4Material* Blocco3IORTMaterialIORT; 158 159 // Block 4 Internal Diameter 20 mm 160 G4Tubs* solidBlocco20mmIORT; 161 G4VPhysicalVolume* physiBlocco20mmIORT; 162 G4Material* Blocco20mmIORTMaterialIORT; 163 164 // First Chamber Monitor 1 of 2 165 G4Tubs* solidCM1_1_2IORT; 166 G4VPhysicalVolume* physiCM1_1_2IORT; 167 G4Material* CM1_1_2IORTMaterialIORT; 168 169 // First Chamber Monitor 2 of 2 170 G4Tubs* solidCM1_2_2IORT; 171 G4VPhysicalVolume* physiCM1_2_2IORT; 172 G4Material* CM1_2_2IORTMaterialIORT; 173 174 // Second Chamber Monitor 1 of 2 175 G4Tubs* solidCM2_1_2IORT; 176 G4VPhysicalVolume* physiCM2_1_2IORT; 177 G4Material* CM2_1_2IORTMaterialIORT; 178 179 // Second Chamber Monitor 2 of 2 180 G4Tubs* solidCM2_2_2IORT; 181 G4VPhysicalVolume* physiCM2_2_2IORT; 182 G4Material* CM2_2_2IORTMaterialIORT; 183 184 // Monitor Chambers Cylinder 185 G4Tubs* solidCCMIORT; 186 G4VPhysicalVolume* physiCCMIORT; 187 G4Material* CCMIORTMaterialIORT; 188 189 // Superior Final Monitor Chamber Part 1 190 G4Tubs* solidPFS1IORT; 191 G4VPhysicalVolume* physiPFS1IORT; 192 G4Material* PFS1IORTMaterialIORT; 193 194 // Superior Final Monitor Chamber Part 2 195 G4Tubs* solidPFS2IORT; 196 G4VPhysicalVolume* physiPFS2IORT; 197 G4Material* PFS2IORTMaterialIORT; 198 199 // Superior Final Monitor Chamber Part 3 200 G4Tubs* solidPFS3IORT; 201 G4VPhysicalVolume* physiPFS3IORT; 202 G4Material* PFS3IORTMaterialIORT; 203 204 // Titanium Window 205 G4Tubs* solidFTIORT; 206 G4VPhysicalVolume* physiFTIORT; 207 G4Material* FTIORTMaterialIORT; 208 209 // Vacuum Source 210 G4Tubs* solidVSIORT; 211 G4VPhysicalVolume* physiVSIORT; 212 G4Material* VSIORTMaterialIORT; 213 214 215 }; 216 #endif 217 218 219 220