source: trunk/MagicSoft/Simulation/Corsika/Mmcs/resdec.f@ 10100

Last change on this file since 10100 was 286, checked in by harald, 25 years ago
This is the start point for further developments of the Magic Monte Carlo Simulation written by Jose Carlos Gonzales. Now it is under control of one CVS repository for the whole collaboration. Everyone should use this CVS repository for further developments.
File size: 6.9 KB
Line 
1 SUBROUTINE RESDEC
2
3C-----------------------------------------------------------------------
4C RES(ONANCE) DEC(AY)
5C
6C ROUTINE TREATES DECAY OF THE RESONANCES RHO, K*, AND DELTA
7C THE DECAY MODE IS SELECTED BY THE RANDOM NUMBER RESRAN, WHICH IS
8C SET IN THE ROUTINE HDPM/LEPACX, WHERE THE RESONANCE IS FORMED
9C DECAY WITH FULL KINEMATIC, ENERGY AND MOMENTA CONSERVED
10C THIS SUBROUTINE IS CALLED FROM BOX3
11C-----------------------------------------------------------------------
12
13 IMPLICIT NONE
14*KEEP,CONST.
15 COMMON /CONST/ PI,PI2,OB3,TB3,ENEPER
16 DOUBLE PRECISION PI,PI2,OB3,TB3,ENEPER
17*KEEP,GENER.
18 COMMON /GENER/ GEN,ALEVEL
19 DOUBLE PRECISION GEN,ALEVEL
20*KEEP,PARPAR.
21 COMMON /PARPAR/ CURPAR,SECPAR,PRMPAR,OUTPAR,C,
22 * E00,E00PN,PTOT0,PTOT0N,THICKH,ITYPE,LEVL
23 DOUBLE PRECISION CURPAR(14),SECPAR(14),PRMPAR(14),OUTPAR(14),
24 * C(50),E00,E00PN,PTOT0,PTOT0N,THICKH
25 INTEGER ITYPE,LEVL
26*KEEP,PARPAE.
27 DOUBLE PRECISION GAMMA,COSTHE,PHI,H,T,X,Y,CHI,BETA,GCM,ECM
28 EQUIVALENCE (CURPAR(2),GAMMA), (CURPAR(3),COSTHE),
29 * (CURPAR(4), PHI ), (CURPAR(5), H ),
30 * (CURPAR(6), T ), (CURPAR(7), X ),
31 * (CURPAR(8), Y ), (CURPAR(9), CHI ),
32 * (CURPAR(10),BETA), (CURPAR(11),GCM ),
33 * (CURPAR(12),ECM )
34*KEEP,RANDPA.
35 COMMON /RANDPA/ FAC,U1,U2,RD,NSEQ,ISEED,KNOR
36 DOUBLE PRECISION FAC,U1,U2
37 REAL RD(3000)
38 INTEGER ISEED(103,10),NSEQ
39 LOGICAL KNOR
40*KEEP,RESON.
41 COMMON /RESON/ RDRES,RESRAN,IRESPAR
42 REAL RDRES(2),RESRAN(1000)
43 INTEGER IRESPAR
44
45*KEEP,RUNPAR.
46 COMMON /RUNPAR/ FIXHEI,THICK0,HILOECM,HILOELB,
47 * STEPFC,NRRUN,NSHOW,PATAPE,MONIIN,
48 * MONIOU,MDEBUG,NUCNUC,
49 * CETAPE,
50 * SHOWNO,ISHW,NOPART,NRECS,NBLKS,MAXPRT,NDEBDL,
51 * N1STTR,MDBASE,
52 * DEBDEL,DEBUG,FDECAY,FEGS,FIRSTI,FIXINC,FIXTAR,
53 * FIX1I,FMUADD,FNKG,FPRINT,FDBASE
54 * ,GHEISH,GHESIG
55 COMMON /RUNPAC/ DSN,HOST,USER
56 DOUBLE PRECISION FIXHEI,THICK0,HILOECM,HILOELB
57 REAL STEPFC
58 INTEGER NRRUN,NSHOW,PATAPE,MONIIN,MONIOU,MDEBUG,NUCNUC,
59 * SHOWNO,ISHW,NOPART,NRECS,NBLKS,MAXPRT,NDEBDL,
60 * N1STTR,MDBASE
61 INTEGER CETAPE
62 CHARACTER*79 DSN
63 CHARACTER*20 HOST,USER
64
65 LOGICAL DEBDEL,DEBUG,FDECAY,FEGS,FIRSTI,FIXINC,FIXTAR,
66 * FIX1I,FMUADD,FNKG,FPRINT,FDBASE
67 * ,GHEISH,GHESIG
68*KEND.
69
70 INTEGER I,KK,M3,M4
71C-----------------------------------------------------------------------
72
73 IF ( DEBUG ) WRITE(MDEBUG,444) (CURPAR(I),I=1,8)
74 444 FORMAT(' RESDEC: CURPAR=',1P,8E10.3)
75
76C CURRENT PARTICLE MUST BE SAVED IN STORE
77 DO 141 KK = 5,8
78 SECPAR(KK) = CURPAR(KK)
79 141 CONTINUE
80 SECPAR( 9) = GEN
81 SECPAR(10) = ALEVEL
82
83 BETA = SQRT( GAMMA**2 - 1.D0 ) / GAMMA
84
85 IF ( IRESPAR .LE. 0 ) THEN
86 WRITE(MONIOU,*)'RESDEC: IRESPAR .LE. 0, CORRECTED'
87 IRESPAR = 1
88 ENDIF
89C-----------------------------------------------------------------------
90C TREAT FIRST NUCLEON RESONANCES, AS MOST FREQUENT
91
92 IF ( ITYPE .EQ. 54 ) THEN
93C DECAY DELTA(++) ----> P + PI(+)
94 CALL DECAY1( ITYPE, 14, 8 )
95
96 ELSEIF ( ITYPE .EQ. 55 .OR. ITYPE .EQ. 56 ) THEN
97C DECAY DELTA(+) OR DECAY DELTA(0)
98
99 IF ( RESRAN(IRESPAR) .LE. TB3 ) THEN
100C DECAY DELTA(+) ----> P + PI(0)
101C DECAY DELTA(0) ----> N + PI(0)
102 M3 = 69 - ITYPE
103 CALL DECAY1( ITYPE, M3, 7 )
104
105 ELSE
106C DECAY DELTA(+) ----> N + PI(+)
107C DECAY DELTA(0) ----> P + PI(-)
108 M3 = ITYPE - 42
109 M4 = M3 - 5
110 CALL DECAY1( ITYPE, M3, M4 )
111 ENDIF
112
113 ELSEIF ( ITYPE .EQ. 57 ) THEN
114C DECAY DELTA(-) ----> N + PI(-)
115 CALL DECAY1( ITYPE, 13, 9 )
116
117C-----------------------------------------------------------------------
118C RHO RESONANCES
119
120 ELSEIF ( ITYPE .EQ. 51 ) THEN
121C DECAY RHO(0) ----> PI(+) + PI(-)
122 CALL DECAY1( ITYPE, 8, 9 )
123
124 ELSEIF ( ITYPE .EQ. 52 .OR. ITYPE .EQ. 53 ) THEN
125C DECAY RHO(+,-) ----> PI(+,-) + PI(0)
126 M3 = ITYPE - 44
127 CALL DECAY1( ITYPE, M3, 7 )
128
129C-----------------------------------------------------------------------
130C EXCITED KAON RESONANCES
131
132 ELSEIF ( ITYPE .EQ. 62 ) THEN
133C DECAY K*(0) ----> 2/3: K(+) + PI(-)
134C ----> 1/3: K0(L,S) + PI(0)
135 IF ( RESRAN(IRESPAR) .LE. TB3 ) THEN
136 CALL DECAY1( ITYPE, 11, 9 )
137 ELSEIF ( RESRAN(IRESPAR) .LE. .8333333 ) THEN
138 CALL DECAY1( ITYPE, 10, 7 )
139 ELSE
140 CALL DECAY1( ITYPE, 16, 7 )
141 ENDIF
142
143 ELSEIF ( ITYPE .EQ. 65 ) THEN
144C DECAY ANTI-K*(0) ----> 2/3: K(-) + PI(+)
145C ----> 1/3: K0(L,S) + PI(0)
146 IF ( RESRAN(IRESPAR) .LE. TB3 ) THEN
147 CALL DECAY1( ITYPE, 12, 8 )
148 ELSEIF ( RESRAN(IRESPAR) .LE. .8333333 ) THEN
149 CALL DECAY1( ITYPE, 10, 7 )
150 ELSE
151 CALL DECAY1( ITYPE, 16, 7 )
152 ENDIF
153
154 ELSEIF ( ITYPE .EQ. 63 .OR. ITYPE .EQ. 64 ) THEN
155C DECAY K*(+-) ----> 2/3: K(+-) + PI(0)
156C ----> 1/3: K0(L,S) + PI(+-)
157 IF ( RESRAN(IRESPAR) .LE. TB3 ) THEN
158 CALL DECAY1( ITYPE, ITYPE-52, 7 )
159 ELSEIF ( RESRAN(IRESPAR) .LE. .8333333 ) THEN
160 CALL DECAY1( ITYPE, 10, ITYPE-55 )
161 ELSE
162 CALL DECAY1( ITYPE, 16, ITYPE-55 )
163 ENDIF
164
165C-----------------------------------------------------------------------
166C ANTI-NUCLEON RESONANCES
167
168 ELSEIF ( ITYPE .EQ. 58 ) THEN
169C DECAY ANTI-DELTA(--) ----> ANTI-P + PI(-)
170 CALL DECAY1( ITYPE, 15, 9 )
171
172 ELSEIF ( ITYPE .EQ. 59 .OR. ITYPE .EQ. 60 ) THEN
173C DECAY ANTI-DELTA(-) OR DECAY ANTI-DELTA(0)
174
175 IF ( RESRAN(IRESPAR) .LE. TB3 ) THEN
176C DECAY ANTI-DELTA(-) ----> ANTI-P + PI(0)
177C DECAY ANTI-DELTA(0) ----> ANTI-N + PI(0)
178 M3 = 15 + (ITYPE - 59) * 10
179 CALL DECAY1( ITYPE, M3, 7 )
180
181 ELSE
182C DECAY ANTI-DELTA(-) ----> ANTI-N + PI(-)
183C DECAY ANTI-DELTA(0) ----> ANTI-P + PI(+)
184 M3 = 15 + (60 - ITYPE) * 10
185 M4 = 68 - ITYPE
186 CALL DECAY1( ITYPE, M3, M4 )
187 ENDIF
188
189 ELSEIF ( ITYPE .EQ. 61 ) THEN
190C DECAY ANTI-DELTA(+) ----> ANTI-N + PI(+)
191 CALL DECAY1( ITYPE, 25, 8 )
192
193C-----------------------------------------------------------------------
194 ELSE
195 WRITE(MONIOU,*) 'RESDEC: UNFORESEEN PARTICLE CODE =',ITYPE
196 ENDIF
197 IRESPAR = IRESPAR -1
198
199 RETURN
200 END
Note: See TracBrowser for help on using the repository browser.