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

Go to the source code of this file.

Functions/Subroutines

subroutine getdiffcode (nw, difcode)
 

Function/Subroutine Documentation

◆ getdiffcode()

subroutine getdiffcode ( integer  nw,
integer, dimension(20)  difcode 
)

Definition at line 3 of file getDiffCode.f.

Referenced by outresul(), and outresula().

3  implicit none
4 #include "Zptcl.h"
5 #include "Zcode.h"
6 #include "Zevhnp.h"
7 #include "Zevhnv.h"
8 !
9 ! general process information; only for dpmjet3
10  INTEGER iproce,idnodf,idifr1,idifr2,iddpom,ipron
11  COMMON /poprcs/ iproce,idnodf,idifr1,idifr2,iddpom,ipron(15,4)
12 ! IPROCE
13 ! 1 non-diffractive inelastic
14 ! 2 elestic
15 ! 3 quasi elestic vector meson prod. (photon)
16 ! 4 central diffraction
17 ! 5 single diff. ptcl 1
18 ! 6 // ptcl 2
19 ! 7 double diff.
20 ! 8 direct photo-hadron
21 ! For moore detail, see manual in Documents/CosmicRays/phojetShort.pdf
22 ! say, IDIFR1 classifies IPROCE=5
23 
24 
25 
26 !tp from epos; same as in qgsjet01: typevt=1 nsd 2 dd 3 sd 4 cd
27 
28  integer ng1evt,ng2evt,ikoevt
29  real rglevt,sglevt,eglevt,fglevt,typevt
30  common/c2evt/ng1evt,ng2evt,rglevt,sglevt,eglevt,fglevt,ikoevt
31  *,typevt !in epos.inc
32 ! typevt (1 - NSD, 2 - DD, 3 - SD, 4 - CD)
33 ! ine, ela, ine, CD SD SD DD ine
34  integer,save::dpm2typevt(8)=(/6, 5, 6, 4, 3, 3, 2, 6/)
35 
36  integer nw, difcode(20) ! 20 is the max woonded nucleon in
37  ! sibyll
38  if( activemdl == 'sibyll') then
39 #ifdef SIBYLL
40  call sibylgetdiffcode(nw, difcode)
41 #endif
42 #ifdef QGSJET1
43  elseif( activemdl == 'qgsjet1') then
44  difcode(1) = typevt
45  nw = 1
46 #endif
47  elseif(activemdl == 'dpmjet3') then
48  nw = 2
49  difcode(1) =dpm2typevt(iproce)
50  elseif( activemdl == 'qgsjet2') then
51  nw = 1
52  difcode(1) = typevt
53  else
54  nw = 1
55  difcode(1) = 0 ! not know
56 ! write(0,*) ' ActiveMdl=',ActiveMdl, ' invalid'
57 ! write(0,*) ' in getDiffCode.f'
58 ! stop
59  endif
Here is the caller graph for this function: