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