1 #include "isajet/pilot.h"
2 SUBROUTINE RGENS(IFLAG)
5 C Read a record by a call BUFIN
6 C If record type is not event type return.
7 C If RGENS called with IFLAG=10 return without unpacking.
8 C Unpack ZEVEL into appropriate common blocks.
10 #if defined(CERNLIB_IMPNONE)
13 #include "isajet/itapes.inc"
14 #include "isajet/mbgen.inc"
15 #include "isajet/keys.inc"
16 #include "isajet/rectp.inc"
17 #include "isajet/idrun.inc"
18 #include "isajet/jetpar.inc"
19 #include "isajet/jetset.inc"
20 #include "isajet/jetsig.inc"
21 #include "isajet/partcl.inc"
22 #include "isajet/pjets.inc"
23 #include "isajet/pinits.inc"
24 #include "isajet/primar.inc"
25 #include "isajet/zevel.inc"
26 #include "isajet/totals.inc"
27 #include "isajet/wsig.inc"
28 #include "isajet/final.inc"
31 INTEGER I,IEX,IZ5,K,IFL,ISAV,IL
38 IREC=MOD(IZEVEL(1),100)
39 IF(IRECTP.EQ.200) RETURN
40 IF(IRECTP.EQ.300) RETURN
43 CALL MOVLEI(IZEVEL(IL),IDVER,4)
45 CALL MOVLEL(LZEVEL(IL),KEYS(1),MXKEYS)
49 CALL MOVLEV(ZEVEL(IL),P(1),59)
51 CALL MOVLEV(ZEVEL(IL),SIGF,1)
63 CALL MOVLEV(ZEVEL(IL),PJETS(1,1),IEX)
65 CALL MOVLEI(IZEVEL(IL),IDJETS(1),NJET)
68 IF(KEYS(3).OR.KEYS(7).OR.KEYS(11)) THEN
69 CALL MOVLEV(ZEVEL(IL),QWJET(1),6)
71 CALL MOVLEV(ZEVEL(IL),QMW,16)
76 IF(KEYS(6).OR.KEYS(7)) THEN
80 CALL MOVLEV(ZEVEL(IL),PPAIR(1,1),5*NPAIR)
82 CALL MOVLEI(IZEVEL(IL),IDPAIR(1),NPAIR)
84 CALL MOVLEI(IZEVEL(IL),JPAIR(1),NPAIR)
90 CALL MOVLEI(IZEVEL(IL),NKINPT,5)
92 CALL MOVLEI(IZEVEL(IL),NPOM,1)
95 C /JETSET/ COMMON BLOCK
96 IF(NJSET.LT.1) GOTO 12
98 CALL MOVLEV(ZEVEL(IL),PJSET(1,I),5)
101 JTYPE(I)=IZEVEL(IL+1)
102 JDCAY(I)=IZEVEL(IL+2)
104 IF(IL.LE.MAXLEN-9) GO TO 50
105 IF(I.EQ.NJSET.AND.NPTCL.EQ.0) GO TO 12
107 IF(IFLAG.NE.0) RETURN
110 C /PARTCL/ COMMON BLOCK
111 C NPTCL.LT.0 IMPLIES ONLY STABLE PARTICLES ON THIS FILE
112 C ORIGIN AND DECAY INFORMATION SUPPRESSED
113 12 IF(NPTCL.EQ.0) GOTO 999
114 IF(NPTCL.GT.0) GOTO 997
115 C ONLY STABLE PARTICLES
118 CALL MOVLEV(ZEVEL(IL),PPTCL(1,K),5)
119 IZ5=IABS(IZEVEL(IL+5))
120 IORIG(K)=(IZ5/10000)*1000
121 IDENT(K)=MOD(IZ5,10000)*ISIGN(1,IZEVEL(IL+5))
124 IF(IL.LE.MAXLEN-6) GOTO 992
125 IF(K.EQ.NPTCL) RETURN
127 IF(IFLAG.NE.0) RETURN
131 C NOTE THAT IDCAY CAN EXCEED 2**24 LIMIT OF PAIRPAK
134 CALL MOVLEV(ZEVEL(IL),PPTCL(1,K),5)
135 IORIG(K)=IZEVEL(IL+5)
136 IDENT(K)=IZEVEL(IL+6)
137 IDCAY(K)=IZEVEL(IL+7)*IPACK+IZEVEL(IL+8)
139 IF(IL.LE.MAXLEN-9) GOTO 998
140 IF(K.EQ.NPTCL) RETURN
142 IF(IFLAG.NE.0) RETURN