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
BrachyMaterial.cc
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file BrachyMaterial.cc
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
// Code developed by:
27
// S.Guatelli, A. Le
28
//
29
// *******************************
30
// * *
31
// * BrachyMaterial.cc *
32
// * *
33
// *******************************
34
//
35
//
36
#include "
globals.hh
"
37
#include "
Randomize.hh
"
38
#include "
G4PhysicalConstants.hh
"
39
#include "
G4SystemOfUnits.hh
"
40
#include "
G4MaterialTable.hh
"
41
#include "
G4MaterialPropertiesTable.hh
"
42
#include "
G4MaterialPropertyVector.hh
"
43
#include "
G4RunManager.hh
"
44
#include "
G4Element.hh
"
45
#include "
G4ElementTable.hh
"
46
#include "
BrachyMaterial.hh
"
47
48
BrachyMaterial::BrachyMaterial
()
49
{;}
50
51
BrachyMaterial::~BrachyMaterial
()
52
{;}
53
54
void
BrachyMaterial::DefineMaterials
()
55
{
56
// Define required materials
57
58
G4double
A
;
// atomic mass
59
G4double
Z
;
// atomic number
60
G4double
d
;
// density
61
62
// General elements
63
64
A = 1.01*
g
/
mole
;
65
G4Element
* elH =
new
G4Element
(
"Hydrogen"
,
"H"
,Z = 1.,A);
66
67
A = 14.01*
g
/
mole
;
68
G4Element
* elN =
new
G4Element
(
"Nitrogen"
,
"N"
,Z = 7.,A);
69
70
A = 16.00*
g
/
mole
;
71
G4Element
* elO =
new
G4Element
(
"Oxygen"
,
"O"
,Z = 8.,A);
72
73
A=26.98*
g
/
mole
;
74
G4Element
* elAl =
new
G4Element
(
"Aluminum"
,
"Al"
, Z = 13.,A);
75
76
A = 12.011*
g
/
mole
;
77
G4Element
* elC =
new
G4Element
(
"Carbon"
,
"C"
,Z = 6.,A);
78
79
A = 22.99*
g
/
mole
;
80
G4Element
* elNa =
new
G4Element
(
"Sodium"
,
"Na"
,Z = 11.,A);
81
82
A = 24.305*
g
/
mole
;
83
G4Element
* elMg =
new
G4Element
(
"Magnesium"
,
"Mg"
,Z = 12.,A);
84
85
A = 30.974*
g
/
mole
;
86
G4Element
* elP =
new
G4Element
(
"Phosphorus"
,
"P"
,Z = 15.,A);
87
88
A = 32.06*
g
/
mole
;
89
G4Element
* elS =
new
G4Element
(
"Sulfur"
,
"S"
,Z = 16.,A);
90
91
A = 35.453*
g
/
mole
;
92
G4Element
* elCl =
new
G4Element
(
"Chlorine"
,
"Cl"
,Z = 17.,A);
93
94
A = 39.098*
g
/
mole
;
95
G4Element
* elK =
new
G4Element
(
"Potassium"
,
"K"
,Z = 19.,A);
96
97
A = 40.08*
g
/
mole
;
98
G4Element
* elCa =
new
G4Element
(
"Calcium"
,
"Ca"
,Z = 20.,A);
99
100
A = 65.38*
g
/
mole
;
101
G4Element
* elZn =
new
G4Element
(
"Zinc"
,
"Zn"
,Z = 30.,A);
102
103
A = 54.94*
g
/
mole
;
104
G4Element
* elMn =
new
G4Element
(
"Manganese"
,
"Mn"
,Z = 25.,A);
105
106
A = 28.09*
g
/
mole
;
107
G4Element
* elSi =
new
G4Element
(
"Silicon"
,
"Si"
,Z = 14.,A);
108
109
A = 52.00*
g
/
mole
;
110
G4Element
* elCr =
new
G4Element
(
"Chromium"
,
"Cr"
,Z = 24.,A);
111
112
A = 58.70*
g
/
mole
;
113
G4Element
* elNi =
new
G4Element
(
"Nickel"
,
"Ni"
,Z = 28.,A);
114
115
A = 55.85*
g
/
mole
;
116
G4Element
* elFe =
new
G4Element
(
"Iron"
,
"Fe"
,Z = 26.,A);
117
118
A = 183.84*
g
/
mole
;
119
d = 19.3*
g
/
cm3
;
120
matW
=
new
G4Material
(
"Tungsten"
,Z = 74.,A,d);
121
122
// Perspex, plexiglass, lucite
123
d = 1.19*
g
/
cm3
;
124
matplexiglass
=
new
G4Material
(
"Plexiglass"
,d,3);
125
matplexiglass
->
AddElement
(elH,0.08);
126
matplexiglass
->
AddElement
(elC,0.60);
127
matplexiglass
->
AddElement
(elO,0.32);
128
129
// Lead material
130
A = 207.19*
g
/
mole
;
131
Z = 82;
132
d = 11.35*
g
/
cm3
;
133
matPb
=
new
G4Material
(
"Lead"
,Z,A,d);
134
135
// Iridium (Medical Physics, Vol 25, No 10, Oct 1998)
136
d = 22.42*
g
/
cm3
;
137
A = 191.96260*
g
/
mole
;
138
Z = 77;
139
matir192
=
new
G4Material
(
"Iridium"
,Z,A,d);
140
141
//titanium
142
A = 47.88*
g
/
mole
;
143
d = 4.50*
g
/
cm3
;
144
Titanium
=
new
G4Material
(
"titanium"
,Z = 22.,A,d);
145
146
//silver
147
A = 107.87*
g
/
mole
;
148
d = 10.49*
g
/
cm3
;
149
Z = 22.0;
150
matAg
=
new
G4Material
(
"Silver"
, Z, A, d);
151
152
// Air material
153
d = 1.290*
mg
/
cm3
;
154
matAir
=
new
G4Material
(
"Air"
,d,2);
155
matAir
->
AddElement
(elN,0.7);
156
matAir
->
AddElement
(elO,0.3);
157
158
// Water
159
d = 1.000*
g
/
cm3
;
160
matH2O
=
new
G4Material
(
"Water"
,d,2);
161
matH2O
->
AddElement
(elH,2);
162
matH2O
->
AddElement
(elO,1);
163
matH2O
->
GetIonisation
()->
SetMeanExcitationEnergy
(75.0*
eV
);
164
165
//soft tissue(http://www.nist.gov)
166
d = 1.0*
g
/
cm3
;
167
soft
=
new
G4Material
(
"tissue"
,d,13);
168
soft
->
AddElement
(elH,0.104472);
169
soft
->
AddElement
(elC,0.23219);
170
soft
->
AddElement
(elN,0.02488);
171
soft
->
AddElement
(elO,0.630238);
172
soft
->
AddElement
(elNa,0.00113);
173
soft
->
AddElement
(elMg,0.00013);
174
soft
->
AddElement
(elP,0.00133);
175
soft
->
AddElement
(elS,0.00199);
176
soft
->
AddElement
(elCl,0.00134);
177
soft
->
AddElement
(elK,0.00199);
178
soft
->
AddElement
(elCa,0.00023);
179
soft
->
AddElement
(elFe,0.00005);
180
soft
->
AddElement
(elZn,0.00003);
181
182
// Stainless steel (Medical Physics, Vol 25, No 10, Oct 1998)
183
d = 8.02*
g
/
cm3
;
184
matsteel
=
new
G4Material
(
"Stainless steel"
,d,5);
185
matsteel
->
AddElement
(elMn, 0.02);
186
matsteel
->
AddElement
(elSi, 0.01);
187
matsteel
->
AddElement
(elCr, 0.19);
188
matsteel
->
AddElement
(elNi, 0.10);
189
matsteel
->
AddElement
(elFe, 0.68);
190
191
//Define Stainless-steel-304 - Flexi source
192
d = 7.999*
g
/
cm3
;
193
mat304steel
=
new
G4Material
(
"Stainless steel 304"
,d,6);
194
mat304steel
->
AddElement
(elMn, 0.02);
195
mat304steel
->
AddElement
(elSi, 0.01);
196
mat304steel
->
AddElement
(elCr, 0.19);
197
mat304steel
->
AddElement
(elNi, 0.10);
198
mat304steel
->
AddElement
(elFe, 0.6792);
199
mat304steel
->
AddElement
(elC, 0.0008);
200
201
//gold
202
A = 196.97*
g
/
mole
;
203
d = 19.32*
g
/
cm3
;
204
gold
=
new
G4Material
(
"gold"
,Z = 79.,A,d);
205
206
//Iodine Core
207
A = 124.9*
g
/
mole
;
208
d = 4.862*
g
/
cm3
;
209
matI
=
new
G4Material
(
"Iodine"
,Z = 53.,A,d);
210
211
//ceramic(Medical Physics, May 2000)
212
d = 2.88*
g
/
cm3
;
213
ceramic
=
new
G4Material
(
"allumina"
,d,2);
214
ceramic
->
AddElement
(elAl,2);
215
ceramic
->
AddElement
(elO,3);
216
217
G4double
density =
universe_mean_density
;
218
G4double
pressure = 3.e-18*
pascal
;
219
G4double
temperature = 2.73*
kelvin
;
220
A=1.01*
g
/
mole
;
221
Vacuum
=
new
G4Material
(
"Galactic"
, Z = 1., A,density,
kStateGas
,temperature,pressure);
222
223
//compact bone (http://www.NIST.gov)
224
d = 1.85*
g
/
cm3
;
225
bone
=
new
G4Material
(
"bone"
,d,8);
226
bone
->
AddElement
(elH,0.063984);
227
bone
->
AddElement
(elC,0.278);
228
bone
->
AddElement
(elN,0.027);
229
bone
->
AddElement
(elO,0.410016);
230
bone
->
AddElement
(elMg,0.002);
231
bone
->
AddElement
(elP,0.07);
232
bone
->
AddElement
(elS,0.002);
233
bone
->
AddElement
(elCa,0.147);
234
235
//muscle(http://www.NIST.gov)
236
muscle
=
new
G4Material
(
"muscle"
,d,9);
237
muscle
->
AddElement
(elH,0.101997);
238
muscle
->
AddElement
(elC,0.123);
239
muscle
->
AddElement
(elN,0.035);
240
muscle
->
AddElement
(elNa,0.0008);
241
muscle
->
AddElement
(elO,0.729);
242
muscle
->
AddElement
(elMg,0.0002);
243
muscle
->
AddElement
(elP,0.002);
244
muscle
->
AddElement
(elS,0.005);
245
muscle
->
AddElement
(elK,0.003);
246
}
247
248
G4Material
*
BrachyMaterial::GetMat
(
G4String
material
)
249
{
250
// Returns a material
251
G4Material
* pttoMaterial =
G4Material::GetMaterial
(material);
252
return
pttoMaterial;
253
}
geant4
tree
geant4-10.6-release
examples
advanced
brachytherapy
src
BrachyMaterial.cc
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:55
using
1.8.2 with
ECCE GitHub integration