5 * Revision 1.1.1.1 1995/10/24 10:19:48 cernlib
9 *CMZ : 3.21/04 21/03/95 17.58.14 by S.Giani
12 *::> VERSION 3.21/04 21/03/95 17.58.14
15 *::> VERSION 3.21/03 17/10/94 16.00.29
18 *::> VERSION 3.21/02 25/07/94 15.24.16
21 *::> VERSION 3.21/01 28/03/94 16.10.10
24 *::> VERSION 3.21/00 28/02/94 16.32.43
26 **********************************************************************
34 **********************************************************************
36 * GEANT 3.21 has a new tracking logic to speed up the search over the
37 * volumes positioned inside a given node (Virtual Divisions).
38 * The new tracking is initialized by GGCLOS in a completely
39 * transparent way and in a negligible amount of time.
40 * The GUNEAR and GSORD techniques are automatically disabled
41 * and no change in the user code is needed. Anyway, it is
42 * still possible to get the old Geant tracking recompiling
43 * GEANT and GEANG with the patchy flag OLD.
44 * To implement the new logic, the following routines have
45 * written or deeply modified: GTNEXT, GGCLOS, GTMEDI, GNEXT,
46 * GMEDIA, GINVOL, GVDCAR, GVDRAD, GVDPHI, GVDLIM, GSCVOL.
49 * GEANT 3.21 has a new logic for MANY volumes: the tracking is not
50 * based anymore on a step-search, but relies on a algorithm
51 * similar to the one used for ONLY volumes (giving then
52 * basically the same speed obtained for ONLY). The new logic
53 * of MANY allows boolean operations between volumes, clipping
54 * of protuding objects, divisions along arbitrary axis,
55 * overlaps of 1-D structures to build 2-D or 3-D structures
56 * (like honeycombs, spaghetti, etc.). To implement the new
57 * logic, the following routines have been written or modified:
58 * GTNEXT, GTMEDI, GNEXT, GMEDIA, GTELEC, GTCKOV, GTHADR,
62 * GEANT 3.21 contains modifications to GTELEC, GTGAMA, GDRAY in order
63 * to exploit the e.m. low energy effects introduced in 3.16
64 * without any overhead in performance compared with 3.15.
65 * A bug in the delta ray productions is now fixed.
68 * GEANT 3.21 provides a ray-tracing as a new visualization tool. The
69 * ray-tracing is based on the new Geant tracking and allows
70 * the visualization of the boolean operations results.
71 * The following routines have been written or modified:
72 * GDRACK, GDSTEP, GDNINO, GDOPT, GDRAYT, GDRAW, GDINIT,
73 * GTRIG, GTRIGI, GDKINE, GDLUMI, GLIGHT, GFIND, GXDRAW,
77 * A new GGPERP has been written to cope with almost all the shapes.
78 * It is now of general utility both for the Cerenkovs
79 * and for the ray-tracing.
82 * A new set of routines to compute distances to surfaces has been
83 * introduced (GVSAFE, GVGRAD, GVPSQR, GVSIGN, GVLONG).
86 * Important fix in GPHYSI: user words for media were overwriting
87 * ILABS, ISYNC and ISTRA.
88 * Thanks to S.Giani, S.Ravndal.
90 * GXOBJ has been improved to handle DETs as objects of a SET directory
92 * Thanks to S.Giani, A.Dellacqua.
94 * GTNINO has been corrected in order to print the mechanism NEXT when
95 * crossing boundaries.
96 * Thanks to S.Giani, M.Maire.
98 * GFMFIN and GFMDIS are the new names for the 316 routines FMUFIN and
99 * FMDIST to avoid clashes with the program library. GFMFIN has
100 * also been corrected for a 316 bug affecting neutrons.
101 * Thanks to C.Zeitniz,K.Lassila,S.Ravndal.
103 * GINTRP and GINPCO have been corrected to handle sharp edges with no
104 * risk of float exception.
105 * Thanks to L.Gibbons.
107 * GGPERP has been corrected in reading the TRAP parameters and a systematic
108 * consistency of single precision or double precision variables in
109 * the MAX,MIN,MOD operands is provided.
110 * Thanks to S.Ravndal.
112 * FEREVV and FERHAV are now new from FLUKA.
113 * Thanks to A.Ferrari.
115 * FEREVV has been adapted to the Geant random numbers generators.
116 * Thanks to S.Ravndal.
118 * In GRNDMQ the option `SH' is provided to write the seeds ISEED1 and
119 * ISEED2 to the event header bank.
120 * Thanks to S.Ravndal.
122 * In GMORIN,FLINIT and GHEINI the interface messages are removed.
123 * Thanks to S.Ravndal.
125 * In GGDPAR now PAR(3) is correctly initialized to 1.for slices of
129 * The seq GCNUM has been added to the deck ERTRGO in Geane.
133 * G321X and G321M are the new names for the KUIP output of the CDF.
136 * GMORIN has been modified in order to read correctly xsneut.dat
137 * for MSDOS and WINNT as well.
140 * GEAMON has been modified in order to print Real and CPU Time longer
145 **********************************************************************
147 * G E A N T 3 . 2 1 *
149 * Correction cradle 0.01 *
153 * 29/3/94 Geneva CH *
155 **********************************************************************
157 * GZINIT and GSCKOV have been corrected (compared with 3.16) in order
158 * to initialize correctly the link area for the Zebra pointers
159 * of the banks relative to straggling, Cerenkovs, Asho, etc.
160 * Four pointers were not seen by Mzlint and, moreover, the link
161 * area (containing pointers for straggling, etc.) was initialized
162 * only if using Cerenkovs.
163 * Thanks to M.Verzocchi and R.Brun.
165 * FERHAV in Geanf was provoking a float exception due to a negative sqrt.
166 * The problem was fixed thanks to a comparison with the original
168 * Thanks to B.Slater and S.Giani.
170 * PREPRE has been deoptimized on HP.
173 * In GSKINE a pointer was not saved (in the previous versions as well).
174 * Thanks to A.Dellacqua.
176 * In GTNEXT and GNEXT precision problems are handled more effectively.
177 * Thanks to P.Ward, C.Markou and S.Giani.
179 * In GTNEXT the blocking of the volume from which particles are exiting
180 * has been corrected.
183 * Problems in the interactive materials, mixtures and media definition
184 * have been solved. (Routines GXCONT,GXGEOM). Idem for the 3D
185 * Dspec (routine GXDRAW).
187 * In order to handle correctly calls to Gfcoor in phi (for x=0 or y=0)
188 * GTMEDI, GMEDIA and GINVOL have been modified.
191 * In the ray-tracing, GDNINO has been corrected for precision problems.
195 **********************************************************************
197 * G E A N T 3 . 2 1 *
199 * Correction cradle 0.02 *
203 * 25/7/94 Geneva CH *
205 **********************************************************************
207 * In GTNEXT precision problems in phi have been solved.
208 * Thanks to A.Rosowsky and A.Givernaud.
210 * In GDRAY a missing protection for delta ray production was added.
213 * In GINVOL the variable ingt is corrrectly reset. It was not reset in
214 * all the previous versions of GEANT as well.
217 * GTCKOV, GTHADR, GTHION, GLISUR have been corrected and extended compared
218 * with the first implementation in 3.16 for Cerenkov tracking.
221 * GSKPHO has been fixed for Cerenkov physics compared with the previous
222 * version of GEANT (3.16).
223 * Thanks to S.Bottai.
225 * GFTMAT had a wrong pointer to plot the muon-nucleus cross sections since
226 * version 3.16. Now it is fixed.
227 * Thanks to C.Wiebusch and S.Ravndal.
229 * GFINDS has been restored to the 3.15 functionality.
230 * Thanks to A.Dellacqua and S.Tonse.
232 * GFANG has been fixed for a special pathological case.
235 * GSROTM has been fixed for a special pathological case.
236 * Thanks to A.Vlassov.
238 * GDRAYT does not increment ievent anymore.
239 * Thanks to P.Jacobs.
241 * GLVOLU has been fixed to recompute the pointers of the geometrical tree
242 * even if the names and numbers were identical.
243 * Thanks to R.Jones, T.Noble, S.Ravndal.
245 * GVDRAD has been fixed to compute the scope of tubs.
246 * Thanks to K.Albiol and S.Giani.
248 * GDSPEC has been fixed to print degrees for the 3-rd parameter of sphe.
249 * Thanks to S.Ravndal.
251 * GVDPHI has been fixed for a special pathological case (only for volumes
252 * with planar surfaces).
253 * Thanks to M.Kaspar and S.Giani.
255 * GXCONT is changed to handle correctly the variables ievent and nevent.
256 * Thanks to P.Jacobs.
258 * SVGAM7 in Gheisha has now a protection against the log(0).
261 * FEREVV and FERHAV have been updated.
262 * Thanks to A.Ferrari.
264 * In FLUFIN the correct mechanism is given to lmec in case of energy
266 * Thanks to B.Slater and S.Ravndal.
268 * In NUDISV the array anpowr is saved.
269 * Thanks to S.Ravndal.
271 * In GMXSEC imed is used instead of nmed.
272 * Thanks to K.L.Perini.
276 **********************************************************************
278 * G E A N T 3 . 2 1 *
280 * Correction version 0.03 = 94b release *
284 * 18/10/94 Geneva CH *
286 **********************************************************************
288 * In GDCGVW traslation problems have been fixed (graphics).
289 * Thanks to J.Stepanek, S.Giani.
291 * In GLTRAC nlevel is now initialized to 0 and GTNEXT has been improved
292 * further for handling precision problems.
293 * Thanks to A.Dellacqua.
295 * GDRELX and GTELEC have been corrected for energy deposition problems.
298 * GSDVT2 has been corrected for divisions in phi.
301 * GPVOLU and GFMOTH are now able to handle cases where copy number = 1
303 * Thanks to S.Giani, S.Nowak.
305 * GTREVE has been changed in order to avoid the loading of the graphics
306 * package if not desired.
307 * Thanks to S.Giani, I.Bird.
309 * GUPHAD, GUHADR and FLINIT give warnings and conditions for the use of FLUKA.
310 * Thanks to A.Ferrari.
312 * GVDPHI and GVDCAR have been further improved to compute the scope of pgon.
315 * GTELEC now computes cross sections for SYNC only if there is mag. field.
318 * GPCXYZ printing format can now handle bigger dimensions.
319 * Thanks to S.Ravndal.
321 * GDRMAT and GPRMAT headers are now consistent with GFTMAT. In GPLMAT `STEP'
322 * and `RANGE' do not belong anymore to `ALL' as physical processes.
323 * Thanks to M.Maire, S.Ravndal.
325 * GPHYSI is now setting dray=0 if loss=0. Labs, Sync and Stra can be switched
326 * interactively. Decay and Sync are now also defined in vacuum.
327 * Thanks to M.Maire, S.Ravndal.
329 * In GRNDMQ the ' ' and the 'G' options work now as described in the doc.
330 * Thanks to S.ONeale, S.Ravndal.
332 * GPART calls GSDK anyhow to give flexibility at run time (for the interactive
333 * version). The values relatives to the particles are now updated to
334 * Phys.Rev. D50 1173 1994.
335 * Thanks to S.Ravndal, F.H.Heinsius.
337 * In GDEXCA (Cadint) a bug from 316 is now fixed.
338 * Thanks to J.Vuoskosky.
340 * GBREME and GSYNC (see the new doc for the meaning of sync=0,1,2,3) have
341 * been improved and the two relative mechanism can happen at the same time.
346 **********************************************************************
348 * G E A N T 3 . 2 1 *
350 * Correction version 0.04 = 95a release *
354 * 28/3/95 Geneva CH *
356 **********************************************************************
358 * In GTCKOV the variable RIN1 is not reset to 0 any longer.
359 * Thanks to A.Delpozo
361 * In GSTRAC heavy ions have now the correct itrtyp=8.
364 * In GTNEXT the variable SNXT and SNXNEW are compared with BIG1 to cure
365 * precision problems.
366 * Thanks to A.Dellacqua, P.Ward.
368 * In GPVOLU and GPVOLX the variable MOTHER is now declared as CHARACTER*4.
369 * Thanks to V.Tretyak
371 * In GGCLOS a test on IQUEST(11).le.0 has been changed into IQUEST(11).lt.0.
374 * In GLTRAC nlevel is reset to 0 only if GONLY(NLEVEL).EQ.0.
375 * Thanks to P.Ward, S.Giani
377 * In GDCGOB a bug on the unit for the angles of spheres has been fixed.
378 * Thanks to J.Allison
380 * GPRMAT is now protected against floating point exceptions.
383 * GRNDMQ has been improved storing the seeds.
384 * Thanks to S.Ravndal.
386 * In GTNINO the time of flight is now updated.
387 * Thanks to S.Ravndal.
389 * In GXPHYS, GXCS, the interactive facilities have been extended.
392 * GPCXYZ has a corrected format to print.
393 * Thanks to S.Ravndal
395 * A GUXCS dummy routine has been created to extend the interactive use of COMIS.
398 * GDPRTR is now able to recognize b/w Xterminals before drawing the tree.
399 * Thanks to S.Giani, B.Lorazo.
401 * GLVOLU has been corrected in the computation of GTRAN for the slices of
405 * GXGEOM now allows correctly the definition of the basic shapes interactively.
408 * GETVER and GINIT are improved to extract and print automatically the version.
411 * GFTMAT and GPLMAT have been corrected in plotting the cross sections.
412 * Thanks to S.Ravndal, G.Zholobov.
414 * GLANDZ has been protected against floating point exceptions.
415 * Thanks to L.Urban, B.Fox.
417 * GLUDKY contains now the time of interaction (Lund).
418 * Thanks to S.Ravndal, C.Wiebusch.
420 * GPAIRG has been protected against undefined values for the variable X.
421 * Thanks to L.Urban, H.Ihssen.
423 * GINIT, GFFGO and GTELEC are modified in order to include a new data card,
424 * ABAN, which allows to follow the electrons down to the cuts value even
425 * when they are not doing physics (ABAN=0) or to propagate them up to the
426 * end-point with an optimized algorithm (ABAN=2). The default is ABAN=1
427 * (normal 3.21 behaviour).
428 * Thanks to L.Urban, S.Ravndal.
430 * BRTTP has been protected in case the file flukaaf.dat is not found.
431 * Thanks to S.Ravndal.
433 * GMORIN has been modified and GMISET has been created in order to interface
434 * to the new version of Micap (from Gcalor 1.03.08) which has been introduced
436 * Thanks to S.Ravndal.
438 * GPRSGG and GBRSGE have been modified to assume constant cross sections
439 * above 100 GeV both for pair production and for bremsstrahlung.
440 * Thanks to G.Battistoni, L.Urban.
442 * GVDPHI has been corrected and improved for the scope computation of tubes,
443 * cons and polycons which are rotated and translated at the same time.
444 * Thanks to S.Giani, J.P.Vialle.