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