11 include
"radgenkeys.inc"
13 logical buselut,bgenlut
15 common/pynucl/inumod,chanum,order
16 DOUBLE PRECISION inumod,chanum
42 if ((inumod.gt.1).and.(chanum.gt.1))
then
47 write(*,*) mcset_tara, mcset_tarz
52 if( mcset_tara .eq. 1 .and. mcset_tarz .eq. 0 )
then
54 elseif( mcset_tara .eq. 1 .and. mcset_tarz .eq. 1 )
then
56 elseif( mcset_tara .eq. 2 .and. mcset_tarz .eq. 1 )
then
58 elseif( mcset_tara .eq. 3 .and. mcset_tarz .eq. 2 )
then
60 elseif( mcset_tara .eq. 4 .and. mcset_tarz .eq. 2 )
then
62 elseif( mcset_tara .eq. 14 .and. mcset_tarz .eq. 7 )
then
64 elseif( mcset_tara .eq. 20 .and. mcset_tarz .eq. 10 )
then
66 elseif( mcset_tara .eq. 40 .and. mcset_tarz .eq. 20 )
then
68 elseif( mcset_tara .eq. 84 .and. mcset_tarz .eq. 36 )
then
70 elseif( mcset_tara .eq. 131 .and. mcset_tarz .eq. 54 )
then
72 elseif( mcset_tara .eq. 197 .and. mcset_tarz .eq. 79 )
then
74 elseif( mcset_tara .eq. 238 .and. mcset_tarz .gt. 92 )
then
77 write(*,*)(
'RADGEN_INIT: invalid target selection' )
85 tname=
'radgen/xytab0unp.dat'
86 elseif (ire.lt.100)
then
87 tname=
'radgen/xytab00unp.dat'
89 tname=
'radgen/xytab000unp.dat'
93 write(tname(13:13),
'(i1)')ire
94 elseif (ire.lt.100)
then
95 write(tname(13:14),
'(i2)')ire
97 write(tname(13:15),
'(i3)')ire
114 if(kill_elas_res.eq.1) amc2=4d0
141 elseif(ire.eq.14)
then
147 elseif(ire.eq.20)
then
153 elseif(ire.eq.40)
then
159 elseif(ire.eq.84)
then
165 elseif(ire.eq.131)
then
171 elseif(ire.eq.197)
then
177 elseif(ire.eq.207)
then
183 elseif(ire.eq.238)
then
192 if (mcset_xmin.ge. 1.
e-05)
then
195 & (
'Radiative corrections for DIS kinematics (xmin=1.e-05')
196 elseif (mcset_xmin.ge. 1.
e-09)
then
199 & (
'Radiative corrections for photoproduction (xmin=1.e-09)')
201 & (
'Elastic and quesielastric contributions set to ZERO !')
202 if(ixytest.gt.0 .and. mcset_xmin.lt.1.
e-07)
then
204 & (
'Xmin in lookup table = 1.e-07 --> extrapolation to 1.e-09')
206 if(ixytest.eq.0 .and. mcset_xmin.lt.1.
e-07)
then
208 & (
'Xmin in lookup table = 1.e-07 --> change minimum x')
213 & (
'Minimum x value below minimum value of 10**-9 ! ')
218 if(ixytest.ge.0)
then
224 write(*,*) (
'*********************************************')
226 & (
'Make sure that you did create the correct lookup table')
227 write(6,*)
'number of x bins in RC table = ',ntx
228 write(6,*)
'size of x bins in RC table depending on x'
230 write(6,*)
'number of y bins in RC table = ',nty
231 write(6,*)
'size of y bins in RC table = ',
232 & (radgen_ymax-radgen_ymin)/(nty-1)
233 write(*,*) (
'*********************************************')
235 if(ixytest.eq.0)
then
236 write(*,*)(
'RADGEN_INIT: Creating lookup table '//tname)
237 elseif (ixytest.eq.2)
then
239 + (
'RADGEN_INIT: Loading lookup table '//tname)
241 call
xytabl(tname,mcset_enebeam,plrun,pnrun,ixytest,ire)