2 #include "chookHybAS.f" 3 #include "ctemplCeren.f" 16 #include "Zmanagerp.h" 134 do i = 1, noofassites
135 write(*, *)
's ', sngl( asdepthlist(i)*0.1 ),
136 * sngl(asobssites(i).esize), sngl(asobssites(i).age)
244 if( intinfarray(processno).
process .eq.
'coll' )
then 248 if( pwork(i).fm.
p(4) / movedtrack.
p.fm.
p(4)
253 * pwork(i).
charge .eq. 0 )
then 257 pwork(i).fm.
p(4) = pwork(i).
mass*1.1
291 real*8 xxx/-1.d37/, yyy/-1.d36/, zzz/1.d34/
292 integer kkk/-1000/, chg/-1000/
293 save xxx, yyy, zzz, kkk, chg
295 if( movedtrack.
p.
charge .eq. 0 )
return 300 if(kkk .ne. movedtrack.
p.
code .or. f.
r(1) .ne. xxx
301 * .or. f.
r(2) .ne. yyy .or. f.
r(3) .ne. zzz .or.
302 * chg .ne. movedtrack.
p.
charge )
then 303 if(xxx .ne. -1.d37)
then 310 write(*,
'(4g12.4, i3,i3)')
311 * f.
r(1), f.
r(2), f.
r(3), trackbefmove.t,
316 write(*,
'(4g12.4,i3,i3)')
317 * t.
r(1), t.
r(2), t.
r(3), movedtrack.t,
323 kkk = movedtrack.
p.
code
subroutine chookgint(never)
subroutine ccoordfortr(how, f, t)
*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
subroutine chooknepint(never)
subroutine cprintprim(out)
subroutine cwriteparam(io, force)
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
subroutine cquhookr(i, rv)
*Zfirst p fm *Zfirst p Zfirst p code
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code knuc
real cut integer ncpi0 common Zuserc cut
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p charge
subroutine chookobs(aTrack, id)
*Zfirst p fm *Zfirst p mass
max ptcl codes in the kpion
subroutine chookeint(never)