1 | SUBROUTINE VSTORE
|
---|
2 |
|
---|
3 | C-----------------------------------------------------------------------
|
---|
4 | C V(ENUS PARTICLES) STORE (INTO CORSIKA STACK)
|
---|
5 | C
|
---|
6 | C STORES VENUS OUTPUT PARTICLES INTO CORSIKA STACK
|
---|
7 | C THIS SUBROUTINE IS CALLED FROM VENLNK
|
---|
8 | C
|
---|
9 | C DESIGN : D. HECK IK3 FZK KARLSRUHE
|
---|
10 | C-----------------------------------------------------------------------
|
---|
11 |
|
---|
12 | *KEEP,CONST.
|
---|
13 | COMMON /CONST/ PI,PI2,OB3,TB3,ENEPER
|
---|
14 | DOUBLE PRECISION PI,PI2,OB3,TB3,ENEPER
|
---|
15 | *KEEP,DPMFLG.
|
---|
16 | COMMON /DPMFLG/ NFLAIN,NFLDIF,NFLPI0,NFLCHE,NFLPIF,NFRAGM
|
---|
17 | INTEGER NFLAIN,NFLDIF,NFLPI0,NFLCHE,NFLPIF,NFRAGM
|
---|
18 | *KEEP,ELADPM.
|
---|
19 | COMMON /ELADPM/ ELMEAN,ELMEAA,IELDPM,IELDPA
|
---|
20 | DOUBLE PRECISION ELMEAN(37),ELMEAA(37)
|
---|
21 | INTEGER IELDPM(37,13),IELDPA(37,13)
|
---|
22 | *KEEP,ELASTY.
|
---|
23 | COMMON /ELASTY/ ELAST,IELIS,IELHM,IELNU,IELPI
|
---|
24 | DOUBLE PRECISION ELAST
|
---|
25 | INTEGER IELIS(20),IELHM(20),IELNU(20),IELPI(20)
|
---|
26 | *KEEP,INTER.
|
---|
27 | COMMON /INTER/ AVCH,AVCH3,DC0,DLOG,DMLOG,ECMDIF,ECMDPM,ELAB,
|
---|
28 | * FNEUT,FNEUT2,GNU,PLAB,POSC2,POSC3,POSN2,POSN3,
|
---|
29 | * RC3TO2,S,SEUGF,SEUGP,SLOG,SLOGSQ,SMLOG,
|
---|
30 | * WIDC2,WIDC3,WIDN2,WIDN3,YCM,YY0,ZN,
|
---|
31 | * IDIF,ITAR
|
---|
32 | DOUBLE PRECISION AVCH,AVCH3,DC0,DLOG,DMLOG,ECMDIF,ECMDPM,ELAB,
|
---|
33 | * FNEUT,FNEUT2,GNU,PLAB,POSC2,POSC3,POSN2,POSN3,
|
---|
34 | * RC3TO2,S,SEUGF,SEUGP,SLOG,SLOGSQ,SMLOG,
|
---|
35 | * WIDC2,WIDC3,WIDN2,WIDN3,YCM,YY0,ZN
|
---|
36 | INTEGER IDIF,ITAR
|
---|
37 | *KEEP,ISTA.
|
---|
38 | COMMON /ISTA/ IFINET,IFINNU,IFINKA,IFINPI,IFINHY
|
---|
39 | INTEGER IFINET,IFINNU,IFINKA,IFINPI,IFINHY
|
---|
40 | *KEEP,MULT.
|
---|
41 | COMMON /MULT/ EKINL,MSMM,MULTMA,MULTOT
|
---|
42 | DOUBLE PRECISION EKINL
|
---|
43 | INTEGER MSMM,MULTMA(37,13),MULTOT(37,13)
|
---|
44 | *KEEP,PAM.
|
---|
45 | COMMON /PAM/ PAMA,SIGNUM
|
---|
46 | DOUBLE PRECISION PAMA(6000),SIGNUM(6000)
|
---|
47 | *KEEP,PARPAR.
|
---|
48 | COMMON /PARPAR/ CURPAR,SECPAR,PRMPAR,OUTPAR,C,
|
---|
49 | * E00,E00PN,PTOT0,PTOT0N,THICKH,ITYPE,LEVL
|
---|
50 | DOUBLE PRECISION CURPAR(14),SECPAR(14),PRMPAR(14),OUTPAR(14),
|
---|
51 | * C(50),E00,E00PN,PTOT0,PTOT0N,THICKH
|
---|
52 | INTEGER ITYPE,LEVL
|
---|
53 | *KEEP,PARPAE.
|
---|
54 | DOUBLE PRECISION GAMMA,COSTHE,PHI,H,T,X,Y,CHI,BETA,GCM,ECM
|
---|
55 | EQUIVALENCE (CURPAR(2),GAMMA), (CURPAR(3),COSTHE),
|
---|
56 | * (CURPAR(4), PHI ), (CURPAR(5), H ),
|
---|
57 | * (CURPAR(6), T ), (CURPAR(7), X ),
|
---|
58 | * (CURPAR(8), Y ), (CURPAR(9), CHI ),
|
---|
59 | * (CURPAR(10),BETA), (CURPAR(11),GCM ),
|
---|
60 | * (CURPAR(12),ECM )
|
---|
61 | *KEEP,RANDPA.
|
---|
62 | COMMON /RANDPA/ FAC,U1,U2,RD,NSEQ,ISEED,KNOR
|
---|
63 | DOUBLE PRECISION FAC,U1,U2
|
---|
64 | REAL RD(3000)
|
---|
65 | INTEGER ISEED(103,10),NSEQ
|
---|
66 | LOGICAL KNOR
|
---|
67 | *KEEP,REST.
|
---|
68 | COMMON /REST/ CONTNE,TAR,LT
|
---|
69 | DOUBLE PRECISION CONTNE(3),TAR
|
---|
70 | INTEGER LT
|
---|
71 | *KEEP,RUNPAR.
|
---|
72 | COMMON /RUNPAR/ FIXHEI,THICK0,HILOECM,HILOELB,
|
---|
73 | * STEPFC,NRRUN,NSHOW,PATAPE,MONIIN,
|
---|
74 | * MONIOU,MDEBUG,NUCNUC,
|
---|
75 | * CETAPE,
|
---|
76 | * SHOWNO,ISHW,NOPART,NRECS,NBLKS,MAXPRT,NDEBDL,
|
---|
77 | * N1STTR,MDBASE,
|
---|
78 | * DEBDEL,DEBUG,FDECAY,FEGS,FIRSTI,FIXINC,FIXTAR,
|
---|
79 | * FIX1I,FMUADD,FNKG,FPRINT,FDBASE
|
---|
80 | * ,GHEISH,GHESIG
|
---|
81 | COMMON /RUNPAC/ DSN,HOST,USER
|
---|
82 | DOUBLE PRECISION FIXHEI,THICK0,HILOECM,HILOELB
|
---|
83 | REAL STEPFC
|
---|
84 | INTEGER NRRUN,NSHOW,PATAPE,MONIIN,MONIOU,MDEBUG,NUCNUC,
|
---|
85 | * SHOWNO,ISHW,NOPART,NRECS,NBLKS,MAXPRT,NDEBDL,
|
---|
86 | * N1STTR,MDBASE
|
---|
87 | INTEGER CETAPE
|
---|
88 | CHARACTER*79 DSN
|
---|
89 | CHARACTER*20 HOST,USER
|
---|
90 |
|
---|
91 | LOGICAL DEBDEL,DEBUG,FDECAY,FEGS,FIRSTI,FIXINC,FIXTAR,
|
---|
92 | * FIX1I,FMUADD,FNKG,FPRINT,FDBASE
|
---|
93 | * ,GHEISH,GHESIG
|
---|
94 | *KEND.
|
---|
95 |
|
---|
96 | PARAMETER (KOLLMX=2500)
|
---|
97 | PARAMETER (MXPTL=70000)
|
---|
98 | PARAMETER (MXSTR=3000)
|
---|
99 | PARAMETER (NDEP=129)
|
---|
100 | PARAMETER (NDET=129)
|
---|
101 | COMMON /ACCUM/ AMSAC,ILAMAS,IMSG,INOIAC,IPAGE,JERR,NAEVT,NREVT
|
---|
102 | * ,NRPTL,NRSTR,NTEVT
|
---|
103 | COMMON /CEVT/ BIMEVT,COLEVT,EGYEVT,PHIEVT,PMXEVT
|
---|
104 | * ,KOLEVT,NEVT,NPJEVT,NTGEVT
|
---|
105 | COMMON /COL/ BIMP,BMAX,COORD(4,KOLLMX),DISTCE(KOLLMX)
|
---|
106 | * ,QDEP(NDEP),QDET14(NDET),QDET16(NDET),QDET40(NDET)
|
---|
107 | * ,QDET99(NDET),RMPROJ,RMTARG(4),XDEP(NDEP)
|
---|
108 | * ,XDET14(NDET),XDET16(NDET),XDET40(NDET)
|
---|
109 | * ,XDET99(NDET)
|
---|
110 | * ,KOLL,LTARG,NORD(KOLLMX),NPROJ,NRPROJ(KOLLMX)
|
---|
111 | * ,NRTARG(KOLLMX),NTARG
|
---|
112 | COMMON /CPTL/ PPTL(5,MXPTL),TIVPTL(2,MXPTL),XORPTL(4,MXPTL)
|
---|
113 | * ,IBPTL(4,MXPTL),ICLPTL(MXPTL),IDPTL(MXPTL)
|
---|
114 | * ,IFRPTL(2,MXPTL),IORPTL(MXPTL),ISTPTL(MXPTL)
|
---|
115 | * ,JORPTL(MXPTL),NPTL,NQJPTL(MXPTL)
|
---|
116 | COMMON /CSTR/ PSTR(5,MXSTR),ROTSTR(3,MXSTR),XORSTR(4,MXSTR)
|
---|
117 | * ,ICSTR(4,MXSTR),IORSTR(MXSTR),IRLSTR(MXSTR),NSTR
|
---|
118 | COMMON /FILES/ IFCH,IFDT,IFHI,IFMT,IFOP
|
---|
119 | COMMON /PARO2/ AMPROJ,AMTARG,ANGMUE,ELEPTI,ELEPTO,ENGY
|
---|
120 | * ,PNLL,PNLLX,PROB(99),PROSEA,RHOPHI,TAUREA
|
---|
121 | * ,YHAHA,YMXIMI,YPJTL
|
---|
122 | * ,ICBAC(99,2),ICFOR(99,2),ICHOIC,ICLHIS,IDPM
|
---|
123 | * ,IDPROJ,IDTARG,IENTRO,IJPHIS,IMIHIS,IPAGI,ISH
|
---|
124 | * ,ISHEVT,ISHSUB,ISPALL,ISPHIS,ISTMAX,ISUP,IVI
|
---|
125 | * ,JPSI,JPSIFI,KUTDIQ,LAPROJ,LATARG,MAPROJ,MATARG
|
---|
126 | * ,MODSHO,NDECAX,NDECAY,NEVENT
|
---|
127 | COMMON /PARO3/ ASUHAX(7),ASUHAY(7),OMEGA,SIGPPD,SIGPPE,UENTRO
|
---|
128 | * ,IWZZZZ
|
---|
129 |
|
---|
130 | DOUBLE PRECISION EA,ELASTI,EMAX,GAMMAX,COSTET,PHIV,PL2,PT2,PTM
|
---|
131 | DOUBLE PRECISION PFRX(60),PFRY(60)
|
---|
132 | INTEGER ITYP(60),NRPTLA(MXPTL)
|
---|
133 | C-----------------------------------------------------------------------
|
---|
134 |
|
---|
135 | IF ( DEBUG ) WRITE(MDEBUG,*) 'VSTORE:'
|
---|
136 |
|
---|
137 | C NUMBER OF SPECTATORS OF REMAINING NUCLEUS IS NREST
|
---|
138 | NREST = ITYPE/100 - NPJEVT
|
---|
139 | IREST = ITYPE
|
---|
140 | NNEW = 0
|
---|
141 | INEW = 0
|
---|
142 | ETOT = 0.
|
---|
143 |
|
---|
144 | LEVT = 1
|
---|
145 | LPTL = 3
|
---|
146 | NPTLS = 0
|
---|
147 | DO 1 I=1,NPTL
|
---|
148 | NRPTLA(I) = -999
|
---|
149 | IF ( ISTPTL(I) .GT. ISTMAX ) GOTO 1
|
---|
150 | NPTLS = NPTLS+1
|
---|
151 | NRPTLA(I) = NPTLS
|
---|
152 | 1 CONTINUE
|
---|
153 |
|
---|
154 | C EVENT VARIABLES:
|
---|
155 | C LEVT................... RECORD LABEL (LEVT=1)
|
---|
156 | C NREVT.................. EVENT NUMBER
|
---|
157 | C NPTLS ................. NUMBER OF (STORED!) PARTICLES PER EVENT
|
---|
158 | C BIMEVT ................ IMPACT PARAMETER
|
---|
159 | C KOLEVT,COLEVT ......... REAL/EFFECTIVE # OF COLLISIONS
|
---|
160 | C PMXEVT ................ REFERENCE MOMENTUM
|
---|
161 | C EGYEVT ................ PP CM ENERGY (HAD) OR STRING ENERGY (STR)
|
---|
162 | C NPJEVT,NTGEVT ......... # OF PROJ/TARG PARTICIPANTS
|
---|
163 |
|
---|
164 | GNU = KOLEVT
|
---|
165 | GNU = COLEVT
|
---|
166 | C SET COORDINATES, WHICH ARE IDENTICAL FOR ALL SECONDARY PARTICLES
|
---|
167 | DO 6 I=5,8
|
---|
168 | SECPAR(I) = CURPAR(I)
|
---|
169 | 6 CONTINUE
|
---|
170 | CC GAMMAX = 0.D0
|
---|
171 | EMAX = 0.D0
|
---|
172 |
|
---|
173 | C PARTICLE LOOP
|
---|
174 | DO 5 I=1,NPTL
|
---|
175 | IF ( NRPTLA(I) .LE. 0 ) GOTO 5
|
---|
176 |
|
---|
177 | C PARTICLE VARIABLES:
|
---|
178 | C LPTL ......... RECORD LABEL (LPTL=3)
|
---|
179 | C NREVT ........ EVENT NUMBER
|
---|
180 | C NRPTL ........ PARTICLE NUMBER
|
---|
181 | C I ............ ORIGINAL PTL NUMBER
|
---|
182 | C IDPTL ........ PARTICLE ID
|
---|
183 | C PPTL ......... 5-MOMENTUM (PX,PY,PZ,EN,MASS) IN LAB
|
---|
184 | C IOPTL ........ ORIGIN (-999:PARENT NOT STORED, -1,0:NO PARENT)
|
---|
185 | C JOPTL ........ ORIGIN (SECOND PARENT)
|
---|
186 | C ISTPTL ....... STABLE (=0) OR NOT (=1)
|
---|
187 | C XORPTL ....... SPACE-TIME POINT (X,Y,Z,T) ON PTL TRACK (PP-CM)
|
---|
188 | C TIVPTL ....... TIME INTERVAL OF EXISTENCE
|
---|
189 | C NQJPTL ....... QUARK NUMBERS OF JETS
|
---|
190 |
|
---|
191 | C ELIMINATE TARGET SPECTATORS
|
---|
192 | IF ( PPTL(3,I) .EQ. 0. ) GOTO 5
|
---|
193 |
|
---|
194 | C ELIMINATE BACKWARD GOING PARTICLES
|
---|
195 | IF ( PPTL(3,I) .LT. 0. ) GOTO 5
|
---|
196 | C CONVERT PARTICLE CODE VEN(US) ---> C(O)RS(IKA)
|
---|
197 | C MOST FREQUENT PARTICLES COME FIRST
|
---|
198 | KODVEN = IDPTL(I)
|
---|
199 | C MESONS
|
---|
200 | IF ( KODVEN .EQ. 110 ) THEN
|
---|
201 | KODCRS = 7
|
---|
202 | ELSEIF ( KODVEN .EQ. 120 ) THEN
|
---|
203 | KODCRS = 8
|
---|
204 | ELSEIF ( KODVEN .EQ. -120 ) THEN
|
---|
205 | KODCRS = 9
|
---|
206 | ELSEIF ( KODVEN .EQ. 220 ) THEN
|
---|
207 | KODCRS = 17
|
---|
208 | C NUCLEONS
|
---|
209 | ELSEIF ( KODVEN .EQ. 1220 ) THEN
|
---|
210 | KODCRS = 13
|
---|
211 | ELSEIF ( KODVEN .EQ. 1120 ) THEN
|
---|
212 | KODCRS = 14
|
---|
213 | ELSEIF ( KODVEN .EQ. -1120 ) THEN
|
---|
214 | KODCRS = 15
|
---|
215 | ELSEIF ( KODVEN .EQ. -1220 ) THEN
|
---|
216 | KODCRS = 25
|
---|
217 | C STRANGE MESONS
|
---|
218 | ELSEIF ( KODVEN .EQ. -20 ) THEN
|
---|
219 | KODCRS = 10
|
---|
220 | ELSEIF ( KODVEN .EQ. 130 ) THEN
|
---|
221 | KODCRS = 11
|
---|
222 | ELSEIF ( KODVEN .EQ. -130 ) THEN
|
---|
223 | KODCRS = 12
|
---|
224 | ELSEIF ( KODVEN .EQ. 20 ) THEN
|
---|
225 | KODCRS = 16
|
---|
226 | C STRANGE BARYONS
|
---|
227 | ELSEIF ( KODVEN .EQ. 2130 ) THEN
|
---|
228 | KODCRS = 18
|
---|
229 | ELSEIF ( KODVEN .EQ. 1130 ) THEN
|
---|
230 | KODCRS = 19
|
---|
231 | ELSEIF ( KODVEN .EQ. 1230 ) THEN
|
---|
232 | KODCRS = 20
|
---|
233 | ELSEIF ( KODVEN .EQ. 2230 ) THEN
|
---|
234 | KODCRS = 21
|
---|
235 | ELSEIF ( KODVEN .EQ. 1330 ) THEN
|
---|
236 | KODCRS = 22
|
---|
237 | ELSEIF ( KODVEN .EQ. 2330 ) THEN
|
---|
238 | KODCRS = 23
|
---|
239 | ELSEIF ( KODVEN .EQ. 3331 ) THEN
|
---|
240 | KODCRS = 24
|
---|
241 | ELSEIF ( KODVEN .EQ. -2130 ) THEN
|
---|
242 | KODCRS = 26
|
---|
243 | ELSEIF ( KODVEN .EQ. -1130 ) THEN
|
---|
244 | KODCRS = 27
|
---|
245 | ELSEIF ( KODVEN .EQ. -1230 ) THEN
|
---|
246 | KODCRS = 28
|
---|
247 | ELSEIF ( KODVEN .EQ. -2230 ) THEN
|
---|
248 | KODCRS = 29
|
---|
249 | ELSEIF ( KODVEN .EQ. -1330 ) THEN
|
---|
250 | KODCRS = 30
|
---|
251 | ELSEIF ( KODVEN .EQ. -2330 ) THEN
|
---|
252 | KODCRS = 31
|
---|
253 | ELSEIF ( KODVEN .EQ. -3331 ) THEN
|
---|
254 | KODCRS = 32
|
---|
255 | C LEPTONS
|
---|
256 | ELSEIF ( KODVEN .EQ. 10 ) THEN
|
---|
257 | KODCRS = 1
|
---|
258 | ELSEIF ( KODVEN .EQ. -12 ) THEN
|
---|
259 | KODCRS = 2
|
---|
260 | ELSEIF ( KODVEN .EQ. 12 ) THEN
|
---|
261 | KODCRS = 3
|
---|
262 | ELSEIF ( KODVEN .EQ. -14 ) THEN
|
---|
263 | KODCRS = 5
|
---|
264 | ELSEIF ( KODVEN .EQ. 14 ) THEN
|
---|
265 | KODCRS = 6
|
---|
266 | C NEUTRINOS ARE SKIPPED
|
---|
267 | ELSEIF ( KODVEN .EQ. 11 ) THEN
|
---|
268 | GOTO 5
|
---|
269 | ELSEIF ( KODVEN .EQ. -11 ) THEN
|
---|
270 | GOTO 5
|
---|
271 | ELSEIF ( KODVEN .EQ. 13 ) THEN
|
---|
272 | GOTO 5
|
---|
273 | ELSEIF ( KODVEN .EQ. -13 ) THEN
|
---|
274 | GOTO 5
|
---|
275 | ELSE
|
---|
276 | WRITE(MONIOU,*)'VSTORE: UNKNOWN PARTICLE CODE IDPTL=',IDPTL(I)
|
---|
277 | GOTO 5
|
---|
278 | ENDIF
|
---|
279 | SECPAR(1) = KODCRS
|
---|
280 |
|
---|
281 | IF ( KODCRS .NE. 1 .AND. KODCRS .LE. 65 ) THEN
|
---|
282 | C ORDINARY SECONDARY PARTICLES
|
---|
283 | SECPAR(2) = PPTL(4,I)/PAMA(KODCRS)
|
---|
284 | C LOOK FOR SPECTATOR NUCLEONS
|
---|
285 | IF ( KODCRS .EQ. 13 .OR. KODCRS .EQ. 14 ) THEN
|
---|
286 | C ELIMINATE TARGET SPECTATORS
|
---|
287 | IF ( SECPAR(2) .LE. 1.002D0 ) GOTO 5
|
---|
288 | C TREAT PROJECTILE SPECTATORS
|
---|
289 | IF ( SECPAR(2) .GT. 0.999D0*GAMMA .AND.
|
---|
290 | * SECPAR(2) .LT. 1.001D0*GAMMA .AND.
|
---|
291 | * PPTL(1,I).EQ.0. .AND. PPTL(2,I).EQ.0. ) THEN
|
---|
292 | IF ( NFRAGM .NE. 0 ) THEN
|
---|
293 | C COMPOSE PROJECTILE SPECTATORS TO REMAINING NUCLEUS
|
---|
294 | NREST = NREST - 1
|
---|
295 | NNEW = NNEW + 1
|
---|
296 | IF ( KODCRS .EQ. 14 ) THEN
|
---|
297 | INEW = INEW + 101
|
---|
298 | IREST = IREST - 101
|
---|
299 | ELSEIF ( KODCRS .EQ. 13 ) THEN
|
---|
300 | INEW = INEW + 100
|
---|
301 | IREST = IREST - 100
|
---|
302 | ENDIF
|
---|
303 | GOTO 5
|
---|
304 | ENDIF
|
---|
305 | C DISREGARD PROJECTILE SPECTATORS FOR ELASTICITY
|
---|
306 | GOTO 7
|
---|
307 | ENDIF
|
---|
308 | ENDIF
|
---|
309 |
|
---|
310 | CC IF ( SECPAR(2) .GT. GAMMAX ) THEN
|
---|
311 | CC GAMMAX = SECPAR(2)
|
---|
312 | C CALCULATE ELASTICITY FROM ENERGY OF FASTEST PARTICLE (LEADER)
|
---|
313 | CC ELASTI = GAMMAX * PAMA(KODCRS) / ELAB
|
---|
314 | CC ENDIF
|
---|
315 | IF ( SECPAR(2)*PAMA(KODCRS) .GT. EMAX ) THEN
|
---|
316 | EMAX = SECPAR(2)*PAMA(KODCRS)
|
---|
317 | C CALCULATE ELASTICITY FROM MOST ENERGETIC PARTICLE (LEADER)
|
---|
318 | ELASTI = EMAX / ELAB
|
---|
319 | ENDIF
|
---|
320 | ELSE
|
---|
321 | C GAMMAS AND NEUTRINOS
|
---|
322 | SECPAR(2) = PPTL(4,I)
|
---|
323 | ENDIF
|
---|
324 |
|
---|
325 | C COUNTER FOR ENERGY-MULTIPLICITY MATRIX
|
---|
326 | MSMM = MSMM + 1
|
---|
327 |
|
---|
328 | C DETERMINE ANGLES FROM LONGITUDINAL AND TRANSVERSAL MOMENTA
|
---|
329 | 7 CONTINUE
|
---|
330 | PT2 = DBLE(PPTL(1,I))**2 + DBLE(PPTL(2,I))**2
|
---|
331 | PL2 = DBLE(PPTL(3,I))**2
|
---|
332 |
|
---|
333 | IF ( PL2+PT2 .LE. 0.D0 ) THEN
|
---|
334 | COSTET = 0.D0
|
---|
335 | ELSE
|
---|
336 | COSTET = PPTL(3,I) / SQRT(PL2+PT2)
|
---|
337 | ENDIF
|
---|
338 | COSTET = MAX( MIN(COSTET, 1.D0), -1.D0 )
|
---|
339 | IF ( PPTL(1,I) .NE. 0. .OR. PPTL(2,I) .NE. 0. ) THEN
|
---|
340 | PHIV = ATAN2( DBLE(PPTL(1,I)), DBLE(PPTL(2,I)) )
|
---|
341 | ELSE
|
---|
342 | PHIV = 0.D0
|
---|
343 | ENDIF
|
---|
344 |
|
---|
345 |
|
---|
346 | ETOT = ETOT + PPTL(4,I)
|
---|
347 | CALL ADDANG( COSTHE,PHI, COSTET,PHIV, SECPAR(3),SECPAR(4) )
|
---|
348 | IF ( SECPAR(3) .GE. C(29) ) THEN
|
---|
349 | CALL TSTACK
|
---|
350 | ENDIF
|
---|
351 |
|
---|
352 | C COUNTERS FOR FIRST INTERACTION
|
---|
353 | IF ( FIRSTI ) THEN
|
---|
354 | IF ( SECPAR(1) .EQ. 7.D0 .OR. SECPAR(1) .EQ. 8.D0
|
---|
355 | * .OR. SECPAR(1) .EQ. 9.D0 ) THEN
|
---|
356 | IFINPI = IFINPI + 1
|
---|
357 | ELSEIF ( SECPAR(1) .EQ. 13.D0 .OR. SECPAR(1) .EQ. 14.D0
|
---|
358 | * .OR. SECPAR(1) .EQ. 15.D0 .OR. SECPAR(1) .EQ. 25.D0 ) THEN
|
---|
359 | IFINNU = IFINNU + 1
|
---|
360 | ELSEIF ( SECPAR(1) .EQ. 10.D0 .OR. SECPAR(1) .EQ. 11.D0
|
---|
361 | * .OR. SECPAR(1) .EQ. 12.D0 .OR. SECPAR(1) .EQ. 16.D0 ) THEN
|
---|
362 | IFINKA = IFINKA + 1
|
---|
363 | ELSEIF ( SECPAR(1) .EQ. 17.D0 ) THEN
|
---|
364 | IFINET = IFINET + 1
|
---|
365 | ELSEIF ((SECPAR(1) .GE. 18.D0 .AND. SECPAR(1) .LE. 24.D0)
|
---|
366 | * .OR. (SECPAR(1) .GE. 26.D0 .AND. SECPAR(1) .LE. 32.D0))THEN
|
---|
367 | IFINHY = IFINHY + 1
|
---|
368 | ENDIF
|
---|
369 | ENDIF
|
---|
370 |
|
---|
371 | 5 CONTINUE
|
---|
372 |
|
---|
373 | IF (DEBUG) WRITE(MDEBUG,*) 'VSTORE: NTGEVT,ETOT =',NTGEVT,ETOT
|
---|
374 |
|
---|
375 | IF ( NFRAGM .NE. 0 .AND. INEW .GT. 0 ) THEN
|
---|
376 | C TREAT REMAINING NUCLEUS
|
---|
377 | IF ( DEBUG ) WRITE(MDEBUG,150) INEW,(CURPAR(I),I=2,8)
|
---|
378 | 150 FORMAT(' VSTORE: REMNNT=',1P,I10,7E10.3)
|
---|
379 | SECPAR(2) = CURPAR(2)
|
---|
380 | SECPAR(3) = CURPAR(3)
|
---|
381 | SECPAR(4) = CURPAR(4)
|
---|
382 |
|
---|
383 | IF ( INEW .EQ. 100 ) THEN
|
---|
384 | C REMAINING NUCLEUS IS SINGLE NEUTRON
|
---|
385 | SECPAR(1) = 13.D0
|
---|
386 | CALL TSTACK
|
---|
387 | ETOT = ETOT + SECPAR(2) * PAMA(13)
|
---|
388 | GOTO 140
|
---|
389 |
|
---|
390 | ELSEIF ( INEW .EQ. 101 ) THEN
|
---|
391 | C REMAINING NUCLEUS IS SINGLE PROTON
|
---|
392 | SECPAR(1) = 14.D0
|
---|
393 | CALL TSTACK
|
---|
394 | ETOT = ETOT + SECPAR(2) * PAMA(14)
|
---|
395 | GOTO 140
|
---|
396 |
|
---|
397 | ELSEIF ( NFRAGM .GE. 2 ) THEN
|
---|
398 | C REMAINING NUCLEUS IS EVAPORATING NUCLEONS AND ALPHA PARTICLES
|
---|
399 | NZNEW = MOD(INEW,100)
|
---|
400 | NNNEW = INEW/100 - NZNEW
|
---|
401 | JFIN = 0
|
---|
402 | CALL VAPOR(MAPROJ,INEW,JFIN,ITYP,PFRX,PFRY)
|
---|
403 | IF ( JFIN .EQ. 0 ) GOTO 139
|
---|
404 | C LOOP TO TREAT THE REMANENTS OF THE DESINTEGRATED FRAGMENT
|
---|
405 | KNEW = 0
|
---|
406 | DO 135 J=1,JFIN
|
---|
407 | EA = GAMMA * PAMA(ITYP(J))
|
---|
408 | IF(DEBUG)WRITE(MDEBUG,*)'VSTORE: J,ITYP,EA=',J,ITYP(J),EA
|
---|
409 | C MOMENTA SQUARED
|
---|
410 | PTM = EA**2 - PAMA(ITYP(J))**2
|
---|
411 | PT2 = PFRX(J)**2 + PFRY(J)**2
|
---|
412 | IF ( PT2 .GE. PTM ) THEN
|
---|
413 | IF(DEBUG)WRITE(MDEBUG,*)'VSTORE: PT REJECT PARTICLE',J
|
---|
414 | GOTO 135
|
---|
415 | ENDIF
|
---|
416 | IF ( PTM .GT. 0.D0 ) THEN
|
---|
417 | COSTET = SQRT( 1.D0 - PT2/PTM )
|
---|
418 | ELSE
|
---|
419 | COSTET = 1.D0
|
---|
420 | ENDIF
|
---|
421 | IF ( PFRX(J) .NE. 0.D0 .OR. PFRY(J) .NE. 0.D0 ) THEN
|
---|
422 | PHIV = ATAN2( PFRY(J), PFRX(J) )
|
---|
423 | ELSE
|
---|
424 | PHIV = 0.D0
|
---|
425 | ENDIF
|
---|
426 | CALL ADDANG( COSTHE,PHI, COSTET,PHIV, SECPAR(3),SECPAR(4) )
|
---|
427 | IF ( SECPAR(3) .GE. C(29) ) THEN
|
---|
428 | IF ( J .LT. JFIN ) THEN
|
---|
429 | SECPAR(1) = ITYP(J)
|
---|
430 | CALL TSTACK
|
---|
431 | ELSE
|
---|
432 | KNEW = ITYP(JFIN)
|
---|
433 | ENDIF
|
---|
434 | ELSE
|
---|
435 | IF(DEBUG)WRITE(MDEBUG,*)'VSTORE: ANGLE REJECT PARTICLE',J
|
---|
436 | ENDIF
|
---|
437 | 135 CONTINUE
|
---|
438 |
|
---|
439 | ELSEIF ( NFRAGM .EQ. 1 ) THEN
|
---|
440 | C REMAINING NUCLEUS IS ONE FRAGMENT
|
---|
441 | NZNEW = MOD(INEW,100)
|
---|
442 | NNNEW = INEW/100 - NZNEW
|
---|
443 | KNEW = INEW
|
---|
444 | ENDIF
|
---|
445 |
|
---|
446 | IF ( KNEW/100 .EQ. 5 ) THEN
|
---|
447 | C REMAINING NUCLEUS: MASS 5 CANNOT BE TREATED IN BOX2
|
---|
448 | IF ( MOD(KNEW,100) .GE. 3 ) THEN
|
---|
449 | C MASS 5: SPLIT OFF ONE PROTON
|
---|
450 | SECPAR(1) = 14.D0
|
---|
451 | CALL TSTACK
|
---|
452 | KNEW = KNEW - 101
|
---|
453 | ELSE
|
---|
454 | C MASS 5: SPLIT OFF ONE NEUTRON
|
---|
455 | SECPAR(1) = 13.D0
|
---|
456 | CALL TSTACK
|
---|
457 | KNEW = KNEW - 100
|
---|
458 | ENDIF
|
---|
459 | ELSEIF ( KNEW/100 .EQ. 8 ) THEN
|
---|
460 | C REMAINING NUCLEUS: MASS 8 CANNOT BE TREATED IN BOX2
|
---|
461 | IF ( MOD(KNEW,100) .GE. 5 ) THEN
|
---|
462 | C MASS 8: SPLIT OFF ONE PROTON
|
---|
463 | SECPAR(1) = 14.D0
|
---|
464 | CALL TSTACK
|
---|
465 | KNEW = KNEW - 101
|
---|
466 | ELSEIF ( MOD(KNEW,100) .LE. 3 ) THEN
|
---|
467 | C MASS 8: SPLIT OFF ONE NEUTRON
|
---|
468 | SECPAR(1) = 13.D0
|
---|
469 | CALL TSTACK
|
---|
470 | KNEW = KNEW - 100
|
---|
471 | ELSE
|
---|
472 | C MASS 8: SPLIT OFF ONE ALPHA PARTICLE
|
---|
473 | SECPAR(1) = 402.D0
|
---|
474 | CALL TSTACK
|
---|
475 | KNEW = KNEW - 402
|
---|
476 | ENDIF
|
---|
477 | ENDIF
|
---|
478 |
|
---|
479 | SECPAR(1) = KNEW
|
---|
480 | CALL TSTACK
|
---|
481 | ENDIF
|
---|
482 |
|
---|
483 | 139 ETOT = ETOT + SECPAR(2)*(PAMA(13)*NNNEW + PAMA(14)*NZNEW)
|
---|
484 | 140 CONTINUE
|
---|
485 | IF ( DEBUG ) WRITE(MDEBUG,*)'VSTORE: ELASTI,ETOT,ELAB=',
|
---|
486 | * SNGL(ELASTI),ETOT,ELAB
|
---|
487 |
|
---|
488 | C FILL ELASTICITY IN MATRICES
|
---|
489 | MEL = MIN ( 1.D0+10.D0* MAX( 0.D0, ELASTI ) , 11.D0 )
|
---|
490 | MEN = MIN ( 4.D0+ 3.D0*LOG10(MAX( .1D0, EKINL )), 37.D0 )
|
---|
491 | IELDPM(MEN,MEL) = IELDPM(MEN,MEL) + 1
|
---|
492 | IELDPA(MEN,MEL) = IELDPA(MEN,MEL) + 1
|
---|
493 | IF ( ELASTI .LT. 1.D0 ) THEN
|
---|
494 | ELMEAN(MEN) = ELMEAN(MEN) + ELASTI
|
---|
495 | ELMEAA(MEN) = ELMEAA(MEN) + ELASTI
|
---|
496 | ENDIF
|
---|
497 |
|
---|
498 | IF ( FIRSTI ) THEN
|
---|
499 | ELAST = ELASTI
|
---|
500 | FIRSTI = .FALSE.
|
---|
501 | ENDIF
|
---|
502 |
|
---|
503 | RETURN
|
---|
504 | END
|
---|