Geant4
9.6.p02
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4_9_6_p02
source
global
management
include
G4SIunits.hh
Go to the documentation of this file.
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
26
//
27
// $Id$
28
//
29
// ----------------------------------------------------------------------
30
//
31
// Class description:
32
//
33
// This file is a modified version of SystemOfUnits.h
34
// It is provided for checking the overall 'units coherence' of the
35
// Geant4 kernel.
36
// -------
37
// Warning: if you use it, do not forget to recompile the whole Geant4 kernel
38
// -------
39
// The basic units are those of the International System:
40
//
41
// meter
42
// second
43
// kilogram
44
// ampere
45
// degree kelvin
46
// the amount of substance (mole)
47
// luminous intensity (candela)
48
// radian
49
// steradian
50
//
51
//
52
// The SI numerical value of the positron charge is defined here,
53
// as it is needed for conversion factor : positron charge = e_SI (coulomb)
54
//
55
// The others physical constants are defined in the header file :
56
// PhysicalConstants.h
57
//
58
59
// Authors: M.Maire, S.Giani
60
//
61
// History:
62
//
63
// 10.03.99 created
64
// 01.03.01 parsec
65
66
#ifndef G4UNITSTEST_HH
67
#define G4UNITSTEST_HH
68
69
//
70
// Length [L]
71
//
72
static
const
double
meter
= 1.;
73
static
const
double
meter2
=
meter
*
meter
;
74
static
const
double
meter3
=
meter
*
meter
*
meter
;
75
76
static
const
double
millimeter
= 0.001*
meter
;
77
static
const
double
millimeter2
=
millimeter
*
millimeter
;
78
static
const
double
millimeter3
=
millimeter
*
millimeter
*
millimeter
;
79
80
static
const
double
centimeter
= 10.*
millimeter
;
81
static
const
double
centimeter2
=
centimeter
*
centimeter
;
82
static
const
double
centimeter3
=
centimeter
*
centimeter
*
centimeter
;
83
84
static
const
double
kilometer
= 1000.*
meter
;
85
static
const
double
kilometer2
=
kilometer
*
kilometer
;
86
static
const
double
kilometer3
=
kilometer
*
kilometer
*
kilometer
;
87
88
static
const
double
parsec
= 3.0856775807e+16*
meter
;
89
90
static
const
double
micrometer
= 1.e-6 *
meter
;
91
static
const
double
nanometer
= 1.e-9 *
meter
;
92
static
const
double
angstrom
= 1.e-10*
meter
;
93
static
const
double
fermi
= 1.e-15*
meter
;
94
95
static
const
double
barn
= 1.e-28*
meter2
;
96
static
const
double
millibarn
= 1.e-3 *
barn
;
97
static
const
double
microbarn
= 1.e-6 *
barn
;
98
static
const
double
nanobarn
= 1.e-9 *
barn
;
99
static
const
double
picobarn
= 1.e-12*
barn
;
100
101
// symbols
102
static
const
double
mm
=
millimeter
;
103
static
const
double
mm2
=
millimeter2
;
104
static
const
double
mm3
=
millimeter3
;
105
106
static
const
double
cm
=
centimeter
;
107
static
const
double
cm2
=
centimeter2
;
108
static
const
double
cm3
=
centimeter3
;
109
110
static
const
double
m
=
meter
;
111
static
const
double
m2
=
meter2
;
112
static
const
double
m3
=
meter3
;
113
114
static
const
double
km
=
kilometer
;
115
static
const
double
km2
=
kilometer2
;
116
static
const
double
km3
=
kilometer3
;
117
118
static
const
double
pc
=
parsec
;
119
120
//
121
// Angle
122
//
123
static
const
double
radian
= 1.;
124
static
const
double
milliradian
= 1.e-3*
radian
;
125
static
const
double
degree
= (3.14159265358979323846/180.0)*
radian
;
126
127
static
const
double
steradian
= 1.;
128
129
// symbols
130
static
const
double
rad
=
radian
;
131
static
const
double
mrad
=
milliradian
;
132
static
const
double
sr
=
steradian
;
133
static
const
double
deg
=
degree
;
134
135
//
136
// Time [T]
137
//
138
static
const
double
second
= 1.;
139
static
const
double
nanosecond
= 1.e-9 *
second
;
140
static
const
double
millisecond
= 1.e-3 *
second
;
141
static
const
double
microsecond
= 1.e-6 *
second
;
142
static
const
double
picosecond
= 1.e-12*
second
;
143
144
static
const
double
hertz
= 1./
second
;
145
static
const
double
kilohertz
= 1.e+3*
hertz
;
146
static
const
double
megahertz
= 1.e+6*
hertz
;
147
148
// symbols
149
static
const
double
ns
=
nanosecond
;
150
static
const
double
s
=
second
;
151
static
const
double
ms
=
millisecond
;
152
153
//
154
// Mass [E][T^2][L^-2]
155
//
156
static
const
double
kilogram
= 1.;
157
static
const
double
gram
= 1.e-3*
kilogram
;
158
static
const
double
milligram
= 1.e-3*
gram
;
159
160
// symbols
161
static
const
double
kg
=
kilogram
;
162
static
const
double
g
=
gram
;
163
static
const
double
mg
=
milligram
;
164
165
//
166
// Electric current [Q][T^-1]
167
//
168
static
const
double
ampere
= 1.;
169
static
const
double
milliampere
= 1.e-3*
ampere
;
170
static
const
double
microampere
= 1.e-6*
ampere
;
171
static
const
double
nanoampere
= 1.e-9*
ampere
;
172
173
//
174
// Electric charge [Q]
175
//
176
static
const
double
coulomb
=
ampere
*
second
;
177
static
const
double
e_SI
= 1.60217733e-19;
// positron charge in coulomb
178
static
const
double
eplus
=
e_SI
*
coulomb
;
// positron charge
179
180
//
181
// Energy [E]
182
//
183
static
const
double
joule
=
kg
*
m
*
m
/(
s
*
s
);
184
185
static
const
double
electronvolt
=
e_SI
*
joule
;
186
static
const
double
kiloelectronvolt
= 1.e+3*
electronvolt
;
187
static
const
double
megaelectronvolt
= 1.e+6*
electronvolt
;
188
static
const
double
gigaelectronvolt
= 1.e+9*
electronvolt
;
189
static
const
double
teraelectronvolt
= 1.e+12*
electronvolt
;
190
static
const
double
petaelectronvolt
= 1.e+15*
electronvolt
;
191
192
// symbols
193
static
const
double
MeV
=
megaelectronvolt
;
194
static
const
double
eV
=
electronvolt
;
195
static
const
double
keV
=
kiloelectronvolt
;
196
static
const
double
GeV
=
gigaelectronvolt
;
197
static
const
double
TeV
=
teraelectronvolt
;
198
static
const
double
PeV
=
petaelectronvolt
;
199
200
//
201
// Power [E][T^-1]
202
//
203
static
const
double
watt
=
joule
/
second
;
// watt = 6.24150 e+3 * MeV/ns
204
205
//
206
// Force [E][L^-1]
207
//
208
static
const
double
newton
=
joule
/
meter
;
// newton = 6.24150 e+9 * MeV/mm
209
210
//
211
// Pressure [E][L^-3]
212
//
213
#define pascal hep_pascal // a trick to avoid warnings
214
static
const
double
hep_pascal =
newton
/
m2
;
// pascal = 6.24150 e+3 * MeV/mm3
215
static
const
double
bar
= 100000*
pascal
;
// bar = 6.24150 e+8 * MeV/mm3
216
static
const
double
atmosphere
= 101325*
pascal
;
// atm = 6.32420 e+8 * MeV/mm3
217
218
//
219
// Electric potential [E][Q^-1]
220
//
221
static
const
double
megavolt
=
megaelectronvolt
/
eplus
;
222
static
const
double
kilovolt
= 1.e-3*
megavolt
;
223
static
const
double
volt
= 1.e-6*
megavolt
;
224
225
//
226
// Electric resistance [E][T][Q^-2]
227
//
228
static
const
double
ohm
=
volt
/
ampere
;
// ohm = 1.60217e-16*(MeV/eplus)/(eplus/ns)
229
230
//
231
// Electric capacitance [Q^2][E^-1]
232
//
233
static
const
double
farad
=
coulomb
/
volt
;
// farad = 6.24150e+24 * eplus/Megavolt
234
static
const
double
millifarad
= 1.e-3*
farad
;
235
static
const
double
microfarad
= 1.e-6*
farad
;
236
static
const
double
nanofarad
= 1.e-9*
farad
;
237
static
const
double
picofarad
= 1.e-12*
farad
;
238
239
//
240
// Magnetic Flux [T][E][Q^-1]
241
//
242
static
const
double
weber
=
volt
*
second
;
// weber = 1000*megavolt*ns
243
244
//
245
// Magnetic Field [T][E][Q^-1][L^-2]
246
//
247
static
const
double
tesla
=
volt
*
second
/
meter2
;
// tesla =0.001*megavolt*ns/mm2
248
249
static
const
double
gauss
= 1.e-4*
tesla
;
250
static
const
double
kilogauss
= 1.e-1*
tesla
;
251
252
//
253
// Inductance [T^2][E][Q^-2]
254
//
255
static
const
double
henry
=
weber
/
ampere
;
// henry = 1.60217e-7*MeV*(ns/eplus)**2
256
257
//
258
// Temperature
259
//
260
static
const
double
kelvin
= 1.;
261
262
//
263
// Amount of substance
264
//
265
static
const
double
mole
= 1.;
266
267
//
268
// Activity [T^-1]
269
//
270
static
const
double
becquerel
= 1./
second
;
271
static
const
double
curie
= 3.7e+10 *
becquerel
;
272
273
//
274
// Absorbed dose [L^2][T^-2]
275
//
276
static
const
double
gray
=
joule
/
kilogram
;
277
278
//
279
// Luminous intensity [I]
280
//
281
static
const
double
candela
= 1.;
282
283
//
284
// Luminous flux [I]
285
//
286
static
const
double
lumen
=
candela
*
steradian
;
287
288
//
289
// Illuminance [I][L^-2]
290
//
291
static
const
double
lux
=
lumen
/
meter2
;
292
293
//
294
// Miscellaneous
295
//
296
static
const
double
perCent
= 0.01 ;
297
static
const
double
perThousand
= 0.001;
298
static
const
double
perMillion
= 0.000001;
299
300
#endif
/* G4UNITSTEST_HH */
Generated on Sat May 25 2013 14:33:17 for Geant4 by
1.8.4