2 subroutine chacol(pj, ia, iz, a, ntp)
22 do while( retry .ne. 0)
23 call chacolx(pj, ia, iz, a, ntp)
25 call ccheckx(pj, ia, iz, a, ntp, retry)
29 *
'************* X modification is requested !!!!!!!!!' 36 subroutine ccheckx(pj, ia, iz, a, ntp, retry)
53 real*8 u, ePimax, xPimax, eNmax, xNmax, xxx
55 if(pj%code .eq.
knuc)
then 60 if( a(i)%code .eq.
knuc )
then 61 enmax = max(enmax, a(i)%fm%p(4) )
62 elseif( a(i)%code .eq.
kpion )
then 63 epimax = max(epimax, a(i)%fm%p(4) )
66 xpimax = epimax/pj%fm%p(4)
67 xnmax = enmax/pj%fm%p(4)
69 if(xnmax .gt. 0.97)
then 88 if(xxx .lt. 0.005)
then 90 elseif( xxx .gt. 0.08 )
then 92 elseif(u .lt. ((0.08-xxx)/(0.08-0.005))**
modifyxpw1 )
then 101 elseif(xxx .lt. 0.2)
then 103 elseif(u .lt. ((2.5-xxx)/(2.5-0.2))**
modifyxpw1)
then 120 if(xxx .gt. 0.05)
then 122 elseif( u .lt. (1.-xxx/0.05)**
modifyxpw1 )
then 136 subroutine chacolx(pj, ia, iz, a, ntp)
141 #if !defined (MacIFC) 160 #include "Zworkaround.h" 168 if( activemdl .eq.
'phits')
then 169 call cphits(pj, ia, iz, targetxs, a, ntp)
170 elseif( activemdl .eq.
'dpmjet3')
then 171 call cdpmjet(pj, ia, iz, a, ntp)
172 elseif( activemdl .eq.
'jam')
then 176 call cjamevent(pj, ia, iz, targetxs, a, ntp)
177 elseif( activemdl .eq.
'qgsjet2')
then 178 call cqgsjet(pj, ia, iz, a, ntp)
179 elseif( activemdl ==
'epos')
then 180 call ceposgenoneevent(pj, ia, iz, a, ntp)
181 elseif( activemdl ==
'sibyll')
then 182 call csibyllevent(pj, ia, iz, a, ntp)
183 elseif( activemdl .eq.
'fritiof1.6' .or.
184 * activemdl .eq.
'nucrin')
then 185 call chalund(pj, ia, iz, a, ntp)
186 elseif( activemdl .eq.
'ad-hoc')
then 196 elseif(activemdl .eq.
'gheisha')
then 198 call chagheisha(pj, ia, iz, a, ntp)
209 elseif(activemdl .eq.
'incdpm3')
then 211 call cincdpm3(pj, ia, iz, a, ntp)
212 elseif(activemdl .eq.
'byenergy')
then 213 if( pj%fm%p(4)-pj%mass .gt. 4.0)
then 216 call chalund(pj, ia, iz, a, ntp)
220 call cerrormsg(
'above model not supported',0)
subroutine cerrormsg(msg, needrtn)
block data cblkSpecial data * modifyx
subroutine chacolx(pj, ia, iz, a, ntp)
block data cblkSpecial data * modifyxpw1
subroutine chacoladhoc(pj, ia, iz, a, ntp)
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code knuc
max ptcl codes in the kpion
subroutine chacol(pj, ia, iz, a, ntp)
subroutine ccheckx(pj, ia, iz, a, ntp, retry)