Go to the source code of this file.
◆ chookbgevent()
subroutine chookbgevent |
( |
| ) |
|
Definition at line 39 of file chook.f.
References cquhookr(), cut, nc, sume, and sumepi0.
Referenced by ceventloop().
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code kiron data j
subroutine cquhookr(i, rv)
real cut integer ncpi0 common Zuserc cut
◆ chookbgrun()
subroutine chookbgrun |
( |
| ) |
|
◆ chookeint()
subroutine chookeint |
( |
integer |
never | ) |
|
◆ chookenevent()
subroutine chookenevent |
( |
| ) |
|
Definition at line 116 of file chook.f.
Referenced by ceventloop().
134 do i = 1, noofassites
135 write(*, *)
's ', sngl( asdepthlist(
i)*0.1 ),
136 * sngl(asobssites(
i).esize), sngl(asobssites(
i).age)
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code kiron data j
◆ chookenrun()
subroutine chookenrun |
( |
| ) |
|
◆ chookgint()
subroutine chookgint |
( |
integer |
never | ) |
|
◆ chooknepint()
subroutine chooknepint |
( |
integer |
never | ) |
|
Definition at line 219 of file chook.f.
References charge, code, cut, knuc, kpion, mass, nc, p, process(), sume, and sumepi0.
Referenced by cinteraction().
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
! 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
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
*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
*Zfirst p fm *Zfirst p mass
max ptcl codes in the kpion
◆ chookobs()
◆ chooktrace()
subroutine chooktrace |
( |
| ) |
|
Definition at line 275 of file chook.f.
References ccoordfortr(), charge, code, p, and r.
Referenced by cputtrinfo().
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 ccoordfortr(how, f, t)
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz r
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
*Zfirst p fm *Zfirst p Zfirst p code
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p charge
dE dx *! Nuc Int sampling table f
◆ time()