Go to the source code of this file.
|
subroutine | chookeabsorbi (info) |
|
subroutine | chookeabsorb (a, b, dE, info) |
| This is called when Eabsorb != 0 and when a charged particle runs from a to b and deposits energy dE (GeV) to the Air. More...
|
|
subroutine | chookeabsorbd (a, dE, info) |
|
subroutine | chookeabsorbb (a, info) |
|
subroutine | chookeabsorbc (a, n, p, info) |
|
subroutine | chookeabsorbw (a, n, p, Eout, diff) |
|
◆ chookeabsorb()
This is called when Eabsorb != 0 and when a charged particle runs from a to b and deposits energy dE (GeV) to the Air.
- Parameters
-
- Todo:
- test 2016/2/16
Definition at line 60 of file chookEabsorb.f.
Referenced by ctracking().
74 if(
a%where .ge. 1)
then 75 debydedx(
a%where)= debydedx(
a%where) + de*
a%wgt
◆ chookeabsorbb()
Definition at line 146 of file chookEabsorb.f.
References false, and true.
Referenced by cifdead(), and cobservation().
172 if(info .eq. 2 .and.
a%where .eq. eabsorb(2) )
then 179 if(
a%vec%coszenith .gt. 0.)
then 186 elseif( info .eq. 1 )
then 201 ecrash(
code) = ecrash(
code) + (
a%p%fm%p(4)-
a%p%mass)*
a%wgt
204 espace(
code) = espace(
code) + (
a%p%fm%p(4)-
a%p%mass)*
a%wgt
block data cblkElemag data *AnihiE ! Eposi< 1 TeV, anihilation considered *X0/365.667/, ! radiation length of air in kg/m2 *Ecrit/81.e-3/, ! critical energy of air in GeV *MaxComptonE/1./, ! compton is considered below 1 GeV *MaxPhotoE/1.e-3/, ! above this, PhotoElectric effect neg. *MinPhotoProdE/153.e-3/, ! below 153 MeV, no gp --> hadrons ! scattering const not MeV *Knockon true
*Zfirst p fm *Zfirst p Zfirst p code
block data cblkElemag data *AnihiE ! Eposi< 1 TeV, anihilation considered *X0/365.667/, ! radiation length of air in kg/m2 *Ecrit/81.e-3/, ! critical energy of air in GeV *MaxComptonE/1./, ! compton is considered below 1 GeV *MaxPhotoE/1.e-3/, ! above this, PhotoElectric effect neg. *MinPhotoProdE/153.e-3/, ! below 153 MeV, no gp --> hadrons ! scattering const not MeV *Knockon ! knockon is considered Obsolete *PhotoProd false
◆ chookeabsorbc()
Definition at line 209 of file chookEabsorb.f.
References chookeabsorbw(), masn, and masp.
Referenced by cinteraction().
225 real*8 eout, diff, reldiff, ein
226 real*8 diff1, diff2, ein1, ein2
236 if(
a%p%fm%p(4) .gt. ebig )
then 237 ein1 =
a%p%fm%p(4) +
masn*(targetnucleonno-targetprotonno) +
238 *
masp*targetprotonno
239 ein2 =
a%p%fm%p(4) +
masp 242 eout = eout +
p(
i)%fm%p(4)
250 if( abs(diff2) .lt. abs(diff1))
then 254 reldiff = (eout/ein -1.)
256 if( abs(reldiff) .gt. 0.02 )
then 260 if( abs(diff) .gt. abs(maxebreak(1)) )
then 262 maxebreak(2) = reldiff
265 if( abs(reldiff) .gt. abs(maxrelebreak(1)) )
then 266 maxrelebreak(1) = reldiff
267 maxrelebreak(2) = diff
270 sumediff = sumediff + diff
271 sumabsediff = sumabsediff + abs(diff)
subroutine chookeabsorbw(a, n, p, Eout, diff)
block data cblkIncident data *Za1ry *HeightOfInj d3
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
◆ chookeabsorbd()
Definition at line 79 of file chookEabsorb.f.
References kelec, kkaon, kneue, kneumu, knuc, kphoton, and regptcl.
Referenced by cifdead().
113 if(
a%where .ge. 1)
then 116 debydeathneu(
a%where) = debydeathneu(
a%where) + de*
a%wgt
117 elseif(
a%p%code .eq.
knuc .and.
a%p%charge .eq. 0 .and.
120 debydeathnut(
a%where) = debydeathnut(
a%where) + de*
a%wgt
124 debydeath(
a%where) = debydeath(
a%where) + de*
a%wgt
128 debydeathg(
a%where) = debydeathg(
a%where) + de*
a%wgt
129 elseif(
a%p%code .eq.
kelec )
then 130 debydeathe(
a%where) = debydeathe(
a%where) + de*
a%wgt
131 elseif(
a%p%code .le.
kkaon )
then 132 debydeathmupik(
a%where) = debydeathmupik(
a%where)
134 elseif(
a%p%code .eq.
knuc .and.
a%p%charge .eq. 1 )
then 136 debydeathp(
a%where) = debydeathp(
a%where) + de*
a%wgt
139 debydeatho(
a%where) = debydeatho(
a%where) + de*
a%wgt
max ptcl codes in the kkaon
max ptcl codes in the kelec
max ptcl codes in the kneue
max ptcl codes in the kseethru ! subcode integer regptcl
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code knuc
max ptcl codes in the kneumu
◆ chookeabsorbi()
subroutine chookeabsorbi |
( |
integer |
info | ) |
|
◆ chookeabsorbw()
Definition at line 275 of file chookEabsorb.f.
References cqeventno().
Referenced by chookeabsorbc().
290 integer nevent, ntevent
295 write(0,*)
"================= Warning: Ebreak =============" 296 write(0,*)
" event #=", nevent,
" 1ry Energy=", inci%p%fm%p(4)
297 write(0,*)
"incident(not 1ry) code=",
a%p%code,
298 *
" subcode=",
a%p%subcode,
" Ein~",
a%p%fm%p(4)
299 write(0,*)
"Target(A,Z)=", targetnucleonno, targetprotonno
300 write(0,*)
"No. of generted particles =",
n 301 write(0,*)
"Sum of outgoing ptcl Energy:Eout=", eout
302 write(0,*)
"dE=(Eout-Ein)=", diff,
" dE/Ein~",
304 write(0,*)
"(Eout-Ein)/1ryE=", diff/inci%p%fm%p(4)
305 write(0,*)
"Height=",
a%pos%height,
" depth=",
a%pos%depth/10.
306 write(0,*)
" where=",
a%where,
" weight=",
a%wgt
307 write(0,*)
"================================================"
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
subroutine cqeventno(num, cumnum)