Geant4_10
dpm25evt.f
Go to the documentation of this file.
1 C***********************************************************************
2  SUBROUTINE dpmevt(ELABT,IIPROJ,IIP,IIPZ,IIT,IITZ,KKMAT,NHKKH1)
3 C
4 C J.R. Version 4/97 for dpmjet25
5 C
6  IMPLICIT DOUBLE PRECISION (a-h,o-z)
7  SAVE
8 *KEEP,HKKEVT.
9 c INCLUDE (HKKEVT)
10  parameter(nmxhkk=89998)
11  COMMON /hkkevt/ nhkk,nevhkk,isthkk(nmxhkk),idhkk(nmxhkk), jmohkk
12  +(2,nmxhkk),jdahkk(2,nmxhkk), phkk(5,nmxhkk),vhkk(4,nmxhkk),whkk
13  +(4,nmxhkk)
14 C
15  CHARACTER*8 aname
16  COMMON /dpar/ aname(210),aam(210),ga(210),tau(210),iich(210),
17  +iibar(210),k1(210),k2(210)
18 C
19 *KEEP,NUCC.
20  COMMON /nucc/ it,itz,ip,ipz,ijproj,ibproj,ijtarg,ibtarg
21  COMMON /nuccc/ jt,jtz,jp,jpz,jjproj,jbproj,jjtarg,jbtarg
22 C from DTUJET93
23 * *********************************************************************
24 * /COLLIS/ contains the input specifying the considered event
25 C ECM dropped as now in /USER/CMENER
26 * S = is the Mandelstam s variable (=ECM**2)
27 * IJPROJ,IJTARG = specifies the projectile rsp. target Q.N.
28 * PTTHR = the minimum pt still hard
29 * PTTHR2 = the pt of the first sampled hard scattering
30 * IOPHRD = the option chosen for the hard scatterring
31 * IJPRLU,IJTALU =
32 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
33 C COMMON/COLLIS/S,IJPROX,IJTAR,PTTHR,IOPHRD,IJPRLU,IJTALU,PTTHR2
34  common/collis/s,ijprox,ijtar,ptthr,ptthr2,iophrd,ijprlu,ijtalu
35 *
36 * *********************************************************************
37 *KEEP,NNCMS.
38  COMMON /nncms/ gamcm,bgcm,umo,pcm,eproj,pproj
39 * *********************************************************************
40 * /USER/ contains the parameters, expected to be modified by normal user
41 * TITLE is a litteral string TITLE printet in the OUTPUT
42 * PROJTY resp. TARGTY specify the type of particle scattering
43 * The projectile moves in positive z-direction.
44 * (Particle type specifications numbers for scatterers are stored
45 * in COMMON /BOOKLT/ in BLOCKDATA on the end of this file.
46 * Our comlete particle and resonance numbering is given in
47 * the file DTUTCB in BLOCK DATA partic DATA ANAME
48 * Also a list of our particle numbering
49 * is obtained running the code word PARTICLE)
50 * CMENERGY the center of mass energy in GeV
51 * ISTRUF specifies the structure function as
52 * ISINGD (ISINGX)specifies what is done with diffractive events
53 * ISINGD=0: Single diffraction surpressed
54 * ISINGD=1: Single diffraction included to fraction SDFRAC
55 * ISINGD=2: Only single diffraction with target excited
56 * ISINGD=3: Only single diffraction with projectile excited
57 * IDUBLD specifies what is done with double diffractive events
58 * ISINGD=0: Double diffraction included
59 * ISINGD=1: Only double diffraction
60 * SDFRAC see ISINGD
61 * PTLAR cutoff parameter requiring minijet of given size??
62 
63 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
64  CHARACTER*80 titled
65  CHARACTER*8 projty,targty
66 C COMMON /USER/TITLED,PROJTY,TARGTY,CMENER,ISTRUF
67 C & ,ISINGX,IDUBLD,SDFRAC,PTLAR
68  COMMON /user1/titled,projty,targty
69  COMMON /user2/cmener,sdfrac,ptlar,istruf,isingx,idubld
70  CHARACTER*8 btype
71  COMMON /paname/ btype(30)
72  COMMON /strufu/ istrum,istrut
73 C
74  COMMON /bufueh/ annvv, annss, annsv, annvs, anncc, anndv,
75  * annvd, annds, annsd, annhh, annzz, ptvv, ptss, ptsv, ptvs,
76  * ptcc, ptdv, ptvd, ptds, ptsd, pthh, ptzz, eevv, eess, eesv,
77  * eevs, eecc, eedv, eevd, eeds, eesd, eehh, eezz, anndi, ptdi,
78  * eedi, annzd, anndz, ptzd, ptdz, eezd, eedz
79  COMMON /ncouch/ acouvv, acouss, acousv, acouvs, acouzz, acouhh,
80  * acouds, acousd, acoudz, acouzd, acoudi, acoudv, acouvd, acoucc
81 C
82  SAVE elabt_prev
83 C ON DOUBLE PRECISION UNDERFLOW IGNORE
84 C ON REAL UNDERFLOW IGNORE
85  DATA elabt_prev/-10./ ! lab-energy of previous collision
86  DATA ninit/0/
87 C
88 * *********************************************************************
89 * PROJPAR
90  iproj=iiproj
91 C New 4/97
92 C KKMAT=IIP
93  IF(iiproj.EQ.-1)iproj=1
94 C New 4/97
95  IF(iproj.EQ.12.OR.iproj.EQ.19)THEN
96  iproj=24
97  IF(rndm(v).LT.0.5d0)iproj=25
98  ENDIF
99  projty=btype(iproj)
100  ijproj=iproj
101  ijprox=iproj
102  ibproj=iibar(iproj)
103  ip=iip
104  ipz=iipz
105 * TARPAR
106 C IT=14
107 C ITZ=7
108  it=iit
109  itz=iitz
110  ijtar=1
111 * MOMENTUM
112  epn=1000.d0*elabt
113  nnpp=ijproj
114  amproj=aam(nnpp)
115  pproj = sqrt((epn-amproj)*(epn+amproj))
116  ppn=pproj
117 * nucleon-nucleon cms
118  eproj=epn
119  amtar=aam(1)
120  umo = sqrt(amproj**2 + amtar**2 + 2.*amtar*eproj)
121  cmener=umo
122  gamcm = (eproj+amtar)/umo
123  bgcm=pproj/umo
124  ecm=umo
125  s=ecm**2
126  pcm=gamcm*pproj - bgcm*eproj
127  IF(istrut.EQ.1)THEN
128  ptthr=2.1+0.15*(log10(cmener/50.))**3
129  ptthr2=ptthr
130  ELSEIF(istrut.EQ.2)THEN
131  ptthr=2.5+0.12*(log10(cmener/50.))**3
132  ptthr2=ptthr
133  ENDIF
134 C
135 C IIT=IT
136 C IITZ=ITZ
137 C IIP=IP
138 C IIPZ=IPZ
139  iiproj=ijproj
140  iitarg = ijtarg
141 C
142 C-- INITIALIZE COUNTERS before call to KKINC
143 C
144  765 CONTINUE
145  annvv=0.001 ! common /BUFUEH/
146  annss=0.001
147  annsv=0.001
148  annvs=0.001
149  anncc=0.001
150  anndv=0.001
151  annvd=0.001
152  annds=0.001
153  annsd=0.001
154  annhh=0.001
155  annzz=0.001
156  anndi=0.001
157  annzd=0.001
158  anndz=0.001
159  ptvv=0.
160  ptss=0.
161  ptsv=0.
162  ptvs=0.
163  ptcc=0.
164  ptdv=0.
165  ptvd=0.
166  ptds=0.
167  ptsd=0.
168  pthh=0.
169  ptzz=0.
170  ptdi=0.
171  ptzd=0.
172  ptdz=0.
173  eevv=0.
174  eess=0.
175  eesv=0.
176  eevs=0.
177  eecc=0.
178  eedv=0.
179  eevd=0.
180  eeds=0.
181  eesd=0.
182  eehh=0.
183  eezz=0.
184  eedi=0.
185  eezd=0.
186  eedz=0.
187 C
188 C-- COMMON /NCOUCH/ variables
189 C
190  acouvv=0.
191  acouss=0.
192  acousv=0.
193  acouvs=0.
194  acouzz=0.
195  acouhh=0.
196  acouds=0.
197  acousd=0.
198  acoudz=0.
199  acouzd=0.
200  acoudi=0.
201  acoudv=0.
202  acouvd=0.
203  acoucc=0.
204 C
205 C-- Pt initialisation each time collision energy varies
206 C
207  IF (elabt.NE.elabt_prev) THEN
208 CGB CALL RD2OUT(ISEED,JSEED)
209 CGB write(6,*) 'seeds before SAMPPT',ISEED,JSEED
210  CALL samppt(0,pt)
211 CGB CALL RD2OUT(ISEED,JSEED)
212 CGB write(6,*) 'seeds after SAMPPT',ISEED,JSEED
213 CGB write(6,*)
214  ENDIF
215  elabt_prev = elabt
216 C
217  IF(ninit.LT.10)THEN
218  ninit=ninit+1
219  WRITE(6,*)' DPMEVT EPN=',epn,'IIT,IITZ,IIP,IIPZ,IIPROJ,KKMAT',
220  *iit,iitz,iip,iipz,iiproj,kkmat, ' PTTHR=',ptthr
221  ENDIF
222  CALL kkinc(epn,iit,iitz,iip,iipz,iiproj,kkmat,
223  * iitarg,nhkkh1,irej)
224  IF (irej.EQ.1) THEN
225  WRITE(6,*)'Exits from KKINC with IREJ=1'
226  go to 765
227  ENDIF
228 C WRITE(6,*)'DECHKK called from DPMEVT : NHKKH1=',NHKKH1
229 C CALL DECHKK(NHKKH1)
230  RETURN
231  END
232 C
Double_t z
Definition: plot.C:279
DOUBLE PRECISION function rndm(RDUMMY)
Definition: dpm25nulib.f:1460
const XML_Char * s
Definition: expat.h:262
G4double a
Definition: TRTMaterials.hh:39
const int nmxhkk
subroutine samppt(MODE, PT)
Definition: dpm25nuc1.f:4387
TMarker * pt
Definition: egs.C:22
subroutine kkinc(EPN, NTMASS, NTCHAR, NPMASS, NPCHAR, IDP, KKMAT, IDT, NHKKH1, IREJ)
Definition: dpm25nuc6.f:5
G4double tau(G4double bet, G4double homega, G4double ef, G4double t)
Definition: G4Abla.cc:2586
static c2_sqrt_p< float_type > & sqrt()
make a *new object
Definition: c2_factory.hh:142
subroutine dpmevt(ELABT, IIPROJ, IIP, IIPZ, IIT, IITZ, KKMAT, NHKKH1)
Definition: dpm25evt.f:2