5 * Revision 1.1.1.1 1999/05/18 15:55:21 fca
8 * Revision 1.1.1.1 1995/10/24 10:21:43 cernlib
12 #include "geant321/pilot.h"
13 *CMZ : 3.21/02 03/07/94 19.07.28 by S.Giani
15 SUBROUTINE GSKPHO (IGK)
17 C. ******************************************************************
20 C. * Stores in stack JSTAK either the IGKth Cherenkov photon of *
21 C. * /GCKIN2/, or the NPHOT tracks when IGK is 0. *
23 C. * Called by : 'User' *
24 C. * Authors : F.Carminati *
26 C. ******************************************************************
28 #include "geant321/gcbank.inc"
29 #include "geant321/gcjloc.inc"
30 #include "geant321/gcking.inc"
31 #include "geant321/gcnum.inc"
32 #include "geant321/gcunit.inc"
33 #include "geant321/gctrak.inc"
34 #include "geant321/gcmzfo.inc"
35 #include "geant321/gcstak.inc"
36 #include "geant321/gckine.inc"
40 C. ------------------------------------------------------------------
43 * *** Make sure the request is reasonable
44 IF (NGPHOT.LE.0) GO TO 999
49 IF (IGK.LT.0.OR.IGK.GT.NGPHOT) THEN
50 WRITE(CHMAIL,10000) IGK, NGPHOT
51 10000 FORMAT(' **** GSKPHO: ',I6,'th photon requested, ',
60 * *** Store photons in stack JSTAK
62 * *** Check that the bank is there and big enough
64 NDBOOK = NTSTKP*NWSTAK +3
65 NDPUSH = NTSTKS*NWSTAK
66 CALL MZBOOK (IXCONS,JSTAK,JSTAK,1,'STAK', 1,1,NDBOOK, IOSTAK,3)
69 IF(IQ(JSTAK-2).EQ.0) THEN
70 CALL MZPUSH(IXCONS,JSTAK,1,0,'I')
72 IF(LQ(JSTAK-1).EQ.0) THEN
73 CALL MZBOOK(IXCONS,JPOLAR,JSTAK,-1,'POLA',0,0,
76 MISSNG=IQ(JSTAK+1)+N2-N1+1-IQ(JSTAK+2)
78 CALL MZPUSH (IXCONS, JSTAK, 0, MISSNG*NWSTAK+NDPUSH, 'I')
79 IQ(JSTAK+2) = IQ(JSTAK+2) +NTSTKS+MISSNG
81 MSSPOL = IQ(JSTAK+1)+N2-N1+1-IQ(JPOLAR-1)/3
83 CALL MZPUSH (IXCONS,JPOLAR,0,(NTSTKS+MSSPOL)*NWPOLA, 'I')
88 JST = JSTAK +IQ(JSTAK+1)*NWSTAK +3
89 JPO = JPOLAR +IQ(JSTAK+1)*NWPOLA
90 IQ(JSTAK+1) = IQ(JSTAK+1) +1
91 IF (IQ(JSTAK+3).EQ.0) IQ(JSTAK+3) = IQ(JSTAK+1)
92 IF (IQ(JSTAK+1).GT.NSTMAX) NSTMAX = IQ(JSTAK+1)
98 Q(JST+3+I) = XPHOT(I ,NN)
99 Q(JST+6+I) = XPHOT(I+3,NN)*XPHOT(7,NN)
100 Q(JPO+ I) = XPHOT(I+7,NN)
102 Q(JST+10) = XPHOT(11,NN)