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

Go to the source code of this file.

Functions/Subroutines

subroutine caveintenuc (pj, tgtMassN, avn)
 

Function/Subroutine Documentation

◆ caveintenuc()

subroutine caveintenuc ( type(ptcl pj,
integer  tgtMassN,
real*8  avn 
)

Definition at line 13 of file caveInteNuc.f.

References caaxsec2(), cavenoofsucc(), and cinelx().

Referenced by csampintenuc().

13  implicit none
14 
15 #include "Zcode.h"
16 #include "Zptcl.h"
17 #include "Zheavyp.h"
18 
19  type(ptcl):: pj ! projectile heavy
20  real*8 avn ! average no. of interacting nucleons
21  integer tgtmassn ! target mass # ( # of nucleons)
22 
23  real*8 xspp, xspa, xsaa, tgta, a3, sucave, pne, tgtz
24  integer ihg
25 !
26  tgta = tgtmassn
27  tgtz = tgta*0.4 ! almost dummy
28  a3 = tgta**0.333333333
29  ihg = charge2heavyg(pj%charge)
30  pne = pj%fm%p(4)/heavyg2massn(ihg)
31 
32 ! call cppXsec(pne, xspp)
33 ! call cxp2xAXsec(tgtA, xspp, xspA)
34  call cinelx(pj, tgta,tgtz, xspa)
35 ! this is 0.4d0*tgtA is rather dummy
36  call caaxsec2(pj, tgta, tgtz, xsaa)
37  avn = heavyg2massn(ihg) * xspa /xsaa
38 ! this inlcude successive collision inside the target.
39 ! Cosmos needs the first collision inside the target
40 ! so divide this by the average number of successive
41 ! collisions. However, this theory has no firm basis,
42 ! sot that we put a switch do use sucave =1
43 ! get <Nsuc>
44  if(howintnuc .eq. 0) then
45  call cavenoofsucc(a3, xspp, sucave)
46  avn = avn/sucave
47  endif
subroutine cavenoofsucc(a3, sigma, aven)
Definition: caveNoOfSucC.f:12
subroutine cinelx(pj, A, Z, xs)
Definition: cinelx.f:4
subroutine caaxsec2(pj, tgA, tgZ, xs)
Definition: cAAXsec2.f:2
Definition: Zptcl.h:75
Here is the call graph for this function:
Here is the caller graph for this function: