COSMOS v7.655  COSMOSv7655
(AirShowerMC)
cpairPath.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine cpairpath (Eg, path)
 
subroutine cpairenergy (Eg, Ee)
 

Function/Subroutine Documentation

◆ cpairenergy()

subroutine cpairenergy ( real*8  Eg,
real*8  Ee 
)

Definition at line 37 of file cpairPath.f.

References cprcsampe(), cprlsampe(), cprtsampe(), and d.

Referenced by cpair().

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
subroutine cprtsampe(Eg, Ee)
Definition: cPrTSamp.f:68
dE dx *! Nuc Int sampling table d
Definition: cblkMuInt.h:130
subroutine cprcsampe(Eg, Ee)
Definition: cPrCSamp.f:31
subroutine cprlsampe(Eg, Ee)
Definition: cPrLSamp.f:23
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cpairpath()

subroutine cpairpath ( real*8  Eg,
real*8  path 
)

Definition at line 2 of file cpairPath.f.

References cprcsampp(), cprlsampp(), and rndc().

Referenced by csampgintl().

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
subroutine cprlsampp(Eg, prob)
Definition: cPrLSamp.f:2
subroutine rndc(u)
Definition: rnd.f:91
subroutine cprcsampp(Eg, prob)
Definition: cPrCSamp.f:2
Here is the call graph for this function:
Here is the caller graph for this function: