5 * Revision 1.1.1.1 1995/10/24 10:21:11 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.20 by S.Giani
12 SUBROUTINE GRHITS (IUSET, IUDET, NTRA, ITRA)
14 C. ******************************************************************
16 C. * SUBR. GRHITS (IUSET, IUDET, NTRA, ITRA) *
18 C. * Removes the hits produced by the tracks ITRA(1...NTRA) in *
19 C. * the generic volume name IUDET belonging to the set IUSET. *
21 C. * IUSET User set identifier *
22 C. * IUDET User detector identifier (name of the corresponding *
23 C. * sensivitive volume) *
24 C. * NTRA Number of tracks whose hits are to be removed *
25 C. * ITRA Track indices whose hits are to be removed *
27 C. * Called by : <USER> *
28 C. * Author : S.Banerjee *
30 C. ******************************************************************
32 #include "geant321/gcbank.inc"
33 COMMON /GC1HIT/ LOC(2), JD, JDH, JH, JHD, JHDN, JS
35 CHARACTER*(*) IUSET, IUDET
39 * ------------------------------------------------------------------
41 IF (NTRA.LE.0) GO TO 999
42 IF (JSET.LE.0) GO TO 999
43 IF (JHITS.LE.0) GO TO 999
45 * *** Find the selected set(s)
48 IF (IUSET(1:1).EQ.'*') THEN
52 CALL GLOOK (IUSET, IQ(JSET+1), NSET, ISET)
53 IF (ISET.LE.0) GO TO 999
57 CALL MZLINT (IXSTOR, '/GC1HIT/', LOC, JD, JS)
59 * *** Loop over selected sets
64 IF (JS.LE.0.OR.JH.LE.0) GO TO 30
67 * ** Find the selected detector(s)
69 IF (IUDET(1:1).EQ.'*') THEN
73 CALL GLOOK (IUDET, IQ(JS+1), NDET, IDET)
74 IF (IDET.EQ.0) GO TO 30
79 * ** Loop over selected detectors
85 IF (JHD.LE.0) GO TO 20
87 IF (JDH.LE.0) GO TO 20
89 IF (ILAST.EQ.0) GO TO 20
90 NW = IQ(JD+1) + IQ(JD+3) + 1
92 * ** Shunt the original bank and lift a new SJDH bank
94 CALL ZSHUNT (IXDIV, JHD, JHDNN, 2, 0)
95 CALL MZBOOK (IXDIV, JHDN, JH, -IDET, 'SJHD', 0, 0, ILAST,
97 IQ(JHDN-5) = IQ(JHD-5)
99 * ** Copy the relevant part
102 DO 10 I = 1, ILAST, NW
103 II = IUCOMP (IQ(JHD+I), ITRA, NTRA)
105 CALL UCOPY (IQ(JHD+I), IQ(JHDN+LAST+1), NW)
110 * ** Drop the old bank
112 IF (LAST.LT.ILAST) THEN
113 CALL VZERO (IQ(JHDN+LAST+1), ILAST-LAST)
116 CALL MZDROP (IXDIV, JHD, ' ')