]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/gtrak/gstord.F
Do not rely on the memory being 0 in JX bank
[u/mrichter/AliRoot.git] / GEANT321 / gtrak / gstord.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:21:43 cernlib
6* Geant
7*
8*
9#include "geant321/pilot.h"
10*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani
11*-- Author :
12 SUBROUTINE GSTORD
13C.
14C. ******************************************************************
15C. * *
16C. * Orders the particles in the stack in ascending order by *
17C. * the user word. *
18C. * *
19C. * Called by : GLTRAC *
20C. * Authors : F.Carminati *
21C. * *
22C. ******************************************************************
23C.
24#include "geant321/gcbank.inc"
25#include "geant321/gcjloc.inc"
26#include "geant321/gcstak.inc"
27#include "geant321/gctrak.inc"
28#include "geant321/gcnum.inc"
29 PARAMETER (NWPOLA=3,ISTPOS=12)
30*
31* ----------------------------------------------------------------------
32*
33 JSTPOS = JSTAK+3+ISTPOS
34 VALMAX = Q(JSTPOS)
35 INDMAX = 1
36 NPSTAK = IQ(JSTAK+1)
37 DO 10 J=2,IQ(JSTAK+1)
38 JSTPOS = JSTPOS+NWSTAK
39 VALTST = Q(JSTPOS)
40 IF(VALTST.GT.VALMAX) THEN
41 VALMAX = VALTST
42 INDMAX = J
43 ENDIF
44 10 CONTINUE
45 IF(INDMAX.NE.NPSTAK) THEN
46 JSMOVE = JSTAK+3+(INDMAX-1)*NWSTAK
47 JSLAST = JSTAK+3+(NPSTAK-1)*NWSTAK
48 DO 20 J=1,NWSTAK
49 TEMP = Q(JSMOVE+J)
50 Q(JSMOVE+J) = Q(JSLAST+J)
51 Q(JSLAST+J) = TEMP
52 20 CONTINUE
53 IF(JPOLAR.NE.0) THEN
54 JPMOVE = JPOLAR+(INDMAX-1)*NWPOLA
55 JPLAST = JPOLAR+(NPSTAK-1)*NWPOLA
56 DO 30 J=1,NWPOLA
57 TEMP = Q(JPMOVE+J)
58 Q(JPMOVE+J) = Q(JPLAST+J)
59 Q(JPLAST+J) = TEMP
60 30 CONTINUE
61 ENDIF
62 ENDIF
63 END