ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
Collimator50BeamLine.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file Collimator50BeamLine.hh
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
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
geant4
tree
geant4-10.6-release
examples
advanced
iort_therapy
include
Collimator50BeamLine.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:59
using
1.8.2 with
ECCE GitHub integration