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
Collimator100BeamLine.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file Collimator100BeamLine.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 Collimator100BeamLine_H
42
#define Collimator100BeamLine_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
Collimator100BeamLineMessenger
;
57
58
class
Collimator100BeamLine
:
public
G4VUserDetectorConstruction
59
{
60
public
:
61
62
63
Collimator100BeamLine
();
64
~Collimator100BeamLine
();
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
//Collimator100 line dimensions
93
void
SetDefaultDimensions
();
94
void
ConstructCollimator100BeamLine
();
95
96
97
Collimator100BeamLineMessenger
*
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
G4Tubs
*
solidGiunz1FinalCollIORT
;
120
G4VPhysicalVolume
*
physiGiunz1FinalCollIORT
;
121
G4Material
*
Giunz1FinalCollMaterialIORT
;
122
123
// Junction 2 FINAL COLLIMATOR IORT
124
G4Tubs
*
solidGiunz2FinalCollIORT
;
125
G4VPhysicalVolume
*
physiGiunz2FinalCollIORT
;
126
G4Material
*
Giunz2FinalCollMaterialIORT
;
127
128
// Junction 3 FINAL COLLIMATOR IORT
129
G4Tubs
*
solidGiunz3FinalCollIORT
;
130
G4VPhysicalVolume
*
physiGiunz3FinalCollIORT
;
131
G4Material
*
Giunz3FinalCollMaterialIORT
;
132
133
// Junction 3 FINAL COLLIMATOR intIORT
134
G4Cons
*
solidGiunz3FinalCollIntIORT
;
135
G4Material
*
Giunz3FinalCollMaterialIntIORT
;
136
G4VPhysicalVolume
*
physiGiunz3FinalCollIntIORT
;
137
138
// Junction 4 FINAL COLLIMATOR IORT
139
G4Tubs
*
solidGiunz4FinalCollIORT
;
140
G4VPhysicalVolume
*
physiGiunz4FinalCollIORT
;
141
G4Material
*
Giunz4FinalCollMaterialIORT
;
142
143
// Junction 5 FINAL COLLIMATOR IORT
144
G4Tubs
*
solidGiunz5FinalCollIORT
;
145
G4VPhysicalVolume
*
physiGiunz5FinalCollIORT
;
146
G4Material
*
Giunz5FinalCollMaterialIORT
;
147
148
// Block 1 Diameter 30 mm
149
G4Tubs
*
solidBlocco1IORT
;
150
G4VPhysicalVolume
*
physiBlocco1IORT
;
151
G4Material
*
Blocco1IORTMaterialIORT
;
152
153
// Block 2 Diameter 30 mm
154
G4Tubs
*
solidBlocco2IORT
;
155
G4VPhysicalVolume
*
physiBlocco2IORT
;
156
G4Material
*
Blocco2IORTMaterialIORT
;
157
158
// Block 3 Diameter 30 mm
159
G4Tubs
*
solidBlocco3IORT
;
160
G4VPhysicalVolume
*
physiBlocco3IORT
;
161
G4Material
*
Blocco3IORTMaterialIORT
;
162
163
// Block 4 Internal Diameter 20 mm
164
G4Tubs
*
solidBlocco20mmIORT
;
165
G4VPhysicalVolume
*
physiBlocco20mmIORT
;
166
G4Material
*
Blocco20mmIORTMaterialIORT
;
167
168
// First Chamber Monitor 1 of 2
169
G4Tubs
*
solidCM1_1_2IORT
;
170
G4VPhysicalVolume
*
physiCM1_1_2IORT
;
171
G4Material
*
CM1_1_2IORTMaterialIORT
;
172
173
// First Chamber Monitor 2 of 2
174
G4Tubs
*
solidCM1_2_2IORT
;
175
G4VPhysicalVolume
*
physiCM1_2_2IORT
;
176
G4Material
*
CM1_2_2IORTMaterialIORT
;
177
178
// Second Chamber Monitor 1 of 2
179
G4Tubs
*
solidCM2_1_2IORT
;
180
G4VPhysicalVolume
*
physiCM2_1_2IORT
;
181
G4Material
*
CM2_1_2IORTMaterialIORT
;
182
183
// Second Chamber Monitor 2 of 2
184
G4Tubs
*
solidCM2_2_2IORT
;
185
G4VPhysicalVolume
*
physiCM2_2_2IORT
;
186
G4Material
*
CM2_2_2IORTMaterialIORT
;
187
188
// Monitor Chambers Cylinder
189
G4Tubs
*
solidCCMIORT
;
190
G4VPhysicalVolume
*
physiCCMIORT
;
191
G4Material
*
CCMIORTMaterialIORT
;
192
193
// Superior Final Monitor Chamber Part 1
194
G4Tubs
*
solidPFS1IORT
;
195
G4VPhysicalVolume
*
physiPFS1IORT
;
196
G4Material
*
PFS1IORTMaterialIORT
;
197
198
// Superior Final Monitor Chamber Part 2
199
G4Tubs
*
solidPFS2IORT
;
200
G4VPhysicalVolume
*
physiPFS2IORT
;
201
G4Material
*
PFS2IORTMaterialIORT
;
202
203
// Superior Final Monitor Chamber Part 3
204
G4Tubs
*
solidPFS3IORT
;
205
G4VPhysicalVolume
*
physiPFS3IORT
;
206
G4Material
*
PFS3IORTMaterialIORT
;
207
208
// Titanium Window
209
G4Tubs
*
solidFTIORT
;
210
G4VPhysicalVolume
*
physiFTIORT
;
211
G4Material
*
FTIORTMaterialIORT
;
212
213
// Vacuum Source
214
G4Tubs
*
solidVSIORT
;
215
G4VPhysicalVolume
*
physiVSIORT
;
216
G4Material
*
VSIORTMaterialIORT
;
217
218
219
};
220
#endif
221
222
223
geant4
tree
geant4-10.6-release
examples
advanced
iort_therapy
include
Collimator100BeamLine.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:59
using
1.8.2 with
ECCE GitHub integration