5 * Revision 1.1.1.1 1995/10/24 10:19:48 cernlib
9 #include "sys/CERNLIB_machine.h"
11 *CMZ : 3.21/02 29/03/94 15.41.18 by S.Giani
15 * Maintenance and support for the GEANT MonteCarlo system
16 * are performed by the Simulation Section of the CERN
17 * Computing and Networks division. For any problem please
23 * Tel: +41 22 767.4959
24 * Telefax: +41 22 767.7155
26 * BITnet/EARN: FCA@CERNVM
27 * DECnet : VXCERN::FCA (Node 22.190)
28 * Internet : fca@cernvm.cern.ch
30 * An electronic GEANT discussion list has been set up on CERNVM.
31 * To be included in the mailing list it is enough to send the
34 * TELL LISTSERV AT CERNVM SUBSCRIBE LGEANT Firstname Lastname Inst
36 * People who do not dispose of a TELL (or equivalent) bitnet
37 * command should send a mail to LISTSERV@CERNVM containing the
40 * SUBSCRIBE LGEANT Firstname Lastname Inst
42 *================================= History
46 * Current plans set the release of GEANT 3.15 around the third
51 * Correction in GTRACK to set correctly the value of PREC
52 * to match machine precision. Thanks to Stephan Egli and
54 * Introduced in the 314 correction cradle.
58 * Correction in GNTUBE to avoid square root of a negative
59 * number. Thanks to M.Maire
60 * Introduced in the 314 correction cradle.
62 * Eliminate TOFG=0 from GINIT, already done in GTRIGI
63 * Thanks to F.Carminati
64 * Introduced in the 314 correction cradle.
68 * UNIX and BSLASH flags correctly set inside *GEANT.
69 * Thanks to A.Nathaniel
70 * GPMATE now prints also the components in case of
71 * mixtures. If NUMB is <0 then materials from 1 to
72 * -NUMB are printed. Thanks to Stephan Egli.
74 * Corrections in GRGET (obsolete), GGET, GRIN to reset
75 * correctly the number in GCNUM. Thanks to Stephan Egli
76 * Introduced in the 314 correction cradle.
80 * New version of GNOELT and GNELTU, thanks to Yoshihisa Iga
82 * Introduced in the 314 correction cradle.
84 * Correction in GTRAK, all mechanisms turned off in the
85 * vacuum. Thanks to S.Egli
86 * Introduced in the 314 correction cradle.
91 * New routine GXPICK for the interactive version (Command
92 * DRAWING/PICK) to pick a point in a detector and return
93 * volume/material characteristics. Thanks to S.Egli.
97 * MAXNOD from 2000 to 8000 in GDTR0. Suggestion by S.Egli.
98 * Introduced in the 314 correction cradle.
100 * Bug corrected in GGCLOS, do not touch ISEARC in case
101 * of user search (ISEARC.GT.0). Thanks to D.Ward.
102 * Introduced in the 314 correction cradle.
106 * Correction in TWOB, get correctly Tmin and Tmax and
107 * their distribution. Thanks to Marko Mikuz.
108 * Introduced in the 314 correction cradle.
112 * Correction in TWOCLU and GENXPT to improve energy
113 * conservation. Thanks to S.Egli.
114 * Introduced in the 314 correction cradle.
118 * Generic function LOG introduced in GHFRAK. Generic
119 * functions MAX and MIN introduced in several routines
120 * in GGEOM (HYPE) and CGPACK. Generic SIN, COS, ATAN and
121 * SQRT introduced in CGPACK. Thanks to Federico Carminati.
122 * Introduced in the 314 correction cradle.
126 * GTAU routine to be obsoleted.
128 * Supporting link for the LSCAN data structure mispelled
129 * in several places. Corrected now. Thanks to Isabel Josa.
130 * Introduced in the 314 correction cradle.
132 * Unused variable IPOT eliminated from GHFFER.
134 * Changes in the interactive part for ATC GKS which does
135 * not use FORTRAN unit for metafiles. (routines GXINT and
136 * GXGCON). Thanks to W.Koellner
140 * REAL*8 changed to DOUBLE PRECISION in CGPACK.
141 * Life of the D+/- mesons was 100 times too short.
142 * Thanks to Cheng He Sheng.
143 * Introduced in the 314 correction cradle.
147 * Modification in GDRAW and GDSPEC to correct a bug.
148 * Modifications in GLVOLU not to print a warning message
150 * Introduced in the 314 correction cradle.
154 * Correction in GRAYLI affecting Rayleigh effect in
156 * Introduced in the 314 correction cradle.
158 * Recode of GRAYLI and GHESIG to be safer with respect
159 * to compiler optimization.
160 * Thanks to Rafi Yaari.
164 * Corrections in GRGET, GGET, GRIN to set correctly
165 * NPART, NTMED, NMATE, NVOLUM. Thanks to Lee Roberts.
166 * Introduced in the 314 correction cradle.
168 * New meaning for ISVOL. If <0 the material is not a
169 * a detector but the tracking parameters are the same
170 * as in the case ISVOL>0 (sensitive medium).
171 * Thanks to Michel Maire.
172 * Introduced in the 314 correction cradle.
176 * TMAXFD not recomputed with IGAUTO=1 if the value given
177 * by the user >= 0. Default value reset to 20. instead of
178 * 60. degrees. Thanks to W.Mueller and M.Maire
179 * Introduced in the 314 correction cradle.
183 * Corrections in GPFIS, GPFISI and GPHYSI for the fotofission
184 * and fotoabsorbtion (Giant resonance) of photons on Uranium
185 * and plutonium. Thanks to Harm Fesefeld.
186 * Introduced in the 314 correction cradle.
188 * Correction in GPHYSI in case ILOSS=2 and more than one
189 * tracking medium with the same material number then a
190 * spurious error message was printed. Thanks to Kevin Sparks
191 * Introduced in the 314 correction cradle.
193 * Corrections in GENXPT, TWOCLU, TWOB, CINEMA and EXNU.
194 * Thanks to Harm Fesefeldt.
195 * Introduced in the 314 correction cradle.
199 * Correction in GPPART in case of user words. Thanks to Walter
201 * Introduced in the 314 correction cradle.
203 * Correction in GSTMED to protect for EPSIL <=0. Thanks to
205 * Introduced in the 314 correction cradle.
209 * Correction in GRGET to read the banks in the correct
210 * division. Thanks to M.Maire.
211 * Introduced in the 314 correction cradle.
213 * Improvement of GRIN, GROUT. New global keywords KINE and
214 * TRIG can now be used. Thanks to Federico Carminati
215 * Introduced in the 314 correction cradle.
219 * Correction in GSVOLU, GSDVN, GSDVN2, GSDVT, GSDVT2 not to
220 * use uninitialized LINATT, set by GDINIT. This should take
221 * care of the problem of empty drawings. Thanks to Simone Giani.
222 * Introduced in the 314 correction cradle.
224 * Correction in GPKINE to print correctly user words and vertex
225 * information. Thanks to Kevin Sparks.
226 * Introduced in the 314 correction cradle.
228 * Correction in GPVERT to print correctly user words and vertex
229 * information. Thanks to Soren G. Frederiksen.
230 * Introduced in the 314 correction cradle.
234 * Max. GCKING stack size parametrized. The actual value of the
235 * stack is not changed (100), but can be redefined in the
236 * sequence GCKMAX. Important for LHC studies.
237 * Thanks to Harm Fesefeldt.
239 * Correction in GPRINT to call correctly GPDIGI and GPSETS.
240 * Thanks to Michel Maire.
241 * Introduced in the 314 correction cradle.
245 * New facilities of DZDOC introduced in the interactive menu.
246 * Patchy flag (DZDOC) to assure backward compatibility.
247 * Thanks to O.Schaile
251 * New facility using the JUMPT package to call user routines.
252 * Patchy flag (USRJMP) to assure bacward compatibility.
253 * Thanks to F.Carminati
257 * Correction in GINIT to print the level of the correction
258 * cradle applied. Thanks to F.Carminati.
259 * Introduced in the 314 correction cradle.
261 * Correction Cradle 3.14/06 stamped and released.
265 * Introduction of the AIX370 flag in GEANX and GEANT.
266 * Thanks to Roger Howard.
270 * Protection in GTRACK, GFTRAC and GLTRAC, do not update
271 * pointers to cross section banks in the vacuum.
272 * Thanks to C.Fuglesang, S.Banerjee, M.Maire.
273 * Introduced in the 314 correction cradle.
275 *???> Backward incompatibility
277 * GFDETH returns NAMESH as a character*4 array and
278 * GFDETD returns NAMESD as a character*4 array.
284 * Mods in GPMATE, GPPART, GPTMED, GSDK, GSMATE, GSMIXT, GSPART,
285 * GSTMED, GSROTM, GPROTM
286 * to warn against replacement of existing objects. Thanks to
288 * Introduced in the 314 correction cradle.
290 * Force load of user routines in GINIT.
291 * Introduced in the 314 correction cradle.
295 * GSDVN to notify correctly when mother volume does not exists.
296 * Thanks to Victor Perevoztchikov.
297 * Introduced in the 314 correction cradle.
301 * Correction in GHEINI for the exponent range to be compatible
302 * with IEEE machines. Original limits were for IBM/370.
303 * Routine LIMDAT eliminated. Thanks to Hans-Jochen Trost.
304 * Introduced in the 314 correction cradle.
306 *???> Backward incompatibility
308 * Parameter NAMATE returned from GFMATE now a CHARACTER*20
309 * variable. Thanks to Michel Maire.
311 * Monitoring introduced, flag MONITOR. Thanks to F.Carminati.
312 * Mods in GXINT, GINIT, GLAST. Routine GEAMON introduced.
313 * Introduced in the 314 correction cradle.
317 * GWORK in GINIT was (DUMMY) called without arguments.
318 * GUDTIM was (dummy) called as a routine and it is a
319 * function. Thanks to F.Carminati.
320 * Introduced in the 314 correction cradle.
322 * GUVIEW to specify 3rd argument as a character. Thanks to
323 * Federico Carminati.
324 * Introduced in the 314 correction cradle.
326 * Call NUCRIN with the right number of arguments (the last
327 * was not used anyway). Thanks to Federico Carminati.
328 * Introduced in the 314 correction cradle.
332 * Correction in GMUSIG to avoid division by zero. Thanks to
334 * Introduced in the 314 correction cradle.
339 * Corrections in GPRELM, muon e+e- soft radiation. Correction in
340 * GDRELM for the ionization energy loss for muons. Thanks to
341 * A.Nathaniel. Introduced in the 314 correction cradle.
345 * Correction in GPHYSI to initialise the JMULOF bank even in
346 * the case of vacuum. Electron tracking in vacuum was not taking
347 * into account the TMAXFD parameter. Correction in GRANGI to set
348 * the range to BIG in case of 0 energy loss tabulated in JLOSS.
349 * Correction in GPHYSI to switch off all the mechanisms in the
350 * vacuum but decay. The corresponding code in GTRACK has been
351 * removed. The previous corrections for IUPD in GLTRAC, GFTRAC
352 * and GTRACK have been removed as well. Thanks to D.Ward, R.Brun,
354 * Introduced in the 314 correction cradle.
356 * Corrections in GRANGI and in GTHADR to cure small steps in
357 * tracking. Thanks to M.Maire.
358 * Introduced in the 314 correction cradle.
362 *???> Backward incompatibility
364 * GFPART returns NAPART as a CHARACTER*20 array. Thanks to R.Rui
365 * Introduced in the 314 correction cradle.
369 * GFTMAT will return the correct values for the vacuum, except
370 * for hadrons. Thanks to P.Gumplinger.
371 * Introduced in the 314 correction cradle.
373 * Correction in GPCXYZ when the number of mechanisms is greater
374 * than 6. Thanks to Y.Iga.
375 * Introduced in the 314 correction cradle.
380 * GDXYZ corrected to use HIGZ generic line types. Thanks to
382 * Introduced in the 314 correction cradle.
384 * Correction in the CDF for RZ/IN and RZ/OUT. Thanks to
386 * Introduced in the 314 correction cradle.
390 * For reasons of speed GKS-type lines are used now in
391 * GDCXYZ, GDXYZ. Thanks to F.Carminati.
392 * Introduced in the 314 correction cradle.
396 * Correction of the logic for TMAXFD. Now is:
398 * AUTO 1: 0<TMAXFD<20 --> accepted
399 * TMAXFD>20 --> set to 20
400 * TMAXFD<=0 --> set to 20
402 * AUTO 0: TMAXFD>0 --> accepted
403 * TMAXFD<=0 --> set to 20
405 * Thanks to Gerry Lynch.
406 * Introduced in the 314 correction cradle.
408 * Correction in GMULOF. STMIN=BIG for the vacuum. Thanks
410 * Introduced in the 314 correction cradle.
412 * Correction in GRFILE, GRIN called with IDVERS=0 and not
413 * 999. Thanks to F.Carminati.
414 * Introduced in the 314 correction cradle.
418 * Corrections in GPRELA, GMULOF, GPHYSI and GTNEXT. Now
419 * STMIN is set to 0. for vacuum independly of the AUTO
420 * flag. Thanks to M.Maire.
421 * Introduced in the 314 correction cradle.
423 * Format correction in GSDVN. Thanks to Federico Carminati.
424 * Introduced in the 314 correction cradle.
428 * Correction in GINIT to initialize LIN via IQTTIN if
429 * different from 0. Thanks to F.Carminati
430 * Introduced in the 314 correction cradle.
434 * New routines GPLMAT, GPRMAT, GPGKIN from Michel Maire.
438 * geant.metafile is not opened any more by default.
439 * The METAFILE command now accepts the metafile name
440 * for packages like ATC-GKS which do not use FORTRAN.
441 * Thanks to W.Koellner.
445 * Problem corrected in GHEISH for neutron cascade. A neutron
446 * undergoing an hadronic reaction could generate two recoil
447 * protons. Thanks to Henk den Bok.
448 * Introduced in the 314 correction cradle.
450 * Correction in GNEXT/GTNEXT. STMIN not used anymore for
451 * MANY volumes. Thanks to M.Maire.
452 * Introduced in the 314 correction cradle.
456 * Call to NVETIM routine removed from GHEISHA. Thanks to
461 * RNDM interactive command added to set the random number
462 * generator seeds. Thanks to F.Carminati.
466 * New routine GDTRAK introduced to draw a track and delete
467 * it from the JXYZ buffer optionally. Thanks to R.Brun,
470 * Important correction in GTGAMA, GTNEUT to avoid problems
471 * due to machine precision. When a push is made to cross a
472 * volume boundary the condition that the change in coordinate
473 * be not negligible is imposed. Thanks to F.Carminati, R.Brun.
474 * Introduced in the 314 correction cradle.
478 * Correction in GMGAUS due to G.Lynch. The sigma of the multiple
479 * scattering in the gaussian approssimation was too small.
480 * Introduced in the 314 correction cradle.
484 * Corrections in GTELEC, GTHADR and GTMUON to introduce the
485 * same boundary correction than in GTNEUT, GTGAMA. Thanks to
487 * Introduced in the 314 correction cradle.
489 * New menu in GXINT to handle FZ files. Thanks to F.Carminati
493 * Correction in GHFHDN to reset to 0. TOFD. Thanks to
495 * Introduced in the 314 correction cradle.
499 * Correction in GTRACK to allow PREC to decrease and avoid
500 * problems when changing particle and position but not medium.
501 * Thanks to R.Spiwoks.
502 * Introduced in the 314 correction cradle.
506 * New version of the hidden line removal, thanks to S.Giani.
507 * New menu CVOL introduced to cut volumes and new SHIFT
508 * command to shift volumes for drawing.
510 * Correction in GHEISH. The ENP parameters are reset to 0.
511 * at the beginning of every event. Thanks to Henk den Bok.
512 * Introduced in the 314 correction cradle.
516 * Correction introduced in GPHYSI. JTM recalculated after
517 * bank push. Thanks to K.Sparks.
518 * Introduced in the 314 correction cradle.
522 * Correction introduced in GTELEC, GTMUON, GTHADR. When the
523 * energy loss is below machine precision, it is recalculated
524 * via the De/Dx table. Thanks to H.Fesefeld and Ralf Spiwoks.
525 * Introduced in the 314 correction cradle.
527 * Booking of the bank IMAT-4 delayed till GPHYSI. Will save some
528 * words in case of materials which are not inserted in a tracking
529 * medium. Thanks to F.Carminati.
531 *???> Backward incompatibility
533 * The argument DMAXMS in the calling sequence of GSTMED, unused
534 * in 314, will be called STEMAX and will assume the meaning of
535 * maximum step allowed for a particle in the given material.
536 * This will only affect people running with AUTO 0. In case of
537 * automatic computation of the tracking media parameters, this
538 * number will be set to BIG (=1.E10).
539 * Thanks to F.Carminati, M.Maire.
543 * Corrections in GMUNU to allow the usage of a variable number of
544 * energy bins. Corrections in PHASP and GMUSIG for very high
545 * energies. Thanks to Hans-Jochen Trost.
546 * Introduced in the 314 correction cradle.
548 * Correction in GFLTHE to avoid division by 0. Thanks to
550 * Introduced in the 314 correction cradle.
554 * Correction in GINPGO and GINPCO to check correctly the PHI
555 * limits. Thanks to R.Bossingham.
556 * Introduced in the 314 correction cradle.
560 * Correction in GMUNU to calculate correctly the angle of the
561 * incoming muon. Thanks to H-J.Trost.
562 * Introduced in the 314 correction cradle.
566 * Corrections in GLANDZ for high energy to avoid numerical
567 * problems. Thanks to H-J.Trost.
568 * Introduced in the 314 correction cradle.
572 * All the routines and the commons of the HADRIN/NUCRIN
573 * package have been renamed. All routines begin now with
574 * GHF and all commons with GCF. This to avoid interactions
575 * with the interface with FLUKA. Thanks to F.Carminati
579 * New algorithm for pushing a view bank. Now push of the
580 * max between MORGS and the 25% of the size of the view
581 * bank. Thanks to S.Giani.
585 * Common HIATT of HIGZ removed from GXCONT and workstation type
586 * retrieved in GXDZ from Workstation ID. Thanks to O.Couet.
588 * Modification in GMUSIG to protect against possible division
589 * by zero. Thanks to M.Sarris.
591 * Correction in GDSHOW to recalculate COSPSI and SINPSI. Thanks
593 * Introduced in the 314 correction cradle.
597 * Correction in GINVOL. When tracking in magnetic
598 * field they could return the wrong volume. Thanks to D.Greiner.
599 * Introduced in the 314 correction cradle.
603 * Corrections in GRIN to allow tracking after reading a data
604 * structure. Thanks to R.Brun.
605 * Introduced in the 314 correction cradle.
607 * Modifications in GXINT to allow running with the MOTIF
608 * user interface. Thanks to R.Brun.
612 * INT=0 suppressed in GHEISH after nuclear fission.
613 * Thanks to Kati Lassila.
617 * Protection introduced in GMUSIG. Thanks to Jochen Trost.
618 * Introduced in the 314 correction cradle.
622 * Correction in GHSTOP to fix the calculation of the time of
623 * flight for stopping particles. Thanks to L.Roberts.
624 * Introduced in the 314 correction cradle.
626 * Correction in GNPGON not to calculate safety for the inner
627 * radius when this is 0. Thanks to Andrei Nomerotsky.
628 * Introduced in the 314 correction cradle.
630 * Correction in GNOTRP to return the correct SNXT. Thanks to
632 * Introduced in the 314 correction cradle.
634 * Correction in GHSTOP not to discard hadrons at rest, they
635 * may decay. Thanks to H.Fesefeld.
636 * Introduced in the 314 correction cradle.
638 * Modifications in GHSTOP and GHEISH to handle user defined
639 * particles. Thanks to P.Gumplinger.
640 * Introduced in the 314 correction cradle.
644 * Call to GUINTI added in GINTRI to define user commands. Thanks
646 * Introduced in the 314 correction cradle.
650 * Modification in GTMED to print a warning when FIELDM .EQ. 0
651 * and IFIELD .NE. 0. Thanks to Federico Carminati
653 * Modification in GTHADR to set CFLD = BIG in case FIELDM=0.
654 * Thanks to V.Vercesi.
655 * Introduced in the 314 correction cradle.
659 * Call to C dummy routine to initialise X11 introduced in
660 * GXINT for IBM/VM. Thanks to M.Marquina.
664 * Rayleigh effect now the default. IRAYL is set to 1 by default
665 * in GINIT. Thanks to M.Maire
667 * Changes in the multiple scattering routines. GMOLI1 and GMOLI2
668 * suppressed and GMOLIO used instead. Corresponding changes in
669 * GMULTS and GMULOF. The code of GMOLS has been put in line inside
670 * GMOLIE and GMOLS is obsolete. GPOISS and GMCOUL modified for
671 * performance reasons.
672 * Gaussian scattering is now generated according to the Rossi
673 * gaussian formula and there is no logarithmic term in the
674 * sigma of the gaussian. This gives a distribution where the
675 * tails are underestimated, but which is consistent over many
677 * Moliere and single Coulomb scattering are chosen according to
678 * the value of Omega in the Moliere formula.
679 * The new meaning of IMULS is the following:
681 * IMULS = 0 No multiple scattering
682 * IMULS = 1,2 Moliere or single Coulomb scattering
683 * IMULS = 3 Gaussian scattering with Rossi formula
689 * New algorithm for calculation of energy loss. The stopping
690 * range is now calculated with a parabolical interpolation
691 * instead than with a linear one. This gives a dE/dx curve
692 * which is a piecewise linear function and not a step function.
693 * Thanks to F.Carminati.
695 * Modification of GNOPG1 taking care of the case of a particle
696 * which is very near to the surface and it may appear inside due
697 * to machine precision. This could cause the volume to be skipped.
698 * Thanks to R.Nierhaus.
700 * Routine GNPGON rewritten for the calculation of SNXT. The
701 * previous routine was returning wrong results. Thanks to
706 * Modifications in the routines GFLPHI and GFCOOR. The ordering
707 * for TUBS in phi was wrong. Volumes could become invisible.
708 * Thanks to F.Carminati.
710 * New routine GFVERT introduced. Retrieves the parameters of a
711 * vertex. Thanks to F.Carminati.
715 * Modification in NUCREC to zero the whole of the PV array
716 * to prevent the use of uninitiated variables. Thanks to
717 * F.Ranjard. Introduced in the 3.14 correction cradel.
721 * Useless code commented out in GTRAIN. Thanks to F.Carminati.
723 * GNCONE gone to double precision. Thanks to J.Toth.
727 * Variable USERW undefined in the RESULT common now set to
728 * UPWGHT from GCTRAK common. Thanks to F.Ranjard.
730 * Type declarations for GCSTAK completed. Thanks to M.Battle.
734 * New calculation of the range table. Simpson integration rule
735 * used. Modifications in GRANGI, GCOEFF.
739 * Protection introduced against the reading of a pre-315 data
740 * structure. The value of STEMAX is set to BIG in this case.
741 * Modification in GPHYSI.
743 * Better handling of version numbers in I/O operations.
744 * Modifications in GPHYSI and GRIN.
748 * Correction in GLANDZ to avoid gaussian distribution for
749 * very thin layers. The version of GEANT 3.13 has been
750 * used for this. Thanks to F.Carminati and M.Maire.
752 * Corrections in GTNEXT, GINVOL and GTMEDI to protect against
753 * wrong values of INGOTO when using MANY volumes. Thanks to
758 *???> Backward incompatibility
760 * The random numbers seeds are stored at the end of every event
761 * in the JRUNG bank at locations 19 and 20. If the JRUNG data
762 * structure is read in and the data card RNDM or the interactive
763 * command RNDM has not been issued (NRNDM(1), NRNDM(2) <> 0),
764 * and if the words 19/20 are not 0, then the random number
765 * generator is restarted with these seeds. Thanks to F.Carminati
767 * The RNDM command now reads the values of the seeds into
768 * NRNDM(1) and NRNDM(2) in common GCFLAG. The values 0 0
769 * can be used for the random seeds. These values will not
770 * alter the current status of the random number generator,
771 * but zeroing the variables NRNDM(1) and NRNDM(2) will
772 * allow them to be reinitialised with the values stored
773 * in a data structure read from disk. Thanks to F.Carminati
775 * Routine GREND now needs an integer as input. This is to be
776 * consistent with GRFILE.
780 * The following changes made to the names of FLUKA routines
781 * to avoid clashes with ISAJET. Thanks to L.Roberts.
783 * Type Original name New name
784 * Routine DECAY FKDECA
785 * Routine FLAVOR FKFLAV
786 * Routine SIGINT FKSIGI
790 * Corrections in GMEDIA in case of many volumes to avoid
791 * program crash. Thanks to R.Jones.
793 * Change of logics in GRUN. Now if NEVENT is <= 0, no event
794 * is processed. Thanks to B.Lockman.
796 * Common GCFLAX put in the GCFLAG sequence with the BATCH and
797 * NOLOG variable from GXINT. Thanks to B.Cole.
799 * Problem corrected in GDECAY. The mass of the particle was
800 * altered. If the next particle was the same, the mass was
801 * not reset to its correct value. Thanks to S.Tonse.
803 * TIMINT is now really the time left after initiatlization
804 * as is specified in the documentation and not the time
805 * USED for initialization as it was till now.
806 * Thanks to V.Ivanov.
808 * Corrections in GNPGON. Improvement of code safety under
809 * optimization in GNOGO1, GNPGON, GNPCON. Thanks to Y.Iga.
813 * Corrections in GMULOF and GTHADR. SFIELD takes precedence
814 * on STMIN in case IFIELD=1 to make sure that the Runge-Kutta
815 * approssimation still works. Thanks to R.Hawkings.
819 * Correction in GDRAY to improve the precision in the calculation
820 * of the angle. Thanks to F.Carminati & P.Lubrano.
822 * Change in GFKINE. The variable TOFG is not updated any more.
823 * Thanks to F.Carminati
825 * New GMEDIA, GTMEDI, GINVOL to take care of the problems with
826 * MANY volumes. Thanks to R.Jones.
830 * Bug corrected in GNPGON when the particle was exactly on the
831 * wall of the last Z section. Thanks to V.Palichik.
835 * Updated routines GLUND, GLUNDI and new sequences LUDAT1, LUDAT3,
836 * LUJETS. The data cards MSTE, KTYP, PMAS, PWID, IDB have been
837 * removed because either obsolete or not aplicable. The new code
838 * runs with JETSET 7.3 upward. Thanks to F.Carminati, T.Sjostrand.
840 * Update of GLUDKY to work with 7.3. Thanks to F.Carminati.
844 * New subroutine GFIN to handle sequential input. Routine GGET
845 * has been maintained for backward compatibility.
846 * Thanks to F.Carminati.
850 * New Runge-Kutta integration routine for the tracking in
851 * magnetic field. If the result of the stepping is not accurate,
852 * the step is divided in 2 parts and the integration repeated
853 * and so on. Thanks to V.Perevotchikov.
857 * Correction in GLTRAC. When the particle fetched has an entry
858 * in JKINE the correct vertex number is calculated. Thanks to
863 * Correction in GTELEC. The calculated range may be slightly
864 * larger than the maximum allowed range due to precision
865 * problems and this was leading to very small negative steps.
870 * New GRKUTA, GHELIX, GHELX3 from V.Perevotchikov.
874 * ENERGY renamed to FKENER in FLUKA. Thanks to F.Carminati
878 * VERTEX->FKVERT, ZEROIN->FKZERO, ERROR->FKERRO in FLUKA.
879 * Thanks to F.Carminati
881 * Corrections in PBANH. Thanks to M.Sasaki.
885 * Corrections in GFIN, GFOUT and GRIN, version 0 is now allowed
886 * for a data structure in I/O. Thanks to B.Cole.
888 * Modification in GBREME to improve precision for small angles.
889 * Thanks to F.Carminati.
891 * Inlining of rotation routines in GFTRAC, GINVOL, GTMEDI,
892 * GTNEXT, GMEPOS, GMEDIA. Thanks to D.Kryn, F.Carminati.
894 * New routines GDLENS, GDPLST and GDPRTR in the drawing package.
895 * New version of GDTREE. Thanks to S.Giani.
897 * Streamlining of GDTOM, GINROT, GITRAN, GMTOD, GRMTD, GRMUL,
898 * GROT, GTRMUL and GTRNSF. Thanks to F.Carminati.
902 *???> Backward incompatibility
903 * Tracking medium name in GFTMED changed in CHARACTER variable.
904 * Thanks to V.Perevotchikov.
906 * IMPULS renamed to FKIMPU
907 * DRES renamed to FKDRES
908 * ERUP renamed to FKERUP in FLUKA. Thanks to F.Carminati.
912 * COSI entry point renamed to FKCOSI
913 * POLI renamed to FKPOLI in FLUKA. Thanks to F.Carminati
915 * Changes in GCOMP to increase the precision of the rotation
916 * of the scattered photons and electrons in the reference
917 * frame of the incoming particle. Thanks to F.Carminati
919 * New version of the routines GNOPG1 and GNPGO1. Speed up of
920 * a factor two or more achieved. Thanks to F.Carminati,
925 * Improvement of the routines GMEDIA, GTMEDI and GINVOL. A better
926 * use is made of the variable INGOTO. Thanks to R.Jones, F.Carminati.
930 * Modification in GTRACK. If a particle tries for more than 5 times
931 * consecutively to exit a volume, the precision used for tracking is
932 * multiplied by 5 and so on every fifth attempt. Thanks to
935 * Modification in FLUFIN to normalise in double precision the
936 * direction cosines given to FLUKA. Thanks to A.Ferrari
938 * Modification in GLANDZ to avoid peaks in energy loss for very
939 * light materials. Thanks to F.Carminati
941 * New routine GETVER to crack the title sequence and to return
942 * the correct version number. Thanks to F.Carminati and M.Maire.