]>
Commit | Line | Data |
---|---|---|
2817d3e2 | 1 | // $Id$ |
2 | // Category: geometry | |
3 | // | |
4 | // See the class description in the header file. | |
5 | ||
6 | #include "TG4ElementTable.h" | |
7 | #include "TG4Globals.h" | |
8 | ||
9 | #include <G4Element.hh> | |
10 | ||
11 | // static data members | |
12 | ||
13 | TG4ElementTable* TG4ElementTable::fgInstance = 0; | |
14 | ||
15 | // lifecycle | |
16 | ||
17 | TG4ElementTable::TG4ElementTable() { | |
18 | // | |
19 | Construct(); | |
20 | } | |
21 | ||
22 | TG4ElementTable::TG4ElementTable(const TG4ElementTable& right) { | |
23 | // | |
24 | TG4Globals::Exception( | |
25 | "Attempt to copy TG4ElementTable singleton."); | |
26 | } | |
27 | ||
28 | TG4ElementTable::~TG4ElementTable(){ | |
29 | // | |
30 | } | |
31 | ||
32 | // operators | |
33 | ||
34 | TG4ElementTable& TG4ElementTable::operator=(const TG4ElementTable& right) | |
35 | { | |
36 | // check assignement to self | |
37 | if (this == &right) return *this; | |
38 | ||
39 | TG4Globals::Exception( | |
40 | "Attempt to assign TG4ElementTable singleton."); | |
41 | ||
42 | return *this; | |
43 | } | |
44 | ||
45 | // static methods | |
46 | ||
47 | TG4ElementTable* TG4ElementTable::Instance() | |
48 | { | |
49 | // singleton access method | |
50 | // --- | |
51 | ||
52 | if (fgInstance == 0 ) { | |
53 | fgInstance = new TG4ElementTable(); | |
54 | } | |
55 | ||
56 | return fgInstance; | |
57 | } | |
58 | ||
59 | // private methods | |
60 | ||
61 | void TG4ElementTable::Construct() | |
62 | { | |
63 | // construct element table | |
64 | // --- | |
65 | ||
66 | // new G4Element(name, symbol, z, a); | |
67 | // check names | |
68 | new G4Element("Hydrogen", "H", 1., 1.00797*g/mole); | |
69 | new G4Element("Helium", "He", 2., 4.00260*g/mole); | |
70 | new G4Element("Lithium", "Li", 3., 6.941*g/mole); | |
71 | new G4Element("Berylium", "Be", 4., 9.01218*g/mole); | |
72 | new G4Element("Bohr", "B", 5., 10.811*g/mole); | |
73 | new G4Element("Carbon", "C", 6., 12.01115*g/mole); | |
74 | new G4Element("Nitrogen", "N", 7., 14.0067*g/mole); | |
75 | //in periodic table | |
76 | //new G4Element("Oxygen", "O", 8., 15.9994*g/mole); | |
77 | new G4Element("Oxygen", "O", 8., 16.00*g/mole); | |
78 | new G4Element("Fluorine", "F", 9., 18.99840*g/mole); | |
79 | new G4Element("Neon", "Ne", 10., 20.179*g/mole); | |
80 | new G4Element("Sodium", "Na", 11., 22.98977*g/mole); | |
81 | new G4Element("Magnesium", "Mg", 12., 24.305 *g/mole); | |
82 | new G4Element("Aluminium", "Al", 13., 26.98154*g/mole); | |
83 | new G4Element("Silicon", "Si", 14., 28.086*g/mole); | |
84 | new G4Element("Phosphorus","P", 15., 30.97376*g/mole); | |
85 | new G4Element("Sulfur", "S", 16., 32.064*g/mole); | |
86 | new G4Element("Chlorine", "Cl", 17., 35.453*g/mole); | |
87 | new G4Element("Argon", "Ar", 18, 39.948*g/mole); | |
88 | new G4Element("Pottassium","K", 19., 39.098*g/mole); | |
89 | new G4Element("Calcium", "Ca", 20., 40.08*g/mole); | |
90 | new G4Element("Scandium", "Sc", 21., 44.9559*g/mole); | |
91 | new G4Element("Titanium", "Ti", 22., 47.90*g/mole); | |
92 | new G4Element("Vanadium", "V", 23., 50.9414*g/mole); | |
93 | new G4Element("Chromium", "Cr", 24., 51.996*g/mole); | |
94 | new G4Element("Manganese", "Mn", 25., 54.9380*g/mole); | |
95 | new G4Element("Iron", "Fe", 26., 55.847*g/mole); | |
96 | new G4Element("Cobalt", "Co", 27., 58.9332*g/mole); | |
97 | new G4Element("Nickel", "Ni", 28., 58.70*g/mole); | |
98 | new G4Element("Copper", "Cu", 29., 63.546*g/mole); | |
99 | new G4Element("Zinc", "Zn", 30., 65.38*g/mole); | |
100 | new G4Element("Gallium", "Ga", 31., 69.72*g/mole); | |
101 | new G4Element("Germanium", "Ge", 32., 72.59*g/mole); | |
102 | new G4Element("Arsenic", "As", 33., 74.9216*g/mole); | |
103 | new G4Element("Selenium", "Se", 34., 78.96*g/mole); | |
104 | new G4Element("Bromine", "Br", 35., 79.904*g/mole); | |
105 | new G4Element("Krypton", "Kr", 36., 83.80*g/mole); | |
106 | new G4Element("Rubidium", "Rb", 37., 85.4678*g/mole); | |
107 | new G4Element("Strontium", "Sr", 38., 87.62*g/mole); | |
108 | new G4Element("Yttrium", "Y", 39., 88.9059*g/mole); | |
109 | new G4Element("Zirconium", "Zr", 40., 91.22*g/mole); | |
110 | new G4Element("Niobium", "Nb", 41., 92.9064*g/mole); | |
111 | new G4Element("Molybdenum","Mo", 42., 95.94*g/mole); | |
112 | new G4Element("Technetium","Tc", 43., 97.*g/mole); | |
113 | new G4Element("Ruthenium", "Ru", 44., 101.07*g/mole); | |
114 | new G4Element("Rhodium", "Rh", 45., 102.9055*g/mole); | |
115 | new G4Element("Palladium", "Pd", 46., 106.4*g/mole); | |
116 | new G4Element("Silver", "Ag", 47., 107.868*g/mole); | |
117 | /* | |
118 | new G4Element("Cadmium", "", , *g/mole); | |
119 | new G4Element("Indium", "", , *g/mole); | |
120 | new G4Element("Tin", "", , *g/mole); | |
121 | new G4Element("Antimony", "", , *g/mole); | |
122 | new G4Element("Tellurium", "", , *g/mole); | |
123 | new G4Element("Iodine", "", , *g/mole); | |
124 | new G4Element("Xenon", "", , *g/mole); | |
125 | new G4Element("Cesium", "", , *g/mole); | |
126 | new G4Element("Ba??", "", , *g/mole); | |
127 | new G4Element("Lanthanum", "", , *g/mole); | |
128 | new G4Element("Hafnium", "", , *g/mole); | |
129 | new G4Element("Tantalum", "", , *g/mole); | |
130 | new G4Element("Tungsten", "", , *g/mole); | |
131 | new G4Element("Rhenium", "", , *g/mole); | |
132 | new G4Element("Osmium", "", , *g/mole); | |
133 | new G4Element("Iridium", "", , *g/mole); | |
134 | new G4Element("Platinum", "", , *g/mole); | |
135 | new G4Element("Gold", "", , *g/mole); | |
136 | new G4Element("Mercury", "", , *g/mole); | |
137 | new G4Element("Thallium", "", , *g/mole); | |
138 | new G4Element("Lead", "Pb", 82., 207.19*g/mole); | |
139 | new G4Element("Bismuth", "", , *g/mole); | |
140 | new G4Element("Polonium", "", , *g/mole); | |
141 | new G4Element("Astatine", "", , *g/mole); | |
142 | new G4Element("Radon", "", , *g/mole); | |
143 | new G4Element("Franicum", "", , *g/mole); | |
144 | new G4Element("Radium", "", , *g/mole); | |
145 | new G4Element("Actinium", "", , *g/mole); | |
146 | */ | |
147 | } | |
148 |