5 * Revision 1.1.1.1 1995/10/24 10:19:59 cernlib
9 #include "geant321/pilot.h"
10 #if defined(CERNLIB_OLDNAME)
11 *CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani
13 *=== decay ============================================================*
15 SUBROUTINE DECAY(IHAD,ISTAB)
17 #include "geant321/dblprc.inc"
18 #include "geant321/dimpar.inc"
19 #include "geant321/iounit.inc"
21 *----------------------------------------------------------------------*
22 * Decay89: slight revision by A. Ferrari *
23 *----------------------------------------------------------------------*
25 #include "geant321/finpar2.inc"
26 #include "geant321/metlsp.inc"
27 #include "geant321/part.inc"
28 #include "geant321/decayc.inc"
29 COMMON /FKDREI/ TEST(12)
30 COMMON /FKGAMR/REDU,AMO,AMM(15)
38 PLS(I) = SQRT(PXF(I)**2 + PYF(I)**2 + PZF(I)**2)
39 IF (PLS(I) .NE. 0.D0) THEN
40 CXS(I) = PXF(I)/PLS(I)
41 CYS(I) = PYF(I)/PLS(I)
42 CZS(I) = PZF(I)/PLS(I)
49 C*****TEST STABLE OR UNSTABLE
50 C$$$$$ISTAB=1/2/3 MEANS STRONG + WEAK DECAYS / ONLY STRONG DECAYS /
51 C*****STRONG DECAYS + WEAK DECAYS FOR CHARMED PARTICLES AND TAU LEPTONS
52 IF(ISTAB.EQ.1) GOTO 793
53 IF(ISTAB.EQ.2) GOTO 737
54 IF(ISTAB.EQ.3) GOTO 738
55 793 IF(ITS(IST).EQ.135.OR.ITS(IST).EQ.136) GOTO 202
56 IF(ITS(IST).GE.1.AND.ITS(IST).LE.7) GOTO 202
58 738 IF(ITS(IST).GE.1.AND.ITS(IST).LE.23) GOTO 202
59 IF(ITS(IST).GE. 97.AND.ITS(IST).LE.103) GOTO 202
60 IF(ITS(IST).EQ.109.AND.ITS(IST).EQ.115) GOTO 202
61 IF(ITS(IST).GE.133.AND.ITS(IST).LE.136) GOTO 202
63 737 IF(ITS(IST).GE. 1.AND.ITS(IST).LE. 30) GOTO 202
64 IF(ITS(IST).GE. 97.AND.ITS(IST).LE.103) GOTO 202
65 IF(ITS(IST).GE.115.AND.ITS(IST).LE.122) GOTO 202
66 IF(ITS(IST).GE.131.AND.ITS(IST).LE.136) GOTO 202
67 IF(ITS(IST).EQ.109) GO TO 202
68 IF(ITS(IST).GE.137.AND.ITS(IST).LE.160) GOTO 202
78 PXF(IR) = CXS(IST)*PLS(IST)
79 PYF(IR) = CYS(IST)*PLS(IST)
80 PZF(IR) = CZS(IST)*PLS(IST)
82 IF(IST .GE. 1) GO TO 200
86 BGAM = PLS(IST)/AM(IT)
94 IF (VV.GT.WT(IIK)) GO TO 301
95 C IIK IS THE DECAY CHANNEL
98 IF (IT2-1 .LT. 0) GO TO 110
100 C IT1,IT2, IT3 ARE THE PRODUCED PARTICLES FROM IT
101 IF(IT3 .EQ. 0) GO TO 400
102 CALL THREPD(ECO,ECM1,ECM2,ECM3,PCM1,PCM2,PCM3,COD1,COF1,SIF1,COD2,
103 & COF2,SIF2,COD3,COF3,SIF3,AM(IT1),AM(IT2),AM(IT3))
105 400 CALL TWOPAD(ECO,ECM1,ECM2,PCM1,PCM2,COD1,COF1,SIF1,COD2,COF2,SIF2,
110 IF (IT2-1 .LT. 0) GO TO 305
116 CALL TRAFO(GAM,BGAM,RX,RY,RZ,COD1,COF1,SIF1,PCM1,ECM1,
117 & PLS(IST),CXS(IST),CYS(IST),CZS(IST),ELS(IST))
119 CALL TRAFO(GAM,BGAM,RX,RY,RZ,COD2,COF2,SIF2,PCM2,ECM2,
120 & PLS(IST),CXS(IST),CYS(IST),CZS(IST),ELS(IST))
121 IF (IT3 .LE. 0) GO TO 305
123 CALL TRAFO(GAM,BGAM,RX,RY,RZ,COD3,COF3,SIF3,PCM3,ECM3,
124 & PLS(IST),CXS(IST),CYS(IST),CZS(IST),ELS(IST))
129 IF(IR .GT. IDMAX3) WRITE(ISYS,928)IDAPU
130 928 FORMAT(' NUMBER OF STAB. FINAL PART. IS GREATER THAN',I5)