]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/doc/history/v_316.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / GEANT321 / doc / history / v_316.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:19:48 cernlib
6* Geant
7*
8*
9#include "sys/CERNLIB_machine.h"
10#include "pilot.h"
11*CMZ : 3.21/02 29/03/94 15.41.18 by S.Giani
12*-- Author :
13*
14* Correction cradle for version 3.15 of the GEANT Programme
15* and history of the evolution of 3.16.
16*
17* Important !!!
18* =============
19*
20* Only corrections flagged by "Introduced in the 3.15 correction
21* cradle" are applied to 3.15. All the other comments refer
22* to modifications which will appear in the 3.16 version of
23* the program.
24*
25********************************************************************
26*
27*===> 06/12/93
28*
29* Release of the 3.11 correction cradle.
30*
31*===> 02/12/93
32*
33* Correction in GBRELE and GRANGI. Thanks to F.Carminati.
34* Introduced in the 3.15 correction cradle.
35*
36*===> 29/11/93
37*
38* Release of the 3.10/00 correction cradle.
39*
40*===> 21/10/93
41*
42* Correction in FKDECA and HADEVV to permit the correct
43* treatment of charmed particles decay. Thanks to
44* A.Ferrari. Introduced in the 3.15 correction cradle.
45*
46* Correction in FKDRES to avoid a loop. Thanks to
47* B.Slater and A.Ferrari. Introduced in the 3.15 correction
48* cradle.
49*
50*===> 20/10/93
51*
52* Correction in GDRAW to update current pointer to IN
53* bank. Correction in GGPPAR to compute the internal
54* parameters of a TRAP with negative parameters. Thanks
55* to S.Banerjee. Introduced in the 3.15 correction cradle.
56*
57*===> 19/10/93
58*
59* Correction in GTNEUT, GTHADR, to allow hadronic decay
60* in the vacuum. Thanks to R.Jones. Introduced in the
61* 3.15 correction cradle.
62*
63*===> 01/10/93
64*
65* Correction in GNSLWD to avoid numerical problem. Thanks
66* to A.Parri. Introduced in the 3.15 correction cradle.
67*
68*===> 15/09/93
69*
70* Release of the 3.09/00 correction cradle.
71*
72*===> 13/09/93
73*
74* Correction in GNOCTU, thanks to M.Nessi. Introduced in
75* the 3.15 correction cradle.
76*
77*===> 03/09/93
78*
79* Correction in EVENTV to protect square root of a negative
80* number. Thanks to B.Slater and A.Ferrari. Introduced in
81* the 3.15 correction cradle.
82*
83*===> 11/08/93
84*
85* New tratment for thin layer, mainly gas, of dE/dx
86* introduced. Thanks to V.Grishin, S.Kotelnikov,
87* K.Lassila-Perini and P.Nevski.
88*
89* All bit manipulation functions replaced by Military
90* Standard functions. Thanks to F.Carminati.
91*
92*===> 19/07/93
93*
94* Correction in FLUFIN in order to avoid 0 mechanism
95* number when IHADR=2. Thanks to P.Bloch. Introduced
96* in the 3.15 correction cradle.
97*
98* Correction in GSROTM, NROTM updated when the bank is
99* pushed. Thanks to M.Maire. Introduced in the 3.15
100* correction cradle.
101*
102* Correction in ERTRGO. Thanks to E.Nagy. Introduced
103* in the 3.15 correction cradle.
104*
105*===> 07/06/93
106*
107* Release of version 3.08 of the correction cradle.
108*
109* New version of the FLUKA interface introduced. New
110* model for energy straggling introduced (Ermilova&
111* Checkin) and synchrotron radiation. Thanks to K.
112* Lassila-Perini, A.Ferrari&P.Sala et al. and I.
113* Gavrilenko. Please see the documentation for more
114* information.
115*
116* New routine GFANG introduced. It finds the angles
117* Theta and Phi which are used to rotate a vector in
118* the master system of the other. Thanks to F.Carminati
119*
120* New rotine GVROT introduced. It will rotate in full
121* double precision a vector in the reference system of
122* another one. Thanks to F.Carminati
123*
124* Corrections in GRIN/GFIN to calculate correctly the
125* number of rotation matrixes. Thanks to M.Maire.
126* Introduced in the 3.15 correction cradle.
127*
128* Correction in FLUFIN to pass antiprotons to FLUKA when
129* they are 'stopping'. Thanks to A.Ferrari. Introduced in
130* the 3.15 correction cradle.
131*
132*
133*===> 27/05/93
134*
135* Corrections in FLUFIN to pass stopping antiprotons,
136* antineutrons and pions to FLUKA for annihilation. The
137* other hadrons are either decayed or (neutral particles)
138* passed to GHEISHA/GHSTOP.
139*
140*===> 04/05/93
141*
142* Correction in FDNOPT to properly initialise an
143* array. Thanks to K.Lassila-Perini. Introduced in
144* the 3.15 correction cradle.
145*
146*===> 21/04/93
147*
148* New routine from Laszlo Urban for the tracking of
149* ions, GTHION. Ions now have to be given particle
150* type 8. Thanks to L.Urban.
151*
152*===> 18/04/93
153*
154* Addition in GPPERP, the sphere has been added. Thanks
155* to R.Jones.
156*
157* Old Hadrin/Nucrin interface deleted. HADR 3 flag has
158* no meaning any more. Warning message introduced in
159* GPHYSI, when IHADR=3 then reset it to 1 and use GHEISHA.
160* Thanks to F.Carminati.
161*
162* Tatina code eliminated from GEANT. Thanks to F.Carminati.
163*
164* Small changes in GSCHIT to avoid integer/floating
165* conversions and to speed-up the code. Thanks to
166* F.Carminati.
167*
168*===> 07/04/93
169*
170* Correction in the GPOISS routine to avoid overflows.
171* Thanks to S.Qian. Introduced in the 3.15 correction
172* cradle.
173*
174*===> 06/04/93
175*
176* Correction in GNSPHR to avoid floating point overflow.
177* Thanks to S.Ljungfelt. Introduced in the 3.15 correction
178* cradle.
179*
180*===> 22/03/93
181*
182* Correction in GEAMON to extend the field for CPU
183* time. Thanks to R.Brun. Introduced in the 3.15
184* correction cradle.
185*
186*===> 14/03/93
187*
188* Release of version 3.07 of the correction cradle.
189*
190* Corrections in GZINIT, GPHYSI and GDSHOW. The
191* working space is now allocated via calls to
192* GWORK. GWORK has been modified and it only
193* increases the working space, it never reduces it.
194* Thanks to M.Corden. Introduced in the 3.15
195* correction cradle.
196*
197*===> 10/03/93
198*
199* Correction in GFIN/GFOUT to avoid spurious error
200* message. Thanks to M.Maire.
201*
202*===> 03/03/93
203*
204* Correction in GLTRAC to improve the precision of
205* the calculation of the kinetic energy. Thanks to
206* C.Zeitnitz. Introduced in the 3.15 correction
207* cradle.
208*
209* Correction in GTRACK to avoid output overflow in
210* format statement. Thanks to M.Corden. Introduced
211* in the 3.15 correction cradle.
212*
213* Correction in GDXYZ to obtain the correct line color
214* for a track. Thanks to M.Corden. Introduced in the
215* 3.15 correction cradle.
216*
217*===> 02/03/93
218*
219* New treatment of the photoelectric effect introduced.
220* Thanks to J.Chwastowski. Please see documentation for
221* more information.
222*
223*===> 01/03/93
224*
225* Changes in GKGEOM to avoid warnings with the new
226* version of KUIP. Thanks to A.Nathaniel. Introduced
227* in the 3.15 correction cradle.
228*
229* Changes in GSDVN2 to support division of spheres
230* in PHI with initial offset. Thanks to F.Carminati.
231*
232* Changes in GMEDIV and GNSPHR to correct precision
233* problems. Thanks to F.Carminati.
234*
235* Introduction of the Cerenkov effect. Thanks to
236* R.Jones. Please see documentation for more
237* details.
238*
239*===> 12/02/93
240*
241* Changes in GSDVN to support division in PHI (axis
242* N. 3) of the sphere. Thanks to F.Carminati.
243*
244* Changes in GDRAWS to partially support the drawing
245* of parts of sphere. Thanks to F.Carminati.
246*
247*===> 09/02/93
248*
249* Release of version 3.06 of the correction cradle.
250*
251*===> 28/01/93
252*
253* Correction in GXINT for compatibility with the KUIP
254* installed with version 93a of the CERN Program Library.
255* Thanks to R.Jones. Introduced in the 3.15 correction
256* cradle.
257*
258*===> 27/01/93
259*
260* Correction in GMUNU. Only GHEISHA used to handle the
261* interaction irrespective of the value of IHADR. Thanks
262* to K.Lassila-Perini and G.Battistoni. Introduced in the
263* 3.15 correction cradle.
264*
265* Corrections in GGPPAR to handle a tube with negative
266* parameters positioned into a tubes in the general case.
267* Thanks to F.Carminati.
268*
269*===> 19/01/93
270*
271* Correction in FLUFIN to make sure that just neutrons
272* are passed to GHEISHA. Thanks to K.Lassila. Introduced
273* in the 3.15 correction cradle.
274*
275*===> 21/12/92
276*
277* Option Q(uiet) introduced in GRIN/GROUT. Thanks to
278* M.Maire.
279*
280* New version of GRKUTA protected against 0 fields and
281* improved for precision. Introduced in the 3.15 correction
282* cradle. Thanks to W.Manner.
283*
284*===> 15/12/92
285*
286* IQ(JRUNG+29) set to the event sequence number of the
287* last generated event in GTRIGC. Thanks to M.Maire.
288*
289*===> 11/12/92
290*
291* Call to LUPART replaced with LU1ENT in GLUDKY. LUPART
292* was an obsolete routine deleted from JETSET 7.3
293* library. Thanks to R.Gomes.
294*
295*===> 23/11/92
296*
297* Release of the version 3.05/00 of the correction
298* cradle.
299*
300* Corrections in GRANGI to account for the use of the
301* ERAN card. Thanks to P.Gumplinger. Introduced in the
302* 3.15 correction cradle.
303*
304*===> 18/11/92
305*
306* Correction in GDRAWS for very thin CTUBes. Thanks to
307* M.Guidal. Introduced in the 3.15 correction cradle.
308*
309* New version of GRKUTA introduced. It will limit the
310* number of iterations and cut steps to prevent looping.
311* Thanks to V.Perevotchikov. Introduced in the 3.15
312* correction cradle.
313*
314*===> 11/11/92
315*
316* Correction in GGDSPE to allow repeated division of
317* tubes along R. Thanks to M.Maire. Introduced in the
318* 3.15 correction cradle.
319*
320*===> 11/11/92
321*
322* Correction in GNPCON when the particle is slightly
323* outside of the last plane in Z. It could happen for
324* precision problems. Thank to C.Georgiopoulos.
325* Introduced in the 3.15 correction cradle.
326*
327* Quiet option introduced in GFIN and GFOUT to suppress
328* printing. Thanks to A.Eisner.
329*
330* Correction in the header of GFIN, GFOUT. Thanks to
331* A.Eisner.
332*
333* Correction to GSNEXT. It now checks the values of the
334* input list. Repeated values or values which are not
335* within the allowed limits are ignored and a warning
336* message is printed. Thanks to F.Luehring.
337*
338*===> 04/11/92
339*
340* Modification in GSVOLU. A warning is printed if the same
341* volume name is repeated twice. Thanks to V.Perevoztchikov.
342*
343*===> 23/10/92
344*
345* Print statement in GSKING replaced by a WRITE(CHMAIL
346* Thanks to F.Carminati.
347*
348*===> 19/10/92
349*
350* Correction in GDRAY to increase the precision of
351* the angle calculation. Thanks to F.Malek.
352* Introduced in the 3.15 correction cradle.
353*
354*===> 19/10/92
355*
356* Release of version 3.04 of the correction cradle.
357*
358* Corrections in FEREVV and HADEVV. Thanks to A.Ferrari.
359* Introduced in the 3.15 correction cradle.
360*
361*===> 16/10/92
362*
363* Release of version 3.03 of the correction cradle.
364*
365*===> 13/10/92
366*
367* Correction in GFIN and GFOUT to handle correctly
368* ZEBRA error conditions. Thanks to H.Uijterwaal.
369* Introduced in the 3.15 correction cradle.
370*
371* Correction in GDECAY to improve precision of rotation
372* of secondaries. Thanks to F.Carminati. Introduced in
373* the 3.15 correction cradle.
374*
375* Correction in FEREVV to avoid square root of negative
376* number. Thanks to A.Ferrari. Introduced in the 3.15
377* correction cradle.
378*
379* Correction in GDRAW to avoid error when traversing the
380* tree. Thanks to F.Carminati. Included in the 3.15
381* correction cradle.
382*
383*===> 09/10/92
384*
385* Correction in GXPICT, added definition of a character
386* variable. Thanks to F.Carminati. Introduced in the 3.15
387* correction cradle.
388*
389*===> 08/10/92
390*
391* Corrections in ERPRDOC, EUFILV and ERTEST to change
392* Hollerith in characters for GEANE. Thanks to V.Innocente.
393* Introduced in the 3.15 correction cradle.
394*
395*===> 24/09/92
396*
397* Correction in NUCREL to avoid square root of negative
398* numbers. Thanks to A.Ferrari. Introduced in the 3.15
399* correction cradle.
400*
401*===> 23/09/92
402*
403* Correction in GMEDIA. INFR not set going up the tree to
404* avoid problem with user calls of GMEDIA during tracking.
405* Thanks to S.Banerjee. Introduced in the 3.15 correction
406* cradle.
407*
408*===> 21/09/92
409*
410* Correction in GRANGI to avoid interpolation of DE/DX
411* beyond 10GeV. Thanks to V.Innocente. Introduced in the
412* 3.15 correction cradle.
413*
414*===> 16/09/92
415*
416* Correction in GBRELA. Auxiliary integration point for
417* muon dedx table was wrong. Thanks to V.Innocente.
418* Introduced in the 3.15 correction cradle.
419*
420*===> 15/09/92
421*
422* Release of version 3.02 of the correction cradle.
423*
424* Correction in GMEDIA, GTMEDI: JVIN not properly
425* initialised. Thanks to F.Carminati. Introduced in
426* the 3.15 correction cradle.
427*
428* Release of version 3.01 of the correction cradle.
429*
430* Correction to GSDVN for a mistype. Thanks to H.Plothow.
431* Introduced in the 3.15 correction cradle.
432*
433* Small mod to GSNGTR for the CRAY. Function DSIGN changed
434* to SIGN. Thanks to F.Carminati. Introduced in the 3.15
435* correction cradle.
436*
437* Release of version 3.00 of the correction cradle.
438*
439* Correction in GDECAY. When IDCAY=2 the routine does not
440* produce secondaries. Thanks to R.Jones. Introduced in
441* the 3.15 correction cradle.
442*
443* Corrections in GFIN, GFOUT. Thanks to B.Cole. Introduced
444* in the 3.15 correction cradle.
445*
446*===> 14/09/92
447*
448* Correction in GMEDIV, GMEDIA, GINVOL, GTMEDI to
449* improve precision and prevent blocking of volumes.
450* Thanks to F.Carminati, R.Jones. Introduced in the
451* 3.15 correction cradle.
452*
453*===> 03/09/92
454*
455* GDLADY and GDMISS routines introduced. Thanks to
456* H.Plothow.
457*
458* Correction in GXDRAW for the coordinates of the
459* drawing of the GIRL. Thanks to F.Carminati.
460* Introduced in the 3.15 correction cradle.
461*
462* Correction in GPHSIG, typing mistake in a formula.
463* Thanks to M.Fanti. Introduced in the 3.15 correction
464* cradle.
465*
466*===> 02/09/92
467*
468* Corrections in GSDVN, GGPPAR, GGDPAR, GMEDIV, GCENT,
469* GSDVN2, GSDVT, GSDVT2 to allow the division of a TRAP
470* along y. Thanks to F.Carminati. Introduced in the 3.15
471* correction cradle.
472*
473* Corrections in GNPGO1 for precision problems. Thanks
474* to K.Lassila. Introduced in the 3.15 correction
475* cradle.
476*
477* Corrections in GGDPAR, GSDVN for the z division of a
478* Polygone. Thanks to F.Carminati. Introduced in the
479* 3.15 correction cradle.
480*
481*===> 01/09/92
482*
483* Correction in GSDVT for the division of a parallepiped.
484* Thanks to Y.Fisiak. Introduced in the 3.15 correction
485* cradle.
486*
487* Correction in GRKUTA. Helix is used if angle of
488* curvature is too large. In this case step is anyway
489* smaller than STMIN which is under user control.
490* Thanks to H.Plothow and V.Perevotchikov. Introduced
491* in the 3.15 correction cradle.
492*
493*===> 26/08/92
494*
495* Correction in GKRZ and CDF for the command RZ/FILE.
496* Record lenght fixed at 1024 in GRFILE cannot be
497* Changed by the user. Thanks to H.Plothow. Introduced
498* in the 3.15 correction cradle.
499*
500* Corrections in GTMEDI, GMEDIA and GINVOL for the case
501* of 'MANY' volumes. Uncleared blocking words found in
502* the tree. Thanks to H.Plothow. Introduced in the 3.15
503* correction cradle.
504*
505*===> 25/08/92
506*
507* Correction in GNSPHR. The PHI limits were used
508* incorrectly in calculating the distance to the
509* sphere. This was slowing down calculation but still
510* giving correct results. Thanks to J.Stepanek.
511* Introduced in the 3.15 correction cradle.
512*
513*===> 21/08/92
514*
515* Correction in GGORDQ. Incorrect counting of volumes
516* in case of phi ordering and phi division spanning
517* across 0 degrees. Thanks to L.Roberts and F.Carminati.
518* Introduced in the 3.15 correction cradle.
519*
520*===> 18/08/92
521*
522* Version 2.00 of the correction cradle released
523*
524*
525* Correction in GDRELP and GDRELM. The shell corrections
526* where underestimated due to a wrong factor introduced
527* translating the original formula from ev to Gev. Thanks
528* to A.Ferrari and K.Lassila-Perini. Introduced in the
529* 3.15 correction cradle.
530*
531*===> 17/08/92
532*
533* Correction in GCENT in case of general trapezoid sliced
534* in z in a local development structure.
535* Thanks to S.Chekhtman. Introduced in the 3.15 correction
536* cradle.
537*
538* Correction in GHEISH. Time of flight correctly initialised
539* for particles with number > 48. Thanks to A.Eisner.
540* Introduced in the 3.15 correction cradle.
541*
542*===> 14/08/92
543*
544* Correction in GGPPAR for boxes with negative parameters
545* in traps. The current code supports correctly boxes with
546* one, two or three negative parameters positioned in a trap
547* not necessarily in the centre. The trap must not be twisted
548* and the ALP1 and ALP2 angles (PAR(7) and PAR(11)) must be
549* equal. This facility must be used with care because the
550* algorithm first maximises Z, then Y and then X. The result
551* may be not quite what is expected in all cases, and the
552* user is invited to check carefully the result. Thanks to
553* H.Plothow. Introduced in the 3.15 correction cradle.
554*
555*===> 12/08/92
556*
557* Correction in GINVOL, GTMEDI and GMEDIA to handle correctly
558* the GSNEAR case when LIST(1)=1 and LIST(2)=0, that is when
559* all the volume are separated inside a mother. Optimisation
560* of the routine in case a large number of objects are
561* positioned at the same level and GUNEAR is used. Thanks to
562* R.Jones, M.Lefebvre and M.Pieri. Introduced in the 3.15
563* correction cradle.
564*
565*===> 07/08/92
566*
567* Correction in GTNEXT. When the currents step brings
568* the particle on the surface of the next volume, signal
569* IGNEXT=1 to GTxxxx to 'push' into the next volume.
570* This is a genuine bug and some volumes may be lost
571* due to this. Thanks to M.Maire. Introduced in the 3.15
572* correction cradle.
573*
574*===> 02/08/92
575*
576* Corrections to the precision in GNOPG1, GNCONE, GNOCON.
577* Thanks to R.Jones. Introduced in the 3.15 correction
578* cradle.
579*
580*===> 31/07/92
581*
582* Correction in the printout of GTRACK when max number
583* of steps is reached. Event number and random numbers are
584* printed out as well. Thanks to M.Maire. Introduced in the
585* 3.15 correction cradle.
586*
587*===> 29/07/92
588*
589* Correction in PIMABS for HPUX only. If variable NT is
590* saved then the routine compiles correctly, otherwise
591* not. Thanks to F.Carminati. Introduced in the 3.15
592* correction cradle.
593*
594* Correction in NIZL. All local variable are saved now.
595* Thanks to F.Carminati. Introduced in the 3.15 correction
596* cradle.
597*
598*===> 29/07/92
599*
600* Correction in CDF and in GKDRAW. Minimum angle for the
601* drawing is 0 and not 1. Thanks to H.Plothow. Introduced
602* in the 3.15 correction cradle.
603*
604* Minor update of GXFZ, a character length has been set
605* to 4 to keep KUIP happy. Thanks to F.Carminati. Introduced
606* in the 3.15 correction cradle.
607*
608*===> 28/07/92
609*
610* Corrections in GXFZ. Now the array LUNITS is properly
611* updated when a file is closed.
612*
613* Correction in GBRSGE, GBRSGM. Save statement introduced.
614* Thanks to L.Roberts. Introduced in the 3.15 correction
615* cradle.
616*
617* Correction in GINVOL for many volumes. Thanks to S.Giani
618* and R.Jones. Introduced in the 3.15 correction cradle.
619*
620* Correction in GMCOUL to prevent a division by 0. Thanks
621* to M.Maire. Introduced in the 3.15 correction cradle.
622*
623*===> 03/06/92
624*
625* Correction in GSNGTR. Double precision variables removed
626* in case of 64 bits machines. Thanks to E.Boehm. Introduced
627* in the 3.15 correction cradle.
628*
629* Correction in the SROTM command. The lower limit for
630* PHI3 is really 0. and not 1. Thanks to E.Boehm. Introduced
631* in the 3.15 correction cradle.
632*
633*===> 01/06/92
634*
635* New version of GRKUTA. In fact this is the 3.14 version
636* with the multiple steps algorithm of 3.15 introduced.
637* If the bending angle in one step is too big, then the
638* integration is done in several steps rather than in
639* one. The IMPLICIT REAL*8 in the cradle is to avoid
640* problems with the CRAY in the absence of PATCHY delayed
641* control cards. Thanks to V.Perevotchikov. Introduced in
642* the 3.15 correction cradle.
643*
644*===> 25/05/92
645*
646* Sequence GCONSP changed for 32 bits machines. All
647* constants are suffixed with D0 to avoid truncations.
648* Thanks to F.Carminati. Introduced in the 3.15 correction
649* cradle.
650*
651*===> 25/05/92
652*
653* Version 1.00 of the correction cradle released
654*
655*===> 21/05/92
656*
657* Correction in GHFNUC: TNNUC variable was undefined.
658* Thanks to B.Lund-Jensen.
659* Introduced in the 3.15 correction cradle.
660*
661*===> 08/05/92
662*
663* Correction in TWOCLU to avoid infinite looping in some
664* pathological cases. Thanks to L.Roberts.
665* Introduced in the 3.15 correction cradle.
666*
667*===> 06/05/92
668*
669* Correction in GNPGO1. Constants changed to double
670* precision to avoid problems on the IBM. Thanks to
671* D.Ward.
672* Introduced in the 3.15 correction cradle.
673*
674*===> 28/04/92
675*
676* Correction in GXINT to obtain the correct time in
677* the monitoring routine when running interactively
678* on IBM/VM. Thanks to F.Carminati.
679* Introduced in the 3.15 correction cradle.
680*
681*===> 16/04/92
682*
683* Correction in GMULTS. A particle going exactly along
684* the negative direction of the Z axis could be rotated
685* of 180 degrees after multiple scattering. Thanks to
686* P.Gabriel.
687* Introduced in the 3.15 correction cradle.
688*
689*===> 15/04/92
690*
691* Correction in GXDRAW. The arguments of DHEAD were
692* fetched with the wrong order. Thanks to F.Videbaek.
693* Introduced in the 3.15 correction cradle.
694*
695* Correction in GPHYSI. Variable NUMOLD is now reset to
696* zero. This may affect people running interactively and
697* using the command PHYSI. Thanks to F.Videbaek.
698* Introduced in the 3.15 correction cradle.
699*