2 #include "chookHybAS.f" 3 #include "../ctemplCeren.f" 11 #include "Zmanagerp.h" 18 common /testcos/
x(1000),
y(1000),
erg(1000),
eth(nth),
19 *
ng(nth, nl),
ne(nth, nl),
nmu(nth, nl),
21 integer ng, ne, nmu, nh, ntha, nnn
31 integer ieeer, ieee_handler
56 open(14, file=
'SeedSave')
65 #include "Zmanagerp.h" 66 integer sig, code, context(5)
67 write(errorout, *)
' f.p exception content=' , context(4)
79 #include "Zmanagerp.h" 86 common /testcos/
x(1000),
y(1000),
erg(1000),
eth(nth),
87 *
ng(nth, nl),
ne(nth, nl),
nmu(nth, nl),
89 integer ng, ne, nmu, nh, ntha, nnn
114 write(*,
'(i7,i4,g13.4,i8)') eventno, inci.
p.
code, inci.
p.fm.
e,
117 subroutine ccount(nc, aTrack)
127 common /testcos/
x(1000),
y(1000),
erg(1000),
eth(nth),
128 *
ng(nth, nl),
ne(nth, nl),
nmu(nth, nl),
130 integer ng, ne, nmu, nh, ntha, nnn
131 real*8 eth, x, y, erg
136 if( atrack.
p.fm.
e- atrack.
p.
mass .lt. eth(i))
goto 10
163 type(
coord):: angle, tetafai
170 common /testcos/
x(1000),
y(1000),
erg(1000),
eth(nth),
171 *
ng(nth, nl),
ne(nth, nl),
nmu(nth, nl),
173 integer ng, ne, nmu, nh, ntha, nnn
174 real*8 eth, x, y, erg
190 if(iij .eq.
kelec )
then 193 x(nnn) = atrack.pos.
xyz.x
194 y(nnn) = atrack.pos.
xyz.y
195 erg(nnn) = atrack.
p.fm.
p(4)
200 x(nnn) = atrack.pos.
xyz.x
201 y(nnn) = atrack.pos.
xyz.y
202 erg(nnn) = atrack.
p.fm.
p(4)
205 elseif(iij .eq.
kmuon )
then 208 elseif( iij .eq.
kpion .or. iij .eq.
kkaon .or.
209 * iij .eq.
knuc)
then 210 if(atrack.
p.
charge .ne. 0 )
then 288 type(
coord):: angle, tetafai
294 common /testcos/
x(1000),
y(1000),
erg(1000),
eth(nth),
295 *
ng(nth, nl),
ne(nth, nl),
nmu(nth, nl),
297 integer ng, ne, nmu, nh, ntha, nnn
298 real*8 eth, x, y, erg
304 real*8 fdepth, bsin, teta, fai, sumsize
305 real*8 cgetBsin, sumx, sumy
306 real*8 avex, avey, sume
314 fdepth = fdepth * 0.1
316 angle.
r(1) = -angle.
r(1)
317 angle.
r(2) = -angle.
r(2)
318 angle.
r(3) = -angle.
r(3)
322 if(fai .lt. 0. ) fai = 360.
d0+fai
323 bsin = cgetbsin(inci.
p, mag)*1.e4
334 do i = 1, noofassites
335 sumsize = sumsize + asobssites(i).esize
336 write(*,
'(f7.1,g13.3,f8.3,f7.1, 340 * sngl(asobssites(i).pos.
depth/10.),
341 * sngl(asobssites(i).esize),
342 * sngl(asobssites(i).age), sngl(fdepth),
344 * ne(j, i), nmu(j, i), nh(j, i), ng(j, i), eth(j)
358 sumx = sumx +sqrt(x(i)**2 + y(i)**2)
361 if(nnew .eq. nnn)
goto 100
371 fdepth = fdepth * 0.1
372 write(*,*) sngl(avex*100.), sngl(avey*100.),
373 * sngl(sumx/nnn)*100., nnn, sngl(sume/1000.),
374 * inci.
p.
code, sngl(inci.
p.fm.
p(4)/1000.),
379 subroutine cdropbig(x, y, n, rmax, no)
382 real*8 x(n), y(n), rmax
387 r = sqrt(x(i)**2 + y(i)**2)
454 h1 = trackbefmove.pos.
height- obssites(noofsites).pos.
height 455 h2 = movedtrack.pos.
height - obssites(noofsites).pos.
height 546 if(intinfarray(processno).
process .eq.
'coll')
then integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos depth
subroutine cqincident(incident, AngleAtObs)
subroutine chookgint(never)
dE dx *! Nuc Int sampling table e
subroutine cecent2sph(a, bb)
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz r
! parameters for Elemag process(-> ---------------------------------------------- real *8 RecoilKineMinE !2 Recoil Kinetic Min Energy above which the recoil(=knock-on process) ! is treated. Below this energy, the effect is included as continuous ! energy loss. Used only if KnockOnRatio $>$ 1. ! If this is 0 or if KnockOnRatio=1, KEminObs(gamma)=KEminObs(elec) is used. ! See also KnockOnRatio. real *8 KnockOnRatio !2 KnockOnRatio *KEminoObs is used instead of RecoilKineMinE if KnockOnRatio $< $1. real *8 X0 !2 Radiation length in kg/m$^2$ for air. Normally the user should not touch this. real *8 Ecrit !2 Critical energy in GeV. \newline ! Employed only when calculating air shower size in the hybrid ! air shower generation. The value would be dependent on the ! experimental purpose. The default value, 81 MeV, is bit too ! small in many applications(The air shower size is overestimated). ! Comparisons of sizes by the hybrid method and by the full Monte ! Carlo tell that \newline ! $N_e$(full 3-D M.C) $< N_e$(hybrid AS with $E_c=81$ MeV) $< N_e$(full 1-D M.C) ! $ {\ \lower-1.2pt\vbox{\hbox{\rlap{$<$}\lower5pt\vbox{\hbox{$\sim$}}}}\ } ! N_e$(hybrid AS with $E_c={76}$ MeV) at around shower maximum. ! Hybrid AS is always essentially 1-D. logical Knockon !2 Obsolete. Don 't use this. See RecoilKineMinE ! and KnockonRatio. real *8 AnihiE !2 If E(positron) $<$ AnihiE, annihilation is considered. real *8 Es !2 Modified scattering constant. 19.3d-3 GeV real *8 MaxComptonE !2 Above this energy, Compton scattering is neglected. real *8 MaxPhotoE !2 Above this energy, photoelectric effect is neglected. real *8 MinPhotoProdE !1 Below this energy, no photo-prod of hadron. See also PhotoProd. logical PhotoProd !1 Switch. if .false., no photo prod. of hadron is considered at all. ! See also MinPhotoProdE, HowPhotoP real *8 Excom1 !2(GeV). If photon energy is<=Excom1, use XCOM data for ! compton/p.e/coherent scattering(must be< 100 GeV). real *8 Excom2 !2(GeV). If photon energy is<=Excom2, use XCOM data for ! pair creation cross-section.(must be< 100 GeV). integer Moliere !2 2$\rightarrow$ use Moliere scat.\newline ! 0$\rightarrow$ use Gaussian scattrign. \newline ! 1$\rightarrow$ use Moli\`ere scattering for non-electrons \newline ! 2$\rightarrow$ use Moli\`ere scattering for all charged ! particles. But treatment is not so rigorous as case of 3. ! \newline ! 3$\rightarrow$ use rigorus Moliere scattering. Diff. from 2 is verysmall. May be some effect in the ! core region. integer ALateCor !2 1$\rightarrow$ angular and lateral correlation is taken into account when Moliere=0 .\newline ! t$\rightarrow$ Use angular-lateral correlation by Gaussian ! approximation. No effect is seen if path length is short. !<-) ---------------------------------------------- common/Zelemagc/RecoilKineMinE
latitude latitude this system is used *****************************************************************! type coord sequence union map real z z in m endmap xyz map real ! latitude in deg is to the north ! longitude in deg is to the east *h ! height in m endmap llh map real ! polar angle ! azimuthal angle *radius ! radial distance endmap sph endunion character *sys ! which system xyz
max ptcl codes in the kkaon
max ptcl codes in the kelec
subroutine chooknepint(never)
subroutine cprintprim(out)
subroutine cwriteparam(io, force)
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
subroutine ccount(nc, aTrack)
*Zfirst p fm *Zfirst p Zfirst p code
subroutine cqfirstid(depth)
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code knuc
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos Zfirst pos height
integer function csighandler(sig, code, context)
latitude latitude this system is used *****************************************************************! type coord sequence union map real y
dE dx *! Nuc Int sampling table d
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p charge
subroutine chookobs(aTrack, id)
subroutine cdropbig(x, y, n, rmax, no)
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos Zfirst pos *Zfirst pos *Zfirst Zfirst vec w *Zfirst vec w Zfirst vec *Zfirst Zfirst where
*Zfirst p fm *Zfirst p mass
max ptcl codes in the kpion
max ptcl codes in the kmuon
subroutine cgetave(x, n, ave)
subroutine chookeint(never)
! structure defining a particle at production ! Basic idea of what is to be contained in ! the particle structue is that dynamical ones should be included those derivable from the particle code ! is not included ******************************************************type fmom momentum sequence union map real e endmap map real * x
*Zfirst p fm *Zfirst p Zfirst p Zfirst p subcode