fisx
fisx_defaultelementsinfo.h
1 #/*##########################################################################
2 #
3 # The fisx library for X-Ray Fluorescence
4 #
5 # Copyright (c) 2014-2016 European Synchrotron Radiation Facility
6 #
7 # This file is part of the fisx X-ray developed by V.A. Sole
8 #
9 # Permission is hereby granted, free of charge, to any person obtaining a copy
10 # of this software and associated documentation files (the "Software"), to deal
11 # in the Software without restriction, including without limitation the rights
12 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 # copies of the Software, and to permit persons to whom the Software is
14 # furnished to do so, subject to the following conditions:
15 #
16 # The above copyright notice and this permission notice shall be included in
17 # all copies or substantial portions of the Software.
18 #
19 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 # THE SOFTWARE.
26 #
27 #############################################################################*/
29 {
30  std::string symbol;
31  int z;
32  int column;
33  int row;
34  std::string longName;
35  double atomicMass;
36  double density;
37 };
38 
39 const int N_PREDEFINED_ELEMENTS = 109;
40 ElementsInfo defaultElementsInfo[N_PREDEFINED_ELEMENTS] = {\
41  {"H", 1, 1,1, "hydrogen", 1.00800, 0.08988 }, \
42  {"He", 2, 18,1, "helium", 4.00300, 0.17860 }, \
43  {"Li", 3, 1,2, "lithium", 6.94000, 534.000 }, \
44  {"Be", 4, 2,2, "beryllium", 9.01200, 1848.00 }, \
45  {"B", 5, 13,2, "boron", 10.8110, 2340.00 }, \
46  {"C", 6, 14,2, "carbon", 12.0100, 1580.00 }, \
47  {"N", 7, 15,2, "nitrogen", 14.0080, 1.25 }, \
48  {"O", 8, 16,2, "oxygen", 16.0000, 1.429 }, \
49  {"F", 9, 17,2, "fluorine", 19.0000, 1108.00 }, \
50  {"Ne", 10, 18,2, "neon", 20.1830, 0.90020 }, \
51  {"Na", 11, 1,3, "sodium", 22.9970, 970.000 }, \
52  {"Mg", 12, 2,3, "magnesium", 24.3200, 1740.00 }, \
53  {"Al", 13, 13,3, "aluminium", 26.9700, 2720.00 }, \
54  {"Si", 14, 14,3, "silicon", 28.0860, 2330.00 }, \
55  {"P", 15, 15,3, "phosphorus", 30.9750, 1820.00 }, \
56  {"S", 16, 16,3, "sulphur", 32.0660, 2000.00 }, \
57  {"Cl", 17, 17,3, "chlorine", 35.4570, 1560.00 }, \
58  {"Ar", 18, 18,3, "argon", 39.9440, 1.78400 }, \
59  {"K", 19, 1,4, "potassium", 39.1020, 862.000 }, \
60  {"Ca", 20, 2,4, "calcium", 40.0800, 1550.00 }, \
61  {"Sc", 21, 3,4, "scandium", 44.9600, 2992.00 }, \
62  {"Ti", 22, 4,4, "titanium", 47.9000, 4540.00 }, \
63  {"V", 23, 5,4, "vanadium", 50.9420, 6110.00 }, \
64  {"Cr", 24, 6,4, "chromium", 51.9960, 7190.00 }, \
65  {"Mn", 25, 7,4, "manganese", 54.9400, 7420.00 }, \
66  {"Fe", 26, 8,4, "iron", 55.8500, 7860.00 }, \
67  {"Co", 27, 9,4, "cobalt", 58.9330, 8900.00 }, \
68  {"Ni", 28, 10,4, "nickel", 58.6900, 8900.00 }, \
69  {"Cu", 29, 11,4, "copper", 63.5400, 8940.00 }, \
70  {"Zn", 30, 12,4, "zinc", 65.3800, 7140.00 }, \
71  {"Ga", 31, 13,4, "gallium", 69.7200, 5903.00 }, \
72  {"Ge", 32, 14,4, "germanium", 72.5900, 5323.00 }, \
73  {"As", 33, 15,4, "arsenic", 74.9200, 5730.00 }, \
74  {"Se", 34, 16,4, "selenium", 78.9600, 4790.00 }, \
75  {"Br", 35, 17,4, "bromine", 79.9200, 3120.00 }, \
76  {"Kr", 36, 18,4, "krypton", 83.8000, 3.74000 }, \
77  {"Rb", 37, 1,5, "rubidium", 85.4800, 1532.00 }, \
78  {"Sr", 38, 2,5, "strontium", 87.6200, 2540.00 }, \
79  {"Y", 39, 3,5, "yttrium", 88.9050, 4405.00 }, \
80  {"Zr", 40, 4,5, "zirconium", 91.2200, 6530.00 }, \
81  {"Nb", 41, 5,5, "niobium", 92.9060, 8570.00 }, \
82  {"Mo", 42, 6,5, "molybdenum", 95.9500, 10220.00 }, \
83  {"Tc", 43, 7,5, "technetium", 99.0000, 11500.0 }, \
84  {"Ru", 44, 8,5, "ruthenium", 101.0700, 12410.0 }, \
85  {"Rh", 45, 9,5, "rhodium", 102.9100, 12440.0 }, \
86  {"Pd", 46, 10,5, "palladium", 106.400, 12160.0 }, \
87  {"Ag", 47, 11,5, "silver", 107.880, 10500.00 }, \
88  {"Cd", 48, 12,5, "cadmium", 112.410, 8650.00 }, \
89  {"In", 49, 13,5, "indium", 114.820, 7280.00 }, \
90  {"Sn", 50, 14,5, "tin", 118.690, 5310.00 }, \
91  {"Sb", 51, 15,5, "antimony", 121.760, 6691.00 }, \
92  {"Te", 52, 16,5, "tellurium", 127.600, 6240.00 }, \
93  {"I", 53, 17,5, "iodine", 126.910, 4940.00 }, \
94  {"Xe", 54, 18,5, "xenon", 131.300, 5.90000 }, \
95  {"Cs", 55, 1,6, "caesium", 132.910, 1873.00 }, \
96  {"Ba", 56, 2,6, "barium", 137.360, 3500.00 }, \
97  {"La", 57, 3,6, "lanthanum", 138.920, 6150.00 }, \
98  {"Ce", 58, 4,9, "cerium", 140.130, 6670.00 }, \
99  {"Pr", 59, 5,9, "praseodymium",140.920, 6769.00 }, \
100  {"Nd", 60, 6,9, "neodymium", 144.270, 6960.00 }, \
101  {"Pm", 61, 7,9, "promethium", 147.000, 6782.00 }, \
102  {"Sm", 62, 8,9, "samarium", 150.350, 7536.00 }, \
103  {"Eu", 63, 9,9, "europium", 152.000, 5259.00 }, \
104  {"Gd", 64, 10,9, "gadolinium", 157.260, 7950.00 }, \
105  {"Tb", 65, 11,9, "terbium", 158.930, 8272.00 }, \
106  {"Dy", 66, 12,9, "dysprosium", 162.510, 8536.00 }, \
107  {"Ho", 67, 13,9, "holmium", 164.940, 8803.00 }, \
108  {"Er", 68, 14,9, "erbium", 167.270, 9051.00 }, \
109  {"Tm", 69, 15,9, "thulium", 168.940, 9332.00 }, \
110  {"Yb", 70, 16,9, "ytterbium", 173.040, 6977.00 }, \
111  {"Lu", 71, 17,9, "lutetium", 174.990, 9842.00 }, \
112  {"Hf", 72, 4,6, "hafnium", 178.500, 13300.0 }, \
113  {"Ta", 73, 5,6, "tantalum", 180.950, 16600.0 }, \
114  {"W", 74, 6,6, "tungsten", 183.920, 19300.0 }, \
115  {"Re", 75, 7,6, "rhenium", 186.200, 21020.0 }, \
116  {"Os", 76, 8,6, "osmium", 190.200, 22500.0 }, \
117  {"Ir", 77, 9,6, "iridium", 192.200, 22420.0 }, \
118  {"Pt", 78, 10,6, "platinum", 195.090, 21370.0 }, \
119  {"Au", 79, 11,6, "gold", 197.200, 19370.0 }, \
120  {"Hg", 80, 12,6, "mercury", 200.610, 13546.0 }, \
121  {"Tl", 81, 13,6, "thallium", 204.390, 11860.0 }, \
122  {"Pb", 82, 14,6, "lead", 207.210, 11340.0 }, \
123  {"Bi", 83, 15,6, "bismuth", 209.000, 9800.00 }, \
124  {"Po", 84, 16,6, "polonium", 209.000, 9320.00 }, \
125  {"At", 85, 17,6, "astatine", 210.000, 0 }, \
126  {"Rn", 86, 18,6, "radon", 222.000, 9.73000 }, \
127  {"Fr", 87, 1,7, "francium", 223.000, 0 }, \
128  {"Ra", 88, 2,7, "radium", 226.000, 5500.00 }, \
129  {"Ac", 89, 3,7, "actinium", 227.000, 0 }, \
130  {"Th", 90, 4,10, "thorium", 232.000, 11700.0 }, \
131  {"Pa", 91, 5,10, "proactinium",231.03588, 15370.0 }, \
132  {"U", 92, 6,10, "uranium", 238.070, 19050.0 }, \
133  {"Np", 93, 7,10, "neptunium", 237.000, 20250.0 }, \
134  {"Pu", 94, 8,10, "plutonium", 239.100, 19700.0 }, \
135  {"Am", 95, 9,10, "americium", 243, 13670.0 }, \
136  {"Cm", 96, 10,10, "curium", 247, 13510.0 }, \
137  {"Bk", 97, 11,10, "berkelium", 247, 13250.0 }, \
138  {"Cf", 98, 12,10, "californium",251, 15100.0 }, \
139  {"Es", 99, 13,10, "einsteinium",252, 0 }, \
140  {"Fm", 100, 14,10, "fermium", 257, 0 }, \
141  {"Md", 101, 15,10, "mendelevium",258, 0 }, \
142  {"No", 102, 16,10, "nobelium", 259, 0 }, \
143  {"Lr", 103, 17,10, "lawrencium", 262, 0 }, \
144  {"Rf", 104, 4,7, "rutherfordium",261, 0 }, \
145  {"Db", 105, 5,7, "dubnium", 262, 0 }, \
146  {"Sg", 106, 6,7, "seaborgium", 266, 0 }, \
147  {"Bh", 107, 7,7, "bohrium", 264, 0 }, \
148  {"Hs", 108, 8,7, "hassium", 269, 0 }, \
149  {"Mt", 109, 9,7, "meitnerium", 268, 0 }};
150 
151 /*
152 struct MaterialsInfo
153 {
154  std::string name;
155  std::vector<std::string> elementList;
156  std::vector<double> massFractions;
157  // by default they will be initialized to 1.0 g/cm3 and 1.0 cm
158  double density;
159  double thickness;
160  // additional information
161  std::string comment;
162 };
163 
164 const int N_PREDEFINED_MATERIALS = 7;
165 MaterialsInfo defaultMaterialsInfo[N_PREDEFINED_MATERIALS];
166 
167 std::string Air[] = {"C", "N", "O", "Ar", "Kr"};
168 defaultMaterialsInfo[0].name = "Air";
169 defaultMaterialsInfo[0].elementList = std::vector<std::string>(Air, Air + 5);
170 defaultMaterialsInfo[0].massFractions = std::vector<double>({0.000124, 0.755267, 0.231780, 0.012827, 3.20E-6});
171 defaultMaterialsInfo[0].density = 0.00120479;
172 defaultMaterialsInfo[0].thickness = 1.00;
173 defaultMaterialsInfo[0].comment = "Dry Air (Near sea level) density=0.001204790 g/cm3";
174 
175 
176 defaultMaterialsInfo = {\
177 {"Air", {"C", "N", "O", "Ar", "Kr"}, { 0.000124, 0.755267, 0.231780, 0.012827, 3.20E-6}, 0.00120479, 1.00,\
178  "Dry Air (Near sea level) density=0.001204790 g/cm3"},\
179 {"Gold", {"Au"}, {1.0}, 19.37, 1.0e-6, ""},\
180 {"Kapton", {"C", "N", "O"}, {0.628772, 0.066659, 0.304569}, 1.42, 0.0025,\
181  "Kapton 100 HN 25 micron density=1.42 g/cm3"},\
182 {"Mylar", { "H", "C", "O"}, {0.041959, 0.625017, 0.333025}, 1.4, 1.0,\
183  " Mylar (Polyethylene Terephthalate) density=1.40 g/cm3"}\
184 {"Teflon", {"C", "F"}, {0.240183, 0.759817}, 2.2, 1.0, "Teflon 1 density=2.2 g/cm3"},\
185 {"Viton", { "H", "C", "F"}, {0.009417, 0.280555, 0.710028}, 1.8, 1.0,\
186  "Viton Fluoroelastomer density=1.8 g/cm3"}\
187 {"Water", {"H", "O"}, {0.11900533, 0.88809947}, 1.0, 1.0, "Water density=1.0 g/cm3"}};
188 */
189 
Definition: fisx_defaultelementsinfo.h:28