2 #include "chookHybAS.f" 3 #include "ctemplCeren.f" 11 #include "Zmanagerp.h" 18 common /testcos/
eth(nth),
19 *
ng(nth, nl),
ne(nth, nl),
nmu(nth, nl),
21 integer ng, ne, nmu, nh, ntha
31 integer ieeer, ieee_handler
64 #include "Zmanagerp.h" 65 integer sig, code, context(5)
66 write(errorout, *)
' f.p exception content=' , context(4)
78 #include "Zmanagerp.h" 85 common /testcos/
eth(nth),
86 *
ng(nth, nl),
ne(nth, nl),
nmu(nth, nl),
88 integer ng, ne, nmu, nh, ntha
109 write(*,
'(i7,i4,g13.4,3f10.7)') eventno, inci.
p.
code, inci.
p.fm.
e,
110 * -angle.
r(1), -angle.
r(2), -angle.
r(3)
114 subroutine ccount(nc, aTrack)
124 common /testcos/
eth(nth),
125 *
ng(nth, nl),
ne(nth, nl),
nmu(nth, nl),
127 integer ng, ne, nmu, nh, ntha
133 if( atrack.
p.fm.
e- atrack.
p.
mass .lt. eth(i))
goto 10
160 type(
coord):: angle, tetafai
167 common /testcos/
eth(nth),
168 *
ng(nth, nl),
ne(nth, nl),
nmu(nth, nl),
170 integer ng, ne, nmu, nh, ntha
187 if(iij .eq.
kelec )
then 193 elseif(iij .eq.
kmuon )
then 196 elseif( iij .eq.
kpion .or. iij .eq.
kkaon .or.
197 * iij .eq.
knuc)
then 198 if(atrack.
p.
charge .ne. 0 )
then 224 * sngl(atrack.vec.w.
x), sngl(atrack.vec.w.
y),
225 * sngl(atrack.vec.w.
z),
226 * atrack.vec.w.
x**2+atrack.vec.w.
y**2+atrack.vec.w.
z**2
271 #include "Zmagfield.h" 277 if(
where .le. 0 .or.
where .gt. noofsites)
then 278 write(*,*)
where, noofsites
282 depth =obssites(where).pos.depth
300 type(
coord):: angle, tetafai
306 common /testcos/
eth(nth),
307 *
ng(nth, nl),
ne(nth, nl),
nmu(nth, nl),
309 integer ng, ne, nmu, nh, ntha
316 real*8 fdepth, bsin, teta, fai, sumsize
317 real*8 cgetBsin, sumx, sumy
318 real*8 avex, avey, sume
326 fdepth = fdepth * 0.1
328 angle.
r(1) = -angle.
r(1)
329 angle.
r(2) = -angle.
r(2)
330 angle.
r(3) = -angle.
r(3)
334 if(fai .lt. 0. ) fai = 360.
d0+fai
335 bsin = cgetbsin(inci.
p, mag)*1.e4
346 do i = 1, noofassites
347 sumsize = sumsize + asobssites(i).esize
348 write(*,
'(f7.1,g13.3,f8.3,f7.1, 352 * sngl(asobssites(i).pos.
depth/10.),
353 * sngl(asobssites(i).esize),
354 * sngl(asobssites(i).age), sngl(fdepth),
356 * ne(j, i), nmu(j, i), nh(j, i), ng(j, i), eth(j)
405 h1 = trackbefmove.pos.
height- obssites(noofsites).pos.
height 406 h2 = movedtrack.pos.
height - obssites(noofsites).pos.
height 497 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
max ptcl codes in the kkaon
max ptcl codes in the kelec
subroutine chooknepint(never)
subroutine cprintprim(out)
subroutine cwriteparam(io, force)
subroutine cwhere2dep(where, depth)
********************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)
*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 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