]> git.uio.no Git - u/mrichter/AliRoot.git/blob - GEANT321/gtrak/gstord.F
Allow any Cherenkov-like particle to be transported
[u/mrichter/AliRoot.git] / GEANT321 / gtrak / gstord.F
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
13 C.
14 C.    ******************************************************************
15 C.    *                                                                *
16 C.    *   Orders the particles in the stack in ascending order by      *
17 C.    *   the user word.                                               *
18 C.    *                                                                *
19 C.    *   Called by : GLTRAC                                           *
20 C.    *   Authors   : F.Carminati                                      *
21 C.    *                                                                *
22 C.    ******************************************************************
23 C.
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