19 #include "../FleshHist/Zprivate0.h" 43 real intdep(ndepth), recdep(ndepth)
44 real E0, cosz, limit(4)
46 integer nrbina, nfaia, ansites0, ansitesx
49 integer leng, i, j, k, l, nr
50 integer i0, j0, k0, reci0, recj0, reck0
51 integer l0(ndepth), recl0(ndepth)
52 integer icon0, iconx, icont
53 character*128 nrfai0, nrfaix, nrfait, flesher
54 character*128 input0, inputx, inputt
55 character*20 field(15)
66 write(0,*)
' getall =', getall
71 write(0,*) nrfai0(1:
leng)
72 if( icon0 .eq. 0)
then 73 write(0,*)
'not exists' 75 write(0,*)
' cannot be opened ' 77 write(0,*)
' icon=',icon0
80 write(0,*) nrfai0(1:
leng),
' opened' 85 write(0,*) nrfaix(1:
leng)
86 if( iconx .eq. 0)
then 87 write(0,*)
'not exists' 89 write(0,*)
' cannot be opened ' 91 write(0,*)
' icon=',iconx
94 write(0,*) nrfaix(1:
leng),
' opened' 100 if(icont .ne. 0)
then 101 write(0,*) nrfait(1:
leng)
102 write(0,*)
' cannot be opened ' 103 write(0,*)
' icon=',icont
106 write(0,*) nrfait(1:
leng),
' opened' 112 write(0,*)
"SeeLowdE not given" 115 seelowde = input0(1:
leng) .eq.
"yes" 124 read( fn0,
'(a)', end=1000 ) input0
126 read( fnx,
'(a)' ) inputx
129 if(input0 .ne.
" ")
then 130 call ksplit(input0, 20, 15, field, nr)
136 read(input0(1:
klena(input0)), *)
137 * evno0, e0,nn, cosz, limit(1), nrbina, nfaia, ansites0
141 elseif(nr .eq. 9 )
then 142 read(input0(1:
klena(input0)), *)
143 * evno0, e0,nn, cosz, limit(1), nrbina, nfaia, ansites0,
147 elseif( nr .eq. 13)
then 148 read(input0(1:
klena(input0)), *)
149 * evno0, e0,nn, cosz, emin, nrbina, nfaia, ansites0,
153 write(0,*)
' header fmt strage ' 157 if(nrbina .ne.
nrbin .or. nfaia .ne.
nfai)
then 158 write(0,*)
' nrbina=',nrbina,
'or nfaia=',nfaia,
159 *
' differ from the def. in this prog' 162 if(newfmt .eq. 0)
then 163 read(inputx(1:
klena(inputx)), *)
164 * evnox, e0,nn, cosz, limit(1),
165 * nrbina, nfaia, ansitesx
166 elseif(newfmt .eq. 1)
then 167 read(inputx(1:
klena(inputx)), *)
168 * evnox, e0,nn, cosz, limit(1), nrbina, nfaia,
170 elseif(newfmt .eq. 2)
then 171 read(inputx(1:
klena(inputx)), *)
172 * evnox, e0,nn, cosz, emin, nrbina, nfaia,
173 * ansitesx, maxsites, limit
176 if(nrbina .ne.
nrbin .or. nfaia .ne.
nfai)
then 177 write(0,*)
' nrbina=',nrbina,
'or nfaia=',nfaia,
178 *
' differ from the def. in this prog' 181 if(ansites0 .ne. ansitesx)
then 182 write(0,*)
' ansites0=', ansites0,
183 *
' ansitesx=', ansitesx,
' diff ' 191 read(fn0,
'(3x, f7.1, 4i4)' )
192 * recdep(
i), recl0(
i), reci0, recj0, reck0
194 if(reci0 .ne.
i .or.
j .ne. recj0 .or.
196 write(0,*)
' recdep, reci0,recj0,reck0=',
197 * recdep(
i), reci0, recj0, reck0,
' strange' 201 * ( nrfairec0(l,k,
j,
i), l=1,
nrbin )
211 read(fn0,
'(3x,f7.1, 4i4)' )
212 * intdep(
i), l0(
i), i0, j0, k0
213 if(i0 .ne.
i .or.
j .ne. j0 .or. k .ne. k0)
then 214 write(0,*)
' intdep, i0,j0,k0=',
215 * intdep(
i), i0, j0, k0,
' strange' 219 * ( nrfaiall0(l,k,
j,
i), l=1,
nrbin )
227 read(fn0,
'(5x,f7.1, 3i4)' )
228 * intdep(
i), l0(
i), i0, k0
229 if(i0 .ne.
i .or. k .ne. k0)
then 230 write(0,*)
' intdep, i0,k0=',
231 * intdep(
i), i0, k0,
' strange' 235 * ( derfai0(l,k,
i), l=1,
nrbin )
236 if(seelowde)
read(fn0, *)
237 * ( derfai02(l,k,
i), l=1,
nrbin )
247 read(fnx,
'(3x, f7.1, 4i4)' )
248 * recdep(
i), recl0(
i), reci0, recj0, reck0
249 if(reci0 .ne.
i .or.
j .ne. recj0 .or.
251 write(0,*)
' recdep, reci0,recj0,reck0=',
252 * intdep(
i), reci0, recj0, reck0,
' strange' 256 * ( nrfairecx(l,k,
j,
i), l=1,
nrbin )
265 read(fnx,
'(3x,f7.1, 4i4)' )
266 * intdep(
i), l0(
i), i0, j0, k0
267 if(i0 .ne.
i .or.
j .ne. j0 .or. k .ne. k0)
then 268 write(0,*)
' intdep, i0,j0,k0=',
269 * intdep(
i), i0, j0, k0,
' strange' 273 * ( nrfaiallx(l,k,
j,
i), l=1,
nrbin )
280 read(fnx,
'(5x,f7.1, 3i4)' )
281 * intdep(
i), l0(
i), i0, k0
282 if(i0 .ne.
i .or. k .ne. k0)
then 283 write(0,*)
' intdep, i0,k0=',
284 * intdep(
i), i0, k0,
' strange' 288 * ( derfaix(l,k,
i), l=1,
nrbin )
289 if(seelowde)
read(fnx, *)
290 * ( derfaix2(l,k,
i), l=1,
nrbin )
298 if(inputx .ne.
" ")
then 299 write(0,*)
' event differ', inputx
307 * nrfairec0(l,k,
j,
i) +
313 if(getall .eq.
'yes')
then 319 * nrfaiall0(l,k,
j,
i) +
326 if(getall .eq.
'yes')
then 333 if(seelowde) derfait2(l,k,
i) =
341 if( newfmt .eq. 0 )
then 343 *
'(i2,1pE11.3, 0p,i3, f8.4, 1pE11.3, 0p, 3i4)')
344 * evnox, e0, nn, cosz, limit(1),
345 * nrbina, nfaia, ansites0
346 elseif( newfmt .eq. 1)
then 348 *
'(i2,1pE11.3, 0p,i3, f8.4, 1pE11.3,0p, 4i4)')
349 * evnox, e0, nn, cosz, limit(1),
350 * nrbina, nfaia, ansites0, maxsites
351 elseif( newfmt .eq. 2)
then 353 *
'(i2,1pE11.3, 0p,i3, f8.4, 1pE11.3,0p, 4i4,4f10.0)')
354 * evnox, e0, nn, cosz, emin,
355 * nrbina, nfaia, ansites0, maxsites, limit
361 write(fnt,
'("rec",f7.1, 4i4)' )
362 * recdep(
i), recl0(
i),
i,
j, k
363 write(fnt,
'(1p10E11.3)')
364 * ( nrfairect(l,k,
j,
i), l=1,
nrbin )
372 write(fnt,
'("all",f7.1, 4i4)' )
373 * intdep(
i), l0(
i),
i,
j, k
374 if(getall .eq.
"yes")
then 375 write(fnt,
'(1p10E11.3)')
376 * ( nrfaiallt(l,k,
j,
i), l=1,
nrbin )
378 write(fnt,
'(1p10E11.3)')
379 * ( nrfaiall0(l,k,
j,
i), l=1,
nrbin )
387 write(fnt,
'("dE/dx",f7.1, 3i4)' )
388 * intdep(
i), l0(
i),
i, k
389 if(getall .eq.
"yes")
then 390 write(fnt,
'(1p10E11.3)')
391 * ( derfait(l,k,
i), l=1,
nrbin )
392 if(seelowde)
write(fnt,
'(1p10E11.3)')
393 * ( derfait2(l,k,
i), l=1,
nrbin )
395 write(fnt,
'(1p10E11.3)')
396 * ( derfai0(l,k,
i), l=1,
nrbin )
397 if(seelowde)
write(fnt,
'(1p10E11.3)')
398 * ( derfai02(l,k,
i), l=1,
nrbin )
408 write(0,*)
'all data in the event processed ' integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
subroutine ksplit(a, m, n, b, nr)
integer function kgetenv2(envname, envresult)
block data cblkElemag data *AnihiE ! Eposi< 1 TeV, anihilation considered *X0/365.667/, ! radiation length of air in kg/m2 *Ecrit/81.e-3/, ! critical energy of air in GeV *MaxComptonE/1./, ! compton is considered below 1 GeV *MaxPhotoE/1.e-3/, ! above this, PhotoElectric effect neg. *MinPhotoProdE/153.e-3/, ! below 153 MeV, no gp --> hadrons ! scattering const not MeV *Knockon true
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code kiron data j
subroutine copenfw2(io, fnin, form, icon)
dE dx *! Nuc Int sampling table d
integer function klena(cha)