2 #include "chookHybAS.f" 3 #include "ctemplCeren.f" 11 #include "Zmanagerp.h" 24 integer ieeer, ieee_handler
42 #include "Zmanagerp.h" 43 integer sig, code, context(5)
44 write(errorout, *)
' f.p exception content=' , context(4)
71 #include "Zmanagerp.h" 94 #include "Zmanagerp.h" 100 integer nevent, ntevent
105 write(0,*)
'end_of_event #=',ntevent
113 write(0,*)
" end of run" 151 h1 = trackbefmove.pos.
height- obssites(noofsites).pos.
height 152 h2 = movedtrack.pos.
height - obssites(noofsites).pos.
height 245 if( intinfarray(processno).
process /=
'coll' )
then 251 call cirot3vec(i, movedtrack.
p.fm, pwork(i).fm, pwork(i).fm)
257 pz =sqrt( dot_product(proj.fm.
p(1:3), proj.fm.
p(1:3)) )
258 proj.fm.
p(1:3) =(/0.
d0, 0.
d0, pz/)
264 call crot3vec( movedtrack.
p.fm, pwork(i).fm, pwork(i).fm )
subroutine chookgint(never)
! 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)
subroutine cirot3vec(init, p1, p2, po)
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
*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)
subroutine cqeventno(num, cumnum)
subroutine chookobs(aTrack, id)
subroutine crot3vec(zax, vec1, vec2)
subroutine chookeint(never)