GENIEGenerator
Loading...
Searching...
No Matches
MuELMaterial.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::mueloss::MuELMaterial
5
6\brief Enumeration of materials for which the MuELoss package knows how to
7 calculate muon energy losses.
8
9\ref W.Lohmann, R.Kopp and R.Voss,
10 Energy Loss of Muons in the Energy Range 1-10000 GeV, CERN 85-03
11
12\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
13 University of Liverpool
14
15\created December 10, 2003
16
17\cpright Copyright (c) 2003-2025, The GENIE Collaboration
18 For the full text of the license visit http://copyright.genie-mc.org
19
20*/
21//____________________________________________________________________________
22
23#ifndef _MUELOSS_MATERIAL_H_
24#define _MUELOSS_MATERIAL_H_
25
26namespace genie {
27namespace mueloss {
28
29typedef enum EMuELMaterial {
30
32
33 // ---- elements
34
37 eMuHelium = 103,
40 eMuBoron = 106,
41 eMuCarbon = 107,
43 eMuOxygen = 109,
45 eMuNeon = 111,
46 eMuSodium = 112,
52 eMuArgon = 118,
57 eMuIron = 123,
58 eMuNickel = 124,
59 eMuCopper = 125,
60 eMuZinc = 126,
63 eMuTin = 129,
64 eMuIodine = 130,
65 eMuBarium = 131,
67 eMuLead = 133,
70
71 // ---- compound materials
72
75 eMuPyrex = 203, /* <-- SiO2(80%),B2O3(12%),Na2O(5%) */
77 eMuConcrete = 205, /* <-- O2(52.9%),Si(33.7%),Ca(4.4%),Al(3.4%),Na(1.6%),Fe(1.4%),K(1.3%),H2(1%) */
80 eMuLeadGlassSF5 = 208, /* <-- PbO(55%),SiO2 (38%),K2O(5%),Na2O(1%) */
83 eMuLucite = 211,
92
94
96{
97public:
98 //____________________________________________________________________
99 static const char * AsString(MuELMaterial_t material)
100 {
101 switch(material) {
102
103 //- compound materials
104 case eMuBariumFluoride: return "Barium Fluoride"; break;
105 case eMuBismuthGermanate: return "Bismuth Germanate"; break;
106 case eMuPyrex: return "Pyrex"; break;
107 case eMuCalciumCarbonate: return "Calcium Carbonate"; break;
108 case eMuConcrete: return "Concrete"; break;
109 case eMuFreon12: return "Freon 12"; break;
110 case eMuFreon13B1: return "Freon 13B1"; break;
111 case eMuLeadOxide: return "Lead Oxide"; break;
112 case eMuLithiumFluoride: return "Lithium Fluoride"; break;
113 case eMuLucite: return "Lucite"; break;
114 case eMuPolyethylene: return "Polyethylene"; break;
115 case eMuPolystyrene: return "Polystyrene"; break;
116 case eMuLiquidPropane: return "Liquid Propane"; break;
117 case eMuSiliconDioxide: return "Silicon Dioxide"; break;
118 case eMuSodiumIodide: return "Sodium Iodide"; break;
119 case eMuStandardRock: return "Standard Rock"; break;
120 case eMuUraniumOxide: return "Uranium Oxide"; break;
121 case eMuWater: return "Water"; break;
122
123 //- elements
124 case eMuHydrogen: return "Hydrogen"; break;
125 case eMuDeuterium: return "Deuterium"; break;
126 case eMuHelium: return "Helium"; break;
127 case eMuLithium: return "Lithium"; break;
128 case eMuBeryllium: return "Beryllium"; break;
129 case eMuBoron: return "Boron"; break;
130 case eMuCarbon: return "Carbon"; break;
131 case eMuNitrogen: return "Nitrogen"; break;
132 case eMuOxygen: return "Oxygen"; break;
133 case eMuFluorine: return "Fluorine"; break;
134 case eMuNeon: return "Neon"; break;
135 case eMuSodium: return "Sodium"; break;
136 case eMuMagnesium: return "Magnesium"; break;
137 case eMuAluminium: return "Aluminium"; break;
138 case eMuSilicon: return "Silicon"; break;
139 case eMuSulphur: return "Sulphur"; break;
140 case eMuChlorine: return "Chlorine"; break;
141 case eMuArgon: return "Argon"; break;
142 case eMuPotassium: return "Potassium"; break;
143 case eMuCalcium: return "Calcium"; break;
144 case eMuChromium: return "Chromium"; break;
145 case eMuManganese: return "Manganese"; break;
146 case eMuIron: return "Iron"; break;
147 case eMuNickel: return "Nickel"; break;
148 case eMuCopper: return "Copper"; break;
149 case eMuZinc: return "Zinc"; break;
150 case eMuGermanium: return "Germanium"; break;
151 case eMuBromine: return "Bromine"; break;
152 case eMuTin: return "Tin"; break;
153 case eMuIodine: return "Iodine"; break;
154 case eMuBarium: return "Barium"; break;
155 case eMuTungsten: return "Tungsten"; break;
156 case eMuLead: return "Lead"; break;
157 case eMuBismuth: return "Bismuth"; break;
158 case eMuUranium: return "Uranium"; break;
159
160 case eMuUndefined:
161 default:
162 return "*** unknown material ***";
163 }
164 return "*** unknown material ***";
165 }
166 //____________________________________________________________________
167 // material density in gr/cm^3
168 static double Density(MuELMaterial_t material)
169 {
170 switch(material) {
171
172 //- compound materials
173 case eMuBariumFluoride: return 4.830; break;
174 case eMuBismuthGermanate: return 7.100; break;
175 case eMuPyrex: return 2.230; break;
176 case eMuCalciumCarbonate: return 2.800; break;
177 case eMuConcrete: return 2.500; break;
178 case eMuFreon12: return 1.120; break;
179 case eMuFreon13B1: return 1.500; break;
180 case eMuLeadOxide: return 9.530; break;
181 case eMuLithiumFluoride: return 2.635; break;
182 case eMuLucite: return 1.190; break;
183 case eMuPolyethylene: return 0.940; break;
184 case eMuPolystyrene: return 1.060; break;
185 case eMuLiquidPropane: return 0.430; break;
186 case eMuSiliconDioxide: return 2.320; break;
187 case eMuSodiumIodide: return 3.367; break;
188 case eMuStandardRock: return 2.650; break;
189 case eMuUraniumOxide: return 10.960; break;
190 case eMuWater: return 1.000; break;
191
192 //- elements
193 case eMuHydrogen: return 0.063; break;
194 case eMuDeuterium: return 0.140; break;
195 case eMuHelium: return 0.125; break;
196 case eMuLithium: return 0.534; break;
197 case eMuBeryllium: return 1.848; break;
198 case eMuBoron: return 2.370; break;
199 case eMuCarbon: return 2.265; break;
200 case eMuNitrogen: return 0.808; break;
201 case eMuOxygen: return 1.140; break;
202 case eMuFluorine: return 1.108; break;
203 case eMuNeon: return 1.207; break;
204 case eMuSodium: return 0.971; break;
205 case eMuMagnesium: return 1.740; break;
206 case eMuAluminium: return 2.699; break;
207 case eMuSilicon: return 2.330; break;
208 case eMuSulphur: return 2.000; break;
209 case eMuChlorine: return 1.560; break;
210 case eMuArgon: return 1.393; break;
211 case eMuPotassium: return 0.862; break;
212 case eMuCalcium: return 1.550; break;
213 case eMuChromium: return 7.180; break;
214 case eMuManganese: return 7.440; break;
215 case eMuIron: return 7.874; break;
216 case eMuNickel: return 8.902; break;
217 case eMuCopper: return 8.960; break;
218 case eMuZinc: return 7.133; break;
219 case eMuGermanium: return 5.323; break;
220 case eMuBromine: return 3.120; break;
221 case eMuTin: return 7.310; break;
222 case eMuIodine: return 4.930; break;
223 case eMuBarium: return 3.500; break;
224 case eMuTungsten: return 19.300; break;
225 case eMuLead: return 11.350; break;
226 case eMuBismuth: return 9.747; break;
227 case eMuUranium: return 18.950; break;
228
229 case eMuUndefined:
230 default:
231 return 0;
232 }
233 return 0;
234 }
235 //____________________________________________________________________
236 static double Z(MuELMaterial_t material)
237 {
238 switch(material) {
239
240 //- compound materials
241 case eMuBariumFluoride: return 0.4221; break; // For compound materials this is
242 case eMuBismuthGermanate: return 0.4207; break; // actually Z/A, and A will be set to 1
243 case eMuPyrex: return 0.4971; break; // OK for now because it is Z/A we
244 case eMuCalciumCarbonate: return 0.4996; break; // use... but *change that*
245 case eMuConcrete: return 0.5027; break;
246 case eMuFreon12: return 0.4797; break;
247 case eMuFreon13B1: return 0.4567; break;
248 case eMuLeadOxide: return 0.4032; break;
249 case eMuLithiumFluoride: return 0.4626; break;
250 case eMuLucite: return 0.5394; break;
251 case eMuPolyethylene: return 0.5703; break;
252 case eMuPolystyrene: return 0.5377; break;
253 case eMuLiquidPropane: return 0.5896; break;
254 case eMuSiliconDioxide: return 0.4993; break;
255 case eMuSodiumIodide: return 0.4270; break;
256 case eMuStandardRock: return 0.5000; break;
257 case eMuUraniumOxide: return 0.4000; break;
258 case eMuWater: return 0.5551; break;
259
260 //- elements
261 case eMuHydrogen: return 1.; break;
262 case eMuDeuterium: return 1.; break;
263 case eMuHelium: return 2.; break;
264 case eMuLithium: return 3.; break;
265 case eMuBeryllium: return 4.; break;
266 case eMuBoron: return 5.; break;
267 case eMuCarbon: return 6.; break;
268 case eMuNitrogen: return 7.; break;
269 case eMuOxygen: return 8.; break;
270 case eMuFluorine: return 9.; break;
271 case eMuNeon: return 10.; break;
272 case eMuSodium: return 11.; break;
273 case eMuMagnesium: return 12.; break;
274 case eMuAluminium: return 13.; break;
275 case eMuSilicon: return 14.; break;
276 case eMuSulphur: return 16.; break;
277 case eMuChlorine: return 17.; break;
278 case eMuArgon: return 18.; break;
279 case eMuPotassium: return 19.; break;
280 case eMuCalcium: return 20.; break;
281 case eMuChromium: return 24.; break;
282 case eMuManganese: return 25.; break;
283 case eMuIron: return 26.; break;
284 case eMuNickel: return 28.; break;
285 case eMuCopper: return 29.; break;
286 case eMuZinc: return 30.; break;
287 case eMuGermanium: return 32.; break;
288 case eMuBromine: return 35.; break;
289 case eMuTin: return 50.; break;
290 case eMuIodine: return 53.; break;
291 case eMuBarium: return 56.; break;
292 case eMuTungsten: return 74.; break;
293 case eMuLead: return 82.; break;
294 case eMuBismuth: return 83.; break;
295 case eMuUranium: return 92.; break;
296
297 case eMuUndefined:
298 default:
299 return 0;
300 }
301 return 0;
302 }
303 //____________________________________________________________________
304 static double A(MuELMaterial_t material)
305 {
306 switch(material) {
307
308 //- compound materials
309 case eMuBariumFluoride: return 1.0; break; // A for compound materials is set to 1
310 case eMuBismuthGermanate: return 1.0; break; // because Z was set to Z/A.
311 case eMuPyrex: return 1.0; break; // OK for now because it is Z/A we
312 case eMuCalciumCarbonate: return 1.0; break; // use... but *change that*
313 case eMuConcrete: return 1.0; break;
314 case eMuFreon12: return 1.0; break;
315 case eMuFreon13B1: return 1.0; break;
316 case eMuLeadOxide: return 1.0; break;
317 case eMuLithiumFluoride: return 1.0; break;
318 case eMuLucite: return 1.0; break;
319 case eMuPolyethylene: return 1.0; break;
320 case eMuPolystyrene: return 1.0; break;
321 case eMuLiquidPropane: return 1.0; break;
322 case eMuSiliconDioxide: return 1.0; break;
323 case eMuSodiumIodide: return 1.0; break;
324 case eMuStandardRock: return 1.0; break;
325 case eMuUraniumOxide: return 1.0; break;
326 case eMuWater: return 1.0; break;
327
328 //- elements
329 case eMuHydrogen: return 1.008; break;
330 case eMuDeuterium: return 2.014; break;
331 case eMuHelium: return 4.003; break;
332 case eMuLithium: return 6.940; break;
333 case eMuBeryllium: return 9.012; break;
334 case eMuBoron: return 10.810; break;
335 case eMuCarbon: return 12.011; break;
336 case eMuNitrogen: return 14.007; break;
337 case eMuOxygen: return 15.999; break;
338 case eMuFluorine: return 18.998; break;
339 case eMuNeon: return 20.170; break;
340 case eMuSodium: return 22.990; break;
341 case eMuMagnesium: return 24.305; break;
342 case eMuAluminium: return 26.982; break;
343 case eMuSilicon: return 28.086; break;
344 case eMuSulphur: return 32.060; break;
345 case eMuChlorine: return 35.453; break;
346 case eMuArgon: return 39.948; break;
347 case eMuPotassium: return 39.098; break;
348 case eMuCalcium: return 40.080; break;
349 case eMuChromium: return 51.996; break;
350 case eMuManganese: return 54.938; break;
351 case eMuIron: return 55.847; break;
352 case eMuNickel: return 58.710; break;
353 case eMuCopper: return 63.546; break;
354 case eMuZinc: return 65.380; break;
355 case eMuGermanium: return 72.590; break;
356 case eMuBromine: return 79.904; break;
357 case eMuTin: return 118.690; break;
358 case eMuIodine: return 126.905; break;
359 case eMuBarium: return 137.330; break;
360 case eMuTungsten: return 183.850; break;
361 case eMuLead: return 207.200; break;
362 case eMuBismuth: return 208.980; break;
363 case eMuUranium: return 238.029; break;
364
365 case eMuUndefined:
366 default:
367 return 0;
368 }
369 return 0;
370 }
371 //____________________________________________________________________
372};
373
374} // mueloss namespace
375} // genie namespace
376
377#endif // _MUELOSS_MATERIAL_H_
378
Enumeration of materials for which the MuELoss package knows how to calculate muon energy losses.
static double A(MuELMaterial_t material)
static double Z(MuELMaterial_t material)
static double Density(MuELMaterial_t material)
static const char * AsString(MuELMaterial_t material)
The MuELoss utility package that computes muon energy losses in the energy range from 1 GeV to 10 TeV...
enum genie::mueloss::EMuELMaterial MuELMaterial_t
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25