COSMOS v7.655  COSMOSv7655
(AirShowerMC)
cpairPath.f
Go to the documentation of this file.
1  subroutine cpairpath(Eg, path)
2 ! pair below LPM region
3  implicit none
4 #include "ZbpCnst.h"
5 ! entry cPrSampP(Eg, prob, path)
6 
7 
8  real*8 Eg ! input. Gamma energy in GeV
9 
10  real*8 path ! output. sampled path in r%l
11 
12  real*8 prob ! output. pair prob. per r%l
13  real*8 u
14 
15 
16  if( eg .lt. prscre ) then
17 ! partial screeinig region
18  call cprlsampp( eg, prob)
19  elseif(eg .lt. pairegmaxl) then
20 ! complete screeing region
21  call cprcsampp( eg, prob)
22 
23  else
24 ! LPM region
25 ! call cPrHSampP( Eg, prob); this cannot be used due to rho change
26 ! branch to LPM routine is at outside. See cbremsPath for more
27 ! detail
28 
29 ! use complete screeing
30  call cprcsampp( eg, prob)
31  endif
32  call rndc(u)
33  path = -log(u)/prob
34  end
35 ! ***********************************
36  subroutine cpairenergy( Eg, Ee)
37  implicit none
38 #include "ZbpCnst.h"
39 
40  real*8 Eg ! input. gamma energy in GeV
41  real*8 Ee ! output. sampled Ee in GeV. higher energy of pair
42 
43 
44  if(eg .le. pairnonsc + 2.d-3) then
45 ! table in cPrLSampE is used > PairNonSc + 2 MeV
46 ! because of a glitch around PairNonSc
47 ! (for Nelson's case, there is no glitch; glitch
48 ! comes from diff. of dsigma/dx at x~xmax.
49 !
50  call cprtsampe(eg, ee)
51 
52  elseif(eg .le. prscre) then
53 ! partial screeinig region
54  call cprlsampe(eg, ee)
55 
56  elseif(eg .le. pairegmaxl) then
57 ! complete screeing region
58  call cprcsampe( eg, ee)
59 
60  else
61 ! LPM region; same as path routine; should not come
62 ! call cPrHSampE( Eg, Ee)
63 !
64  call cprcsampe( eg, ee)
65  endif
66  end
67 
68 
subroutine cprtsampe(Eg, Ee)
Definition: cPrTSamp.f:68
subroutine cpairenergy(Eg, Ee)
Definition: cpairPath.f:37
subroutine cprlsampp(Eg, prob)
Definition: cPrLSamp.f:2
subroutine rndc(u)
Definition: rnd.f:91
dE dx *! Nuc Int sampling table d
Definition: cblkMuInt.h:130
subroutine cprcsampp(Eg, prob)
Definition: cPrCSamp.f:2
subroutine cprcsampe(Eg, Ee)
Definition: cPrCSamp.f:31
subroutine cpairpath(Eg, path)
Definition: cpairPath.f:2
subroutine cprlsampe(Eg, Ee)
Definition: cPrLSamp.f:23