]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.1.1.1 1995/10/24 10:20:38 cernlib | |
6 | * Geant | |
7 | * | |
8 | * | |
9 | #ifndef CERNLIB_GEANT321_DBLPRC_INC | |
10 | #define CERNLIB_GEANT321_DBLPRC_INC | |
11 | * | |
12 | * | |
13 | * dblprc.inc | |
14 | * | |
15 | #if defined(CERNLIB_DOUBLE) | |
16 | * * | |
17 | *=== dblprc ==========================================================* | |
18 | * * | |
19 | *---------------------------------------------------------------------* | |
20 | * * | |
21 | * Dblprc: included in any routine * | |
22 | * * | |
23 | * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * | |
24 | * !!!! O N M A C H I N E S W H E R E T H E D O U B L E !!!! * | |
25 | * !!!! P R E C I S I O N I S N O T R E Q U I R E D R E -!!!! * | |
26 | * !!!! M O V E T H E D O U B L E P R E C I S I O N !!!! * | |
27 | * !!!! S T A T E M E N T, S E T K A L G N M = 1 A N D !!!! * | |
28 | * !!!! C H A N G E A L L N U M E R I C A L C O N S - !!!! * | |
29 | * !!!! T A N T S T O S I N G L E P R E C I S I O N !!!! * | |
30 | * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * | |
31 | * * | |
32 | * Kalgnm = real address alignment, 2 for double precision, * | |
33 | * 1 for single precision * | |
34 | * Anglgb = this parameter should be set equal to the machine * | |
35 | * "zero" with respect to unit * | |
36 | * Anglsq = this parameter should be set equal to the square * | |
37 | * of Anglgb * | |
38 | * Axcssv = this parameter should be set equal to the number * | |
39 | * for which unity is negligible for the machine * | |
40 | * accuracy * | |
41 | * Andrfl = "underflow" of the machine for floating point * | |
42 | * operation * | |
43 | * Avrflw = "overflow" of the machine for floating point * | |
44 | * operation * | |
45 | * Ainfnt = code "infinite" * | |
46 | * Azrzrz = code "zero" * | |
47 | * Einfnt = natural logarithm of the code "infinite" * | |
48 | * Ezrzrz = natural logarithm of the code "zero" * | |
49 | * Onemns = 1- of the machine, it is 1 - 2 x Anglgb * | |
50 | * Onepls = 1+ of the machine, it is 1 + 2 x Anglgb * | |
51 | * Csnnrm = maximum tolerable error on cosine normalization, * | |
52 | * u**2+v**2+w**2: assuming a typical anglgb relative * | |
53 | * error on each component we would get 2xanglgb: use * | |
54 | * 4xanglgb to avoid too many normalizations * | |
55 | * Dmxtrn = "infinite" distance for transport (cm) * | |
56 | * * | |
57 | *---------------------------------------------------------------------* | |
58 | * * | |
59 | IMPLICIT DOUBLE PRECISION (A-H,O-Z) | |
60 | PARAMETER ( KALGNM = 2 ) | |
61 | PARAMETER ( ANGLGB = 5.0D-16 ) | |
62 | PARAMETER ( ANGLSQ = 2.5D-31 ) | |
63 | PARAMETER ( AXCSSV = 0.2D+16 ) | |
64 | PARAMETER ( ANDRFL = 1.0D-38 ) | |
65 | PARAMETER ( AVRFLW = 1.0D+38 ) | |
66 | PARAMETER ( AINFNT = 1.0D+30 ) | |
67 | PARAMETER ( AZRZRZ = 1.0D-30 ) | |
68 | PARAMETER ( EINFNT = +69.07755278982137 D+00 ) | |
69 | PARAMETER ( EZRZRZ = -69.07755278982137 D+00 ) | |
70 | PARAMETER ( ONEMNS = 0.999999999999999 D+00 ) | |
71 | PARAMETER ( ONEPLS = 1.000000000000001 D+00 ) | |
72 | PARAMETER ( CSNNRM = 2.0D-15 ) | |
73 | PARAMETER ( DMXTRN = 1.0D+08 ) | |
74 | * | |
75 | *======================================================================* | |
76 | *======================================================================* | |
77 | *========= ==========* | |
78 | *========= M A T H E M A T I C A L C O N S T A N T S ==========* | |
79 | *========= ==========* | |
80 | *======================================================================* | |
81 | *======================================================================* | |
82 | * * | |
83 | * Numerical constants: * | |
84 | * * | |
85 | * Zerzer = 0 * | |
86 | * Oneone = 1 * | |
87 | * Twotwo = 2 * | |
88 | * Thrthr = 3 * | |
89 | * Foufou = 4 * | |
90 | * Fivfiv = 5 * | |
91 | * Sixsix = 6 * | |
92 | * Sevsev = 7 * | |
93 | * Eigeig = 8 * | |
94 | * Aninen = 9 * | |
95 | * Tenten = 10 * | |
96 | * Hlfhlf = 1/2 * | |
97 | * Onethi = 1/3 * | |
98 | * Twothi = 2/3 * | |
99 | * Pipipi = Circumference / diameter * | |
100 | * Eneper = "e", base of natural logarithm * | |
101 | * Sqrent = square root of "e" * | |
102 | * * | |
103 | *----------------------------------------------------------------------* | |
104 | * | |
105 | PARAMETER ( ZERZER = 0.D+00 ) | |
106 | PARAMETER ( ONEONE = 1.D+00 ) | |
107 | PARAMETER ( TWOTWO = 2.D+00 ) | |
108 | PARAMETER ( THRTHR = 3.D+00 ) | |
109 | PARAMETER ( FOUFOU = 4.D+00 ) | |
110 | PARAMETER ( FIVFIV = 5.D+00 ) | |
111 | PARAMETER ( SIXSIX = 6.D+00 ) | |
112 | PARAMETER ( SEVSEV = 7.D+00 ) | |
113 | PARAMETER ( EIGEIG = 8.D+00 ) | |
114 | PARAMETER ( ANINEN = 9.D+00 ) | |
115 | PARAMETER ( TENTEN = 10.D+00 ) | |
116 | PARAMETER ( HLFHLF = 0.5D+00 ) | |
117 | PARAMETER ( ONETHI = ONEONE / THRTHR ) | |
118 | PARAMETER ( TWOTHI = TWOTWO / THRTHR ) | |
119 | PARAMETER ( PIPIPI = 3.1415926535897932270 D+00 ) | |
120 | PARAMETER ( ENEPER = 2.7182818284590452354 D+00 ) | |
121 | PARAMETER ( SQRENT = 1.6487212707001281468 D+00 ) | |
122 | * | |
123 | *======================================================================* | |
124 | *======================================================================* | |
125 | *========= ==========* | |
126 | *========= P H Y S I C A L C O N S T A N T S ==========* | |
127 | *========= ==========* | |
128 | *======================================================================* | |
129 | *======================================================================* | |
130 | * * | |
131 | * Primary constants: * | |
132 | * * | |
133 | * Clight = speed of light in cm s-1 * | |
134 | * Avogad = Avogadro number * | |
135 | * Amelgr = electron mass (g) * | |
136 | * Plckbr = reduced Planck constant (erg s) * | |
137 | * Elccgs = elementary charge (CGS unit) * | |
138 | * Elcmks = elementary charge (MKS unit) * | |
139 | * Amugrm = Atomic mass unit (g) * | |
140 | * Ammumu = Muon mass (amu) * | |
141 | * * | |
142 | * Derived constants: * | |
143 | * * | |
144 | * Alpfsc = Fine structure constant = e^2/(hbar c) * | |
145 | * Amelct = Electron mass (GeV) = 10^-16Amelgr Clight^2 / Elcmks* | |
146 | * Amugev = Atomic mass unit (GeV) = 10^-16Amelgr Clight^2 * | |
147 | * / Elcmks * | |
148 | * Ammuon = Muon mass (GeV) = Ammumu * Amugev * | |
149 | * Fscto2 = (Fine structure constant)^2 * | |
150 | * Fscto3 = (Fine structure constant)^3 * | |
151 | * Fscto4 = (Fine structure constant)^4 * | |
152 | * Plabrc = Reduced Planck constant times the light velocity * | |
153 | * expressed in GeV fm * | |
154 | * Rclsel = Classical electron radius (cm) = e^2 / (m_e c^2) * | |
155 | * Conversion constants: * | |
156 | * GeVMeV = from GeV to MeV * | |
157 | * eMVGeV = from MeV to GeV * | |
158 | * Raddeg = from radians to degrees * | |
159 | * Degrad = from degrees to radians * | |
160 | * * | |
161 | *----------------------------------------------------------------------* | |
162 | * | |
163 | PARAMETER ( CLIGHT = 2.99792458 D+10 ) | |
164 | PARAMETER ( AVOGAD = 6.0221367 D+23 ) | |
165 | PARAMETER ( AMELGR = 9.1093897 D-28 ) | |
166 | PARAMETER ( PLCKBR = 1.05457266 D-27 ) | |
167 | PARAMETER ( ELCCGS = 4.8032068 D-10 ) | |
168 | PARAMETER ( ELCMKS = 1.60217733 D-19 ) | |
169 | PARAMETER ( AMUGRM = 1.6605402 D-24 ) | |
170 | PARAMETER ( AMMUMU = 0.113428913 D+00 ) | |
171 | * PARAMETER ( ALPFSC = 1.D+00 / 137.035989561D+00 ) | |
172 | * PARAMETER ( FSCTO2 = ALPFSC * ALPFSC ) | |
173 | * PARAMETER ( FSCTO3 = FSCTO2 * ALPFSC ) | |
174 | * PARAMETER ( FSCTO4 = FSCTO3 * ALPFSC ) | |
175 | * It is important to set the electron mass exactly with the same | |
176 | * rounding as in the mass tables, so use the explicit expression | |
177 | * PARAMETER ( AMELCT = 1.D-16 * AMELGR * CLIGHT * CLIGHT / ELCMKS ) | |
178 | * It is important to set the amu mass exactly with the same | |
179 | * rounding as in the mass tables, so use the explicit expression | |
180 | * PARAMETER ( AMUGEV = 1.D-16 * AMUGRM * CLIGHT * CLIGHT / ELCMKS ) | |
181 | * It is important to set the muon mass exactly with the same | |
182 | * rounding as in the mass tables, so use the explicit expression | |
183 | * PARAMETER ( AMMUON = AMMUMU * AMUGEV ELCMKS ) | |
184 | * PARAMETER ( RCLSEL = ELCCGS * ELCCGS / CLIGHT / CLIGHT / AMELGR ) | |
185 | PARAMETER ( ALPFSC = 7.2973530791728595 D-03 ) | |
186 | PARAMETER ( FSCTO2 = 5.3251361962113614 D-05 ) | |
187 | PARAMETER ( FSCTO3 = 3.8859399018437826 D-07 ) | |
188 | PARAMETER ( FSCTO4 = 2.8357075508200407 D-09 ) | |
189 | PARAMETER ( PLABRC = 0.197327053 D+00 ) | |
190 | PARAMETER ( AMELCT = 0.51099906 D-03 ) | |
191 | PARAMETER ( AMUGEV = 0.93149432 D+00 ) | |
192 | PARAMETER ( AMMUON = 0.105658389 D+00 ) | |
193 | PARAMETER ( RCLSEL = 2.8179409183694872 D-13 ) | |
194 | PARAMETER ( GEVMEV = 1.0 D+03 ) | |
195 | PARAMETER ( EMVGEV = 1.0 D-03 ) | |
196 | PARAMETER ( RADDEG = 180.D+00 / PIPIPI ) | |
197 | PARAMETER ( DEGRAD = PIPIPI / 180.D+00 ) | |
198 | ||
199 | #endif | |
200 | #if defined(CERNLIB_SINGLE) | |
201 | IMPLICIT REAL (A-H,O-Z) | |
202 | PARAMETER ( KALGNM = 1 ) | |
203 | PARAMETER ( ANGLGB = 5.0e-16 ) | |
204 | PARAMETER ( ANGLSQ = 2.5e-31 ) | |
205 | PARAMETER ( AXCSSV = 0.2e+16 ) | |
206 | PARAMETER ( ANDRFL = 1.0e-38 ) | |
207 | PARAMETER ( AVRFLW = 1.0e+38 ) | |
208 | PARAMETER ( AINFNT = 1.0e+30 ) | |
209 | PARAMETER ( AZRZRZ = 1.0e-30 ) | |
210 | PARAMETER ( EINFNT = +69.07755278982137 e+00 ) | |
211 | PARAMETER ( EZRZRZ = -69.07755278982137 e+00 ) | |
212 | PARAMETER ( ONEMNS = 0.999999999999999 e+00 ) | |
213 | PARAMETER ( ONEPLS = 1.000000000000001 e+00 ) | |
214 | PARAMETER ( CSNNRM = 2.0e-15 ) | |
215 | PARAMETER ( DMXTRN = 1.0e+08 ) | |
216 | * | |
217 | PARAMETER ( ZERZER = 0.e+00 ) | |
218 | PARAMETER ( ONEONE = 1.e+00 ) | |
219 | PARAMETER ( TWOTWO = 2.e+00 ) | |
220 | PARAMETER ( THRTHR = 3.e+00 ) | |
221 | PARAMETER ( FOUFOU = 4.e+00 ) | |
222 | PARAMETER ( FIVFIV = 5.e+00 ) | |
223 | PARAMETER ( SIXSIX = 6.e+00 ) | |
224 | PARAMETER ( SEVSEV = 7.e+00 ) | |
225 | PARAMETER ( EIGEIG = 8.e+00 ) | |
226 | PARAMETER ( ANINEN = 9.e+00 ) | |
227 | PARAMETER ( TENTEN = 10.e+00 ) | |
228 | PARAMETER ( HLFHLF = 0.5e+00 ) | |
229 | PARAMETER ( ONETHI = ONEONE / THRTHR ) | |
230 | PARAMETER ( TWOTHI = TWOTWO / THRTHR ) | |
231 | PARAMETER ( PIPIPI = 3.1415926535897932270 e+00 ) | |
232 | PARAMETER ( ENEPER = 2.7182818284590452354 e+00 ) | |
233 | PARAMETER ( SQRENT = 1.6487212707001281468 e+00 ) | |
234 | * | |
235 | PARAMETER ( CLIGHT = 2.99792458 e+10 ) | |
236 | PARAMETER ( AVOGAD = 6.0221367 e+23 ) | |
237 | PARAMETER ( AMELGR = 9.1093897 e-28 ) | |
238 | PARAMETER ( PLCKBR = 1.05457266 e-27 ) | |
239 | PARAMETER ( ELCCGS = 4.8032068 e-10 ) | |
240 | PARAMETER ( ELCMKS = 1.60217733 e-19 ) | |
241 | PARAMETER ( AMUGRM = 1.6605402 e-24 ) | |
242 | PARAMETER ( AMMUMU = 0.113428913 e+00 ) | |
243 | * PARAMETER ( ALPFSC = 1.e+00 / 137.035989561e+00 ) | |
244 | * PARAMETER ( FSCTO2 = ALPFSC * ALPFSC ) | |
245 | * PARAMETER ( FSCTO3 = FSCTO2 * ALPFSC ) | |
246 | * PARAMETER ( FSCTO4 = FSCTO3 * ALPFSC ) | |
247 | * It is important to set the electron mass exactly with the same | |
248 | * rounding as in the mass tables, so use the explicit expression | |
249 | * PARAMETER ( AMELCT = 1.e-16 * AMELGR * CLIGHT * CLIGHT / ELCMKS ) | |
250 | * It is important to set the amu mass exactly with the same | |
251 | * rounding as in the mass tables, so use the explicit expression | |
252 | * PARAMETER ( AMUGEV = 1.e-16 * AMUGRM * CLIGHT * CLIGHT / ELCMKS ) | |
253 | * It is important to set the muon mass exactly with the same | |
254 | * rounding as in the mass tables, so use the explicit expression | |
255 | * PARAMETER ( AMMUON = AMMUMU * AMUGEV ELCMKS ) | |
256 | * PARAMETER ( RCLSEL = ELCCGS * ELCCGS / CLIGHT / CLIGHT / AMELGR ) | |
257 | PARAMETER ( ALPFSC = 7.2973530791728595 e-03 ) | |
258 | PARAMETER ( FSCTO2 = 5.3251361962113614 e-05 ) | |
259 | PARAMETER ( FSCTO3 = 3.8859399018437826 e-07 ) | |
260 | PARAMETER ( FSCTO4 = 2.8357075508200407 e-09 ) | |
261 | PARAMETER ( PLABRC = 0.197327053 e+00 ) | |
262 | PARAMETER ( AMELCT = 0.51099906 e-03 ) | |
263 | PARAMETER ( AMUGEV = 0.93149432 e+00 ) | |
264 | PARAMETER ( AMMUON = 0.105658389 e+00 ) | |
265 | PARAMETER ( RCLSEL = 2.8179409183694872 e-13 ) | |
266 | PARAMETER ( GEVMEV = 1.0 e+03 ) | |
267 | PARAMETER ( EMVGEV = 1.0 e-03 ) | |
268 | PARAMETER ( RADDEG = 180.e+00 / PIPIPI ) | |
269 | PARAMETER ( DEGRAD = PIPIPI / 180.e+00 ) | |
270 | ||
271 | #endif | |
272 | ||
273 | #endif |