Garfield++ v2r0
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
115// extern MoleculeDef Argon_without_K_molec;
127
128// The following is defined without Van der Waals corrections
131
139
140// The following is defined without Van der Waals corrections
142
147
148// Additional molecule definitions for compatibility with Magboltz
172}
173
174#endif
Helper class for Van-der-Waals equation.
Definition: MoleculeDef.h:9
Definition: BGMesh.cpp:5
MoleculeDef Water_molec("Water", "Water", "H", 2, "O", 1, ActivePtr< VanDerWaals >(&Water_VanDerWaals, do_clone))
Definition: GasLib.h:144
MoleculeDef CF4("CF4", "CF4", "C", 1, "F", 4, ActivePtr< VanDerWaals >(&CF4_VanDerWaals, do_clone))
Definition: GasLib.h:126
MoleculeDef Oxygen_molec("Oxygen", "O2", "O", 2)
Definition: GasLib.h:111
AtomDef Molybdenum("Molybdenum", "Mo", 42, 95.94 *gram/mole)
Definition: GasLib.h:89
VanDerWaals Argon_VanDerWaals
MoleculeDef Xenon_molec("Xenon", "Xe", "Xe", 1, ActivePtr< VanDerWaals >(&Xenon_VanDerWaals, do_clone))
Definition: GasLib.h:119
MoleculeDef C2H5OH_molec("C2H5OH", "C2H5OH", "C", 2, "H", 6, "O", 1)
Definition: GasLib.h:156
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:132
MoleculeDef DME_molec("DME", "DME", "C", 2, "H", 6, "O", 1)
Definition: GasLib.h:152
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:163
MoleculeDef CO_molec("CO", "CO", "C", 1, "O", 1)
Definition: GasLib.h:151
MoleculeDef GeH4_molec("GeH4", "GeH4", "Ge", 1, "H", 4)
Definition: GasLib.h:170
AtomDef Selenium("Selenium", "Se", 34, 78.96 *gram/mole)
Definition: GasLib.h:80
MoleculeDef SF6("SF6", "SF6", "S", 1, "F", 6)
Definition: GasLib.h:130
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
VanDerWaals Xenon_VanDerWaals
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 Nitrogen_molec("Nitrogen", "N2", "N", 2)
Definition: GasLib.h:110
MoleculeDef BF3_molec("BF3", "BF3", "B", 1, "F", 3)
Definition: GasLib.h:162
MoleculeDef Krypton_molec("Krypton", "Kr", "Kr", 1, ActivePtr< VanDerWaals >(&Krypton_VanDerWaals, do_clone))
Definition: GasLib.h:117
AtomDef Rhodium("Rhodium", "Rh", 45, 102.9055 *gram/mole)
Definition: GasLib.h:91
MoleculeDef F2_molec("F2", "F2", "F", 2)
Definition: GasLib.h:159
MoleculeDef C2F6_molec("C2F6", "C2F6", "C", 2, "F", 6)
Definition: GasLib.h:153
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:160
VanDerWaals C3H8_VanDerWaals
MoleculeDef CH3OH_molec("CH3OH", "CH3OH", "C", 1, "H", 4, "O", 1)
Definition: GasLib.h:155
MoleculeDef C3H8("C3H8", "C3H8", "C", 3, "H", 8, ActivePtr< VanDerWaals >(&C3H8_VanDerWaals, do_clone))
Definition: GasLib.h:136
MoleculeDef C4H10("C4H10", "C4H10", "C", 4, "H", 10, ActivePtr< VanDerWaals >(&C4H10_VanDerWaals, do_clone))
Definition: GasLib.h:138
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:149
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:141
AtomDef Helium("Helium", "He", 2, 4.002602 *gram/mole)
Definition: GasLib.h:47
AtomDef Zirconium("Zirconium", "Zr", 40, 91.22 *gram/mole)
Definition: GasLib.h:86
MoleculeDef N2O("N2O", "N2O", "N", 2, "O", 1)
Definition: GasLib.h:121
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
AtomDef Caesium("Caesium", "Cs", 55, 132.9054519 *gram/mole)
Definition: GasLib.h:101
MoleculeDef Methylal_molec("Methylal", "Methylal", "O", 2, "C", 3, "H", 8, ActivePtr< VanDerWaals >(&Methylal_VanDerWaals, do_clone))
Definition: GasLib.h:146
MoleculeDef C3F8_molec("C3F8", "C3F8", "C", 3, "F", 8)
Definition: GasLib.h:166
MoleculeDef COS_molec("COS", "COS", "C", 1, "O", 1, "S", 1)
Definition: GasLib.h:161
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:134
MoleculeDef H2S_molec("H2S", "H2S", "H", 2, "S", 1)
Definition: GasLib.h:169
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:154
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:157
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
VanDerWaals CF4_VanDerWaals
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:120
VanDerWaals CH4_VanDerWaals
AtomDef Cadmium("Cadmium", "Cd", 48, 112.411 *gram/mole)
Definition: GasLib.h:94
MoleculeDef SF4("SF4", "SF4", "S", 1, "F", 4)
Definition: GasLib.h:129
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:158
AtomDef Yttrium("Yttrium", "Y", 39, 88.9059 *gram/mole)
Definition: GasLib.h:85
MoleculeDef O3_molec("O3", "O3", "O", 3)
Definition: GasLib.h:167
MoleculeDef SiH4_molec("SiH4", "SiH4", "Si", 1, "H", 4)
Definition: GasLib.h:171
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:133
MoleculeDef Hg_molec("Hg", "Hg", "Hg", 1)
Definition: GasLib.h:168
MoleculeDef CO2("CO2", "CO2", "C", 1, "O", 2)
Definition: GasLib.h:122
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 CH4("CH4", "CH4", "C", 1, "H", 4, ActivePtr< VanDerWaals >(&CH4_VanDerWaals, do_clone))
Definition: GasLib.h:124
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:165
AtomDef Argon_without_K("Argon_without_K", "Ar_without_K", 16, 39.948 *gram/mole)
Definition: GasLib.h:64
MoleculeDef Argon_molec("Argon", "Ar", "Ar", 1, ActivePtr< VanDerWaals >(&Argon_VanDerWaals, do_clone))
Definition: GasLib.h:114
MoleculeDef Neon_molec("Neon", "Ne", "Ne", 1)
Definition: GasLib.h:112
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:164
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:150
VanDerWaals Krypton_VanDerWaals