Garfield++ 3.0
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, molecule, 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 molecules 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
361998-2004, I. Smirnov
37
38*/
39
43
44namespace Heed {
45
64extern AtomDef Argon_without_K; // without K-shell
96extern AtomDef Tin;
107
114// extern MoleculeDef Argon_without_K_molec;
122
123// The following is defined without Van der Waals corrections
126
134
135// The following is defined without Van der Waals corrections
137
142
143// Additional molecule definitions for compatibility with Magboltz
167}
168
169#endif
Helper class for Van-der-Waals equation.
Definition: MoleculeDef.h:10
Definition: BGMesh.cpp:6
MoleculeDef Oxygen_molec("Oxygen", "O2", "O", 2)
Definition: GasLib.h:111
AtomDef Molybdenum("Molybdenum", "Mo", 42, 95.94 *gram/mole)
Definition: GasLib.h:89
MoleculeDef C2H5OH_molec("C2H5OH", "C2H5OH", "C", 2, "H", 6, "O", 1)
Definition: GasLib.h:151
VanDerWaals C4H10_VanDerWaals
AtomDef Niobium("Niobium", "Nb", 41, 92.9064 *gram/mole)
Definition: GasLib.h:87
MoleculeDef C2H2("C2H2", "C2H2", "C", 2, "H", 2)
Definition: GasLib.h:127
MoleculeDef CH4("CH4", "CH4", "C", 1, "H", 4, std::make_shared< VanDerWaals >(4.64e6 *hep_pascal,(273.15 - 82.5) *kelvin))
Definition: GasLib.h:120
MoleculeDef DME_molec("DME", "DME", "C", 2, "H", 6, "O", 1)
Definition: GasLib.h:147
AtomDef Aluminium("Aluminium", "Al", 13, 26.981539 *gram/mole)
Definition: GasLib.h:58
MoleculeDef C2HF5_molec("C2HF5", "C2HF5", "C", 2, "H", 1, "F", 5)
Definition: GasLib.h:158
MoleculeDef CO_molec("CO", "CO", "C", 1, "O", 1)
Definition: GasLib.h:146
MoleculeDef GeH4_molec("GeH4", "GeH4", "Ge", 1, "H", 4)
Definition: GasLib.h:165
MoleculeDef C4H10("C4H10", "C4H10", "C", 4, "H", 10, std::make_shared< VanDerWaals >(40.0 *bar, 418.3 *kelvin))
Definition: GasLib.h:133
AtomDef Selenium("Selenium", "Se", 34, 78.96 *gram/mole)
Definition: GasLib.h:80
MoleculeDef SF6("SF6", "SF6", "S", 1, "F", 6)
Definition: GasLib.h:125
AtomDef Tungsten("Tungsten", "W", 74, 183.85 *gram/mole)
Definition: GasLib.h:102
AtomDef Bismuth("Bismuth", "Bi", 83, 208.9804 *gram/mole)
Definition: GasLib.h:104
AtomDef Hydrogen("Hydrogen", "H", 1, 1.0 *gram/mole)
Definition: GasLib.h:46
AtomDef Zinc("Zinc", "Zn", 30, 65.38 *gram/mole)
Definition: GasLib.h:76
AtomDef Magnesium("Magnesium", "Mg", 12, 24.3050 *gram/mole)
Definition: GasLib.h:57
MoleculeDef Xenon_molec("Xenon", "Xe", "Xe", 1, std::make_shared< VanDerWaals >(55.0 *bar, 209.4 *kelvin))
Definition: GasLib.h:116
MoleculeDef Nitrogen_molec("Nitrogen", "N2", "N", 2)
Definition: GasLib.h:110
MoleculeDef BF3_molec("BF3", "BF3", "B", 1, "F", 3)
Definition: GasLib.h:157
AtomDef Rhodium("Rhodium", "Rh", 45, 102.9055 *gram/mole)
Definition: GasLib.h:91
MoleculeDef F2_molec("F2", "F2", "F", 2)
Definition: GasLib.h:154
MoleculeDef C2F6_molec("C2F6", "C2F6", "C", 2, "F", 6)
Definition: GasLib.h:148
AtomDef Krypton("Krypton", "Kr", 36, 83.80 *gram/mole)
Definition: GasLib.h:82
AtomDef Cobalt("Cobalt", "Co", 27, 58.9332 *gram/mole)
Definition: GasLib.h:73
AtomDef Manganese("Manganese", "Mn", 25, 54.9380 *gram/mole)
Definition: GasLib.h:71
AtomDef Rubidium("Rubidium", "Rb", 37, 85.4673 *gram/mole)
Definition: GasLib.h:83
MoleculeDef CS2_molec("CS2", "CS2", "C", 1, "S", 2)
Definition: GasLib.h:155
VanDerWaals C3H8_VanDerWaals
MoleculeDef CH3OH_molec("CH3OH", "CH3OH", "C", 1, "H", 4, "O", 1)
Definition: GasLib.h:150
AtomDef Titanium("Titanium", "Ti", 22, 47.867 *gram/mole)
Definition: GasLib.h:68
AtomDef Chlorine("Chlorine", "Cl", 17, 35.066 *gram/mole)
Definition: GasLib.h:62
AtomDef Uranium("Uranium", "U", 92, 238.0289 *gram/mole)
Definition: GasLib.h:105
MoleculeDef C5H12_molec("C5H12", "C5H12", "C", 5, "H", 12)
Definition: GasLib.h:144
AtomDef Palladium("Palladium", "Pd", 46, 106.4 *gram/mole)
Definition: GasLib.h:92
MoleculeDef C2H2F4("C2H2F4", "C2H2F4", "C", 2, "F", 4, "H", 2)
Definition: GasLib.h:136
AtomDef Helium("Helium", "He", 2, 4.002602 *gram/mole)
Definition: GasLib.h:47
MoleculeDef CF4("CF4", "CF4", "C", 1, "F", 4, std::make_shared< VanDerWaals >(42.5 *bar, 369.8 *kelvin))
Definition: GasLib.h:121
AtomDef Zirconium("Zirconium", "Zr", 40, 91.22 *gram/mole)
Definition: GasLib.h:86
MoleculeDef N2O("N2O", "N2O", "N", 2, "O", 1)
Definition: GasLib.h:118
AtomDef Potassium("Potassium", "K", 19, 39.098 *gram/mole)
Definition: GasLib.h:65
AtomDef Gallium("Gallium", "Ga", 31, 69.72 *gram/mole)
Definition: GasLib.h:77
MoleculeDef Water_molec("Water", "Water", "H", 2, "O", 1, std::make_shared< VanDerWaals >(22.9e6 *hep_pascal,(273.15+374.15) *kelvin))
Definition: GasLib.h:139
MoleculeDef C3H8("C3H8", "C3H8", "C", 3, "H", 8, std::make_shared< VanDerWaals >(42.5 *bar, 369.8 *kelvin))
Definition: GasLib.h:131
AtomDef Caesium("Caesium", "Cs", 55, 132.9054519 *gram/mole)
Definition: GasLib.h:101
MoleculeDef C3F8_molec("C3F8", "C3F8", "C", 3, "F", 8)
Definition: GasLib.h:161
MoleculeDef COS_molec("COS", "COS", "C", 1, "O", 1, "S", 1)
Definition: GasLib.h:156
AtomDef Scandium("Scandium", "Sc", 21, 44.9559 *gram/mole)
Definition: GasLib.h:67
AtomDef Vanadium("Vanadium", "V", 23, 50.9414 *gram/mole)
Definition: GasLib.h:69
AtomDef Chromium("Chromium", "Cr", 24, 51.996 *gram/mole)
Definition: GasLib.h:70
MoleculeDef C2H6("C2H6", "C2H6", "C", 2, "H", 6)
Definition: GasLib.h:129
MoleculeDef H2S_molec("H2S", "H2S", "H", 2, "S", 1)
Definition: GasLib.h:164
AtomDef Neon("Neon", "Ne", 10, 20.1797 *gram/mole)
Definition: GasLib.h:55
MoleculeDef C3H6_molec("C3H6", "C3H6", "C", 3, "H", 6)
Definition: GasLib.h:149
AtomDef Arsenic("Arsenic", "As", 33, 74.9216 *gram/mole)
Definition: GasLib.h:79
AtomDef Nitrogen("Nitrogen", "N", 7, 14.00674 *gram/mole)
Definition: GasLib.h:52
AtomDef Tin("Tin", "Sn", 50, 118.710 *gram/mole)
Definition: GasLib.h:96
AtomDef Beryllium("Beryllium", "Be", 4, 9.012182 *gram/mole)
Definition: GasLib.h:49
MoleculeDef C3H7OH_molec("C3H7OH", "C3H7OH", "C", 3, "H", 8, "O", 1)
Definition: GasLib.h:152
AtomDef Antimony("Antimony", "Sb", 51, 121.760 *gram/mole)
Definition: GasLib.h:97
AtomDef Phosphorus("Phosphorus", "P", 15, 30.973762 *gram/mole)
Definition: GasLib.h:60
AtomDef Silicon("Silicon", "Si", 14, 28.0855 *gram/mole)
Definition: GasLib.h:59
AtomDef Silver("Silver", "Ag", 47, 107.868 *gram/mole)
Definition: GasLib.h:93
AtomDef Bromine("Bromine", "Br", 35, 79.904 *gram/mole)
Definition: GasLib.h:81
MoleculeDef Krypton_molec("Krypton", "Kr", "Kr", 1, std::make_shared< VanDerWaals >(55.0 *bar, 209.4 *kelvin))
Definition: GasLib.h:115
MoleculeDef Helium_molec("Helium", "He", "He", 1)
Definition: GasLib.h:109
AtomDef Fluorine("Fluorine", "F", 9, 18.9984032 *gram/mole)
Definition: GasLib.h:54
AtomDef Calcium("Calcium", "Ca", 20, 40.08 *gram/mole)
Definition: GasLib.h:66
MoleculeDef NH3("NH3", "NH3", "N", 1, "H", 3)
Definition: GasLib.h:117
AtomDef Cadmium("Cadmium", "Cd", 48, 112.411 *gram/mole)
Definition: GasLib.h:94
MoleculeDef SF4("SF4", "SF4", "S", 1, "F", 4)
Definition: GasLib.h:124
AtomDef Iodine("Iodine", "I", 53, 126.9045 *gram/mole)
Definition: GasLib.h:99
AtomDef Nickel("Nickel", "Ni", 28, 58.70 *gram/mole)
Definition: GasLib.h:74
VanDerWaals Methylal_VanDerWaals
AtomDef Tellurium("Tellurium", "Te", 52, 127.60 *gram/mole)
Definition: GasLib.h:98
VanDerWaals Water_VanDerWaals
MoleculeDef Cs_molec("Cs", "Cs", "Cs", 1)
Definition: GasLib.h:153
AtomDef Yttrium("Yttrium", "Y", 39, 88.9059 *gram/mole)
Definition: GasLib.h:85
MoleculeDef O3_molec("O3", "O3", "O", 3)
Definition: GasLib.h:162
MoleculeDef SiH4_molec("SiH4", "SiH4", "Si", 1, "H", 4)
Definition: GasLib.h:166
AtomDef Indium("Indium", "In", 49, 114.818 *gram/mole)
Definition: GasLib.h:95
AtomDef Ruthenium("Ruthenium", "Ru", 44, 101.07 *gram/mole)
Definition: GasLib.h:90
AtomDef Iron("Iron", "Fe", 26, 55.845 *gram/mole)
Definition: GasLib.h:72
MoleculeDef C2H4("C2H4", "C2H4", "C", 2, "H", 4)
Definition: GasLib.h:128
MoleculeDef Hg_molec("Hg", "Hg", "Hg", 1)
Definition: GasLib.h:163
MoleculeDef CO2("CO2", "CO2", "C", 1, "O", 2)
Definition: GasLib.h:119
AtomDef Copper("Copper", "Cu", 29, 63.546 *gram/mole)
Definition: GasLib.h:75
AtomDef Lithium("Lithium", "Li", 3, 6.941 *gram/mole)
Definition: GasLib.h:48
AtomDef Mercury("Mercury", "Hg", 80, 200.59 *gram/mole)
Definition: GasLib.h:103
MoleculeDef Argon_molec("Argon", "Ar", "Ar", 1, std::make_shared< VanDerWaals >(48.6 *bar, 150.7 *kelvin))
Definition: GasLib.h:113
AtomDef Germanium("Germanium", "Ge", 32, 72.59 *gram/mole)
Definition: GasLib.h:78
MoleculeDef CF3Br_molec("CF3Br", "CF3Br", "C", 1, "F", 3, "Br", 1)
Definition: GasLib.h:160
AtomDef Argon_without_K("Argon_without_K", "Ar_without_K", 16, 39.948 *gram/mole)
Definition: GasLib.h:64
MoleculeDef Neon_molec("Neon", "Ne", "Ne", 1)
Definition: GasLib.h:112
MoleculeDef Methylal_molec("Methylal", "Methylal", "O", 2, "C", 3, "H", 8, std::make_shared< VanDerWaals >(39.5 *bar, 480.6 *kelvin))
Definition: GasLib.h:141
AtomDef Oxygen("Oxygen", "O", 8, 15.9994 *gram/mole)
Definition: GasLib.h:53
AtomDef Argon("Argon", "Ar", 18, 39.948 *gram/mole)
Definition: GasLib.h:63
MoleculeDef CHF3_molec("CHF3", "CHF3", "C", 1, "H", 1, "F", 3)
Definition: GasLib.h:159
AtomDef Sulfur("Sulfur", "S", 16, 32.066 *gram/mole)
Definition: GasLib.h:61
AtomDef Technetium("Technetium", "Tc", 43, 98 *gram/mole)
Definition: GasLib.h:88
AtomDef Sodium("Sodium", "Na", 11, 22.989768 *gram/mole)
Definition: GasLib.h:56
AtomDef Xenon("Xenon", "Xe", 54, 131.293 *gram/mole)
Definition: GasLib.h:100
MoleculeDef Hydrogen2("Hydrogen", "H2", "H", 2)
Definition: GasLib.h:108
AtomDef Boron("Boron", "B", 5, 10.811 *gram/mole)
Definition: GasLib.h:50
AtomDef Carbon("Carbon", "C", 6, 12.011 *gram/mole)
Definition: GasLib.h:51
AtomDef Plutonium("Plutonium", "Pu", 94, 244.0 *gram/mole)
Definition: GasLib.h:106
AtomDef Strontium("Strontium", "Sr", 38, 87.62 *gram/mole)
Definition: GasLib.h:84
MoleculeDef NO_molec("NO", "NO", "N", 1, "O", 1)
Definition: GasLib.h:145