Garfield++ v1r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
Loading...
Searching...
No Matches
GasLib.h
Go to the documentation of this file.
1#ifndef GASLIB_H
2#define GASLIB_H
3
4/*
5There are not only gases but also atoms and molecules.
6The gas is the highest class in this hierarchy.
7
8The reason to gather all initializations in one file is the undefinite
9order of initialization of the global objects in C++.
10This order is definite only for objects presented in single object file.
11Since each atom, molecula, and matter should be registered in the system,
12the logbooks should be initialized and ready for work prior to
13initialization of the first registered object.
14This is now guaranteed with the help of singleton class.
15But moleculas and matters depend on atoms, and the order of initialization
16should be kept strongly.
17The only way to guarantee
18this is to initialize all the ingredients in the same file in correct order.
19For not global objects there is no problem,
20since global static logbooks are anyway initialized before running main().
21
22Therefore the definitions "extern ..." are gathered in this file,
23the corresponding initializations followed by initializations of
24logbooks are gathered in GasLib.c. This latter file is not put into
25a library file, but just compiled.
26If the user program need to initialize other global objects like these, or
27objects depending on them, it has to gather all the additional
28initializations in another single file and include
29include the file GasLib.c into its beginning by "#include" directive.
30It should not be linked with GasLib.o, in this case.
31If the user program does not have mantioned needs, it can just be linked
32with the existing GasLib.o.
33
34The last half of Mendeleev's (Mendel's) table is not totally included yet.
35
36
371998-2004, I. Smirnov
38
39*/
40
45
46namespace Heed {
47
66extern AtomDef Argon_without_K; // without K-shell
98extern AtomDef Tin;
109
115extern VanDerVaals Argon_VanDerVaals;
117//extern MoleculeDef Argon_without_K_molec;
118extern VanDerVaals Krypton_VanDerVaals;
120extern VanDerVaals Xenon_VanDerVaals;
125extern VanDerVaals CH4_VanDerVaals;
127extern VanDerVaals CF4_VanDerVaals;
129
130// The following is defined without VanDerVaals corrections
133
137extern VanDerVaals C3H8_VanDerVaals;
139extern VanDerVaals C4H10_VanDerVaals;
141
142// The following is defined without VanDerVaals corrections
144
145extern VanDerVaals Water_VanDerVaals;
147extern VanDerVaals Methylal_VanDerVaals;
149
150// Additional molecule definitions for compatibility with Magboltz
174
175}
176
177#endif
Definition: BGMesh.cpp:3
VanDerVaals Argon_VanDerVaals
MoleculeDef Oxygen_molec("Oxygen", "O2", "O", 2)
Definition: GasLib.h:113
AtomDef Molybdenum("Molybdenum", "Mo", 42, 95.94 *gram/mole)
Definition: GasLib.h:91
MoleculeDef C2H5OH_molec("C2H5OH", "C2H5OH", "C", 2, "H", 6, "O", 1)
Definition: GasLib.h:158
AtomDef Niobium("Niobium", "Nb", 41, 92.9064 *gram/mole)
Definition: GasLib.h:89
MoleculeDef C2H2("C2H2", "C2H2", "C", 2, "H", 2)
Definition: GasLib.h:134
MoleculeDef DME_molec("DME", "DME", "C", 2, "H", 6, "O", 1)
Definition: GasLib.h:154
AtomDef Aluminium("Aluminium", "Al", 13, 26.981539 *gram/mole)
Definition: GasLib.h:60
MoleculeDef C2HF5_molec("C2HF5", "C2HF5", "C", 2, "H", 1, "F", 5)
Definition: GasLib.h:165
MoleculeDef CO_molec("CO", "CO", "C", 1, "O", 1)
Definition: GasLib.h:153
MoleculeDef GeH4_molec("GeH4", "GeH4", "Ge", 1, "H", 4)
Definition: GasLib.h:172
AtomDef Selenium("Selenium", "Se", 34, 78.96 *gram/mole)
Definition: GasLib.h:82
MoleculeDef SF6("SF6", "SF6", "S", 1, "F", 6)
Definition: GasLib.h:132
AtomDef Tungsten("Tungsten", "W", 74, 183.85 *gram/mole)
Definition: GasLib.h:104
AtomDef Bismuth("Bismuth", "Bi", 83, 208.9804 *gram/mole)
Definition: GasLib.h:106
AtomDef Hydrogen("Hydrogen", "H", 1, 1.0 *gram/mole)
Definition: GasLib.h:48
MoleculeDef CH4("CH4", "CH4", "C", 1, "H", 4, ActivePtr< VanDerVaals >(&CH4_VanDerVaals, do_clone))
Definition: GasLib.h:126
AtomDef Zinc("Zinc", "Zn", 30, 65.38 *gram/mole)
Definition: GasLib.h:78
AtomDef Magnesium("Magnesium", "Mg", 12, 24.3050 *gram/mole)
Definition: GasLib.h:59
VanDerVaals CF4_VanDerVaals
MoleculeDef Xenon_molec("Xenon", "Xe", "Xe", 1, ActivePtr< VanDerVaals >(&Xenon_VanDerVaals, do_clone))
Definition: GasLib.h:121
MoleculeDef Nitrogen_molec("Nitrogen", "N2", "N", 2)
Definition: GasLib.h:112
MoleculeDef BF3_molec("BF3", "BF3", "B", 1, "F", 3)
Definition: GasLib.h:164
AtomDef Rhodium("Rhodium", "Rh", 45, 102.9055 *gram/mole)
Definition: GasLib.h:93
MoleculeDef F2_molec("F2", "F2", "F", 2)
Definition: GasLib.h:161
MoleculeDef C2F6_molec("C2F6", "C2F6", "C", 2, "F", 6)
Definition: GasLib.h:155
AtomDef Krypton("Krypton", "Kr", 36, 83.80 *gram/mole)
Definition: GasLib.h:84
VanDerVaals Krypton_VanDerVaals
AtomDef Cobalt("Cobalt", "Co", 27, 58.9332 *gram/mole)
Definition: GasLib.h:75
AtomDef Manganese("Manganese", "Mn", 25, 54.9380 *gram/mole)
Definition: GasLib.h:73
AtomDef Rubidium("Rubidium", "Rb", 37, 85.4673 *gram/mole)
Definition: GasLib.h:85
MoleculeDef CS2_molec("CS2", "CS2", "C", 1, "S", 2)
Definition: GasLib.h:162
MoleculeDef CF4("CF4", "CF4", "C", 1, "F", 4, ActivePtr< VanDerVaals >(&CF4_VanDerVaals, do_clone))
Definition: GasLib.h:128
MoleculeDef CH3OH_molec("CH3OH", "CH3OH", "C", 1, "H", 4, "O", 1)
Definition: GasLib.h:157
VanDerVaals C3H8_VanDerVaals
AtomDef Titanium("Titanium", "Ti", 22, 47.867 *gram/mole)
Definition: GasLib.h:70
AtomDef Chlorine("Chlorine", "Cl", 17, 35.066 *gram/mole)
Definition: GasLib.h:64
AtomDef Uranium("Uranium", "U", 92, 238.0289 *gram/mole)
Definition: GasLib.h:107
MoleculeDef C5H12_molec("C5H12", "C5H12", "C", 5, "H", 12)
Definition: GasLib.h:151
AtomDef Palladium("Palladium", "Pd", 46, 106.4 *gram/mole)
Definition: GasLib.h:94
MoleculeDef C2H2F4("C2H2F4", "C2H2F4", "C", 2, "F", 4, "H", 2)
Definition: GasLib.h:143
AtomDef Helium("Helium", "He", 2, 4.002602 *gram/mole)
Definition: GasLib.h:49
AtomDef Zirconium("Zirconium", "Zr", 40, 91.22 *gram/mole)
Definition: GasLib.h:88
MoleculeDef N2O("N2O", "N2O", "N", 2, "O", 1)
Definition: GasLib.h:123
AtomDef Potassium("Potassium", "K", 19, 39.098 *gram/mole)
Definition: GasLib.h:67
AtomDef Gallium("Gallium", "Ga", 31, 69.72 *gram/mole)
Definition: GasLib.h:79
MoleculeDef Argon_molec("Argon", "Ar", "Ar", 1, ActivePtr< VanDerVaals >(&Argon_VanDerVaals, do_clone))
Definition: GasLib.h:116
AtomDef Caesium("Caesium", "Cs", 55, 132.9054519 *gram/mole)
Definition: GasLib.h:103
MoleculeDef C3F8_molec("C3F8", "C3F8", "C", 3, "F", 8)
Definition: GasLib.h:168
MoleculeDef COS_molec("COS", "COS", "C", 1, "O", 1, "S", 1)
Definition: GasLib.h:163
AtomDef Scandium("Scandium", "Sc", 21, 44.9559 *gram/mole)
Definition: GasLib.h:69
AtomDef Vanadium("Vanadium", "V", 23, 50.9414 *gram/mole)
Definition: GasLib.h:71
AtomDef Chromium("Chromium", "Cr", 24, 51.996 *gram/mole)
Definition: GasLib.h:72
MoleculeDef C2H6("C2H6", "C2H6", "C", 2, "H", 6)
Definition: GasLib.h:136
MoleculeDef H2S_molec("H2S", "H2S", "H", 2, "S", 1)
Definition: GasLib.h:171
AtomDef Neon("Neon", "Ne", 10, 20.1797 *gram/mole)
Definition: GasLib.h:57
MoleculeDef C3H6_molec("C3H6", "C3H6", "C", 3, "H", 6)
Definition: GasLib.h:156
AtomDef Arsenic("Arsenic", "As", 33, 74.9216 *gram/mole)
Definition: GasLib.h:81
AtomDef Nitrogen("Nitrogen", "N", 7, 14.00674 *gram/mole)
Definition: GasLib.h:54
AtomDef Tin("Tin", "Sn", 50, 118.710 *gram/mole)
Definition: GasLib.h:98
AtomDef Beryllium("Beryllium", "Be", 4, 9.012182 *gram/mole)
Definition: GasLib.h:51
MoleculeDef C3H7OH_molec("C3H7OH", "C3H7OH", "C", 3, "H", 8, "O", 1)
Definition: GasLib.h:159
AtomDef Antimony("Antimony", "Sb", 51, 121.760 *gram/mole)
Definition: GasLib.h:99
VanDerVaals Water_VanDerVaals
AtomDef Phosphorus("Phosphorus", "P", 15, 30.973762 *gram/mole)
Definition: GasLib.h:62
AtomDef Silicon("Silicon", "Si", 14, 28.0855 *gram/mole)
Definition: GasLib.h:61
AtomDef Silver("Silver", "Ag", 47, 107.868 *gram/mole)
Definition: GasLib.h:95
AtomDef Bromine("Bromine", "Br", 35, 79.904 *gram/mole)
Definition: GasLib.h:83
MoleculeDef Helium_molec("Helium", "He", "He", 1)
Definition: GasLib.h:111
AtomDef Fluorine("Fluorine", "F", 9, 18.9984032 *gram/mole)
Definition: GasLib.h:56
VanDerVaals Methylal_VanDerVaals
MoleculeDef Krypton_molec("Krypton", "Kr", "Kr", 1, ActivePtr< VanDerVaals >(&Krypton_VanDerVaals, do_clone))
Definition: GasLib.h:119
AtomDef Calcium("Calcium", "Ca", 20, 40.08 *gram/mole)
Definition: GasLib.h:68
MoleculeDef C4H10("C4H10", "C4H10", "C", 4, "H", 10, ActivePtr< VanDerVaals >(&C4H10_VanDerVaals, do_clone))
Definition: GasLib.h:140
MoleculeDef NH3("NH3", "NH3", "N", 1, "H", 3)
Definition: GasLib.h:122
AtomDef Cadmium("Cadmium", "Cd", 48, 112.411 *gram/mole)
Definition: GasLib.h:96
MoleculeDef SF4("SF4", "SF4", "S", 1, "F", 4)
Definition: GasLib.h:131
AtomDef Iodine("Iodine", "I", 53, 126.9045 *gram/mole)
Definition: GasLib.h:101
AtomDef Nickel("Nickel", "Ni", 28, 58.70 *gram/mole)
Definition: GasLib.h:76
AtomDef Tellurium("Tellurium", "Te", 52, 127.60 *gram/mole)
Definition: GasLib.h:100
VanDerVaals C4H10_VanDerVaals
MoleculeDef Cs_molec("Cs", "Cs", "Cs", 1)
Definition: GasLib.h:160
AtomDef Yttrium("Yttrium", "Y", 39, 88.9059 *gram/mole)
Definition: GasLib.h:87
MoleculeDef C3H8("C3H8", "C3H8", "C", 3, "H", 8, ActivePtr< VanDerVaals >(&C3H8_VanDerVaals, do_clone))
Definition: GasLib.h:138
MoleculeDef Methylal_molec("Methylal", "Methylal", "O", 2, "C", 3, "H", 8, ActivePtr< VanDerVaals >(&Methylal_VanDerVaals, do_clone))
Definition: GasLib.h:148
MoleculeDef O3_molec("O3", "O3", "O", 3)
Definition: GasLib.h:169
MoleculeDef SiH4_molec("SiH4", "SiH4", "Si", 1, "H", 4)
Definition: GasLib.h:173
AtomDef Indium("Indium", "In", 49, 114.818 *gram/mole)
Definition: GasLib.h:97
AtomDef Ruthenium("Ruthenium", "Ru", 44, 101.07 *gram/mole)
Definition: GasLib.h:92
AtomDef Iron("Iron", "Fe", 26, 55.845 *gram/mole)
Definition: GasLib.h:74
MoleculeDef C2H4("C2H4", "C2H4", "C", 2, "H", 4)
Definition: GasLib.h:135
MoleculeDef Hg_molec("Hg", "Hg", "Hg", 1)
Definition: GasLib.h:170
MoleculeDef CO2("CO2", "CO2", "C", 1, "O", 2)
Definition: GasLib.h:124
AtomDef Copper("Copper", "Cu", 29, 63.546 *gram/mole)
Definition: GasLib.h:77
AtomDef Lithium("Lithium", "Li", 3, 6.941 *gram/mole)
Definition: GasLib.h:50
AtomDef Mercury("Mercury", "Hg", 80, 200.59 *gram/mole)
Definition: GasLib.h:105
AtomDef Germanium("Germanium", "Ge", 32, 72.59 *gram/mole)
Definition: GasLib.h:80
MoleculeDef CF3Br_molec("CF3Br", "CF3Br", "C", 1, "F", 3, "Br", 1)
Definition: GasLib.h:167
AtomDef Argon_without_K("Argon_without_K", "Ar_without_K", 16, 39.948 *gram/mole)
Definition: GasLib.h:66
MoleculeDef Neon_molec("Neon", "Ne", "Ne", 1)
Definition: GasLib.h:114
AtomDef Oxygen("Oxygen", "O", 8, 15.9994 *gram/mole)
Definition: GasLib.h:55
AtomDef Argon("Argon", "Ar", 18, 39.948 *gram/mole)
Definition: GasLib.h:65
MoleculeDef CHF3_molec("CHF3", "CHF3", "C", 1, "H", 1, "F", 3)
Definition: GasLib.h:166
AtomDef Sulfur("Sulfur", "S", 16, 32.066 *gram/mole)
Definition: GasLib.h:63
VanDerVaals Xenon_VanDerVaals
AtomDef Technetium("Technetium", "Tc", 43, 98 *gram/mole)
Definition: GasLib.h:90
MoleculeDef Water_molec("Water", "Water", "H", 2, "O", 1, ActivePtr< VanDerVaals >(&Water_VanDerVaals, do_clone))
Definition: GasLib.h:146
AtomDef Sodium("Sodium", "Na", 11, 22.989768 *gram/mole)
Definition: GasLib.h:58
AtomDef Xenon("Xenon", "Xe", 54, 131.293 *gram/mole)
Definition: GasLib.h:102
MoleculeDef Hydrogen2("Hydrogen", "H2", "H", 2)
Definition: GasLib.h:110
VanDerVaals CH4_VanDerVaals
AtomDef Boron("Boron", "B", 5, 10.811 *gram/mole)
Definition: GasLib.h:52
AtomDef Carbon("Carbon", "C", 6, 12.011 *gram/mole)
Definition: GasLib.h:53
AtomDef Plutonium("Plutonium", "Pu", 94, 244.0 *gram/mole)
Definition: GasLib.h:108
AtomDef Strontium("Strontium", "Sr", 38, 87.62 *gram/mole)
Definition: GasLib.h:86
MoleculeDef NO_molec("NO", "NO", "N", 1, "O", 1)
Definition: GasLib.h:152