34 if( xsecmodel ==
" ")
then 37 xsecmodel(64:64) =
'/' 40 read(intmodel, *, err=100)
41 * (modellist(i), inteerg(i), i=1, maxintmdls)
42 read(xsecmodel, *, err=100)
43 * (modellist2(i), inteerg2(i), i=1, maxintmdls)
46 if(modellist(i) .eq.
' ')
then 54 if(modellist2(i) .eq.
' ')
then 59 noofmdls2 = maxintmdls
64 if(inteerg(i) > inteerg(i+1))
then 67 *
'IntModel is invalid; energy region not ascending', 1)
69 elseif(inteerg(i) == inteerg(i+1))
then 75 write(0,*)
'=================================' 77 * i,
'-th and ',i+1,
'-th energy in IntModel are same' 78 write(0,*)
'The model specified is ',modellist(i+1),
'.' 79 write(0,*)
'It will not be used explicitly but might be' 80 write(0,*)
'used when some model needs help for a ' 81 write(0,*)
'specific particle. dpmjet3 is a good ' 82 write(0,*)
'candidate of such a model' 83 write(0,*)
'=================================' 87 if( noofmdls2 /= noofmdls .or.
88 & any(inteerg(1:noofmdls) /= inteerg2(1:noofmdls)) )
then 90 if(inteerg2(i) > inteerg2(i+1))
then 93 *
'XsecModel is invalid; energy region not ascending', 1)
95 elseif(inteerg2(i) == inteerg2(i+1))
then 96 write(0,*)
'=================================' 98 * i,
'-th and ',i+1,
'-th energy in IntModel are same' 99 write(0,*)
'The model specified is ',modellist2(i+1),
'.' 100 write(0,*)
'It will not be used explicitly but might be' 101 write(0,*)
'used when some model needs help for a ' 102 write(0,*)
'specific particle. dpmjet3 is a good ' 103 write(0,*)
'candidate of such a model' 104 write(0,*)
'=================================' 111 if( modellist(i) .eq. regmdls(j) )
goto 25
114 call cerrormsg(
'above model is not yet registered', 0)
120 if( modellist2(i) .eq. regmdls(j) )
goto 28
123 call cerrormsg(
'above model is not yet registered', 0)
128 if( index(intmodel,
'fritiof1.6') .gt. 0 .or.
129 * index(intmodel,
'nucrin') .gt. 0 .or.
130 * index(intmodel,
'dpmjet3') .gt. 0 .or.
131 * index(intmodel,
'incdpm3') .gt. 0 .or.
132 * index(intmodel,
'jam') .gt. 0 )
then 139 if( index(intmodel,
'phits') .gt. 0 .or.
140 * index(xsecmodel,
'phits') .gt. 0 )
then 143 if( index(intmodel,
'qgsjet2') .gt. 0 .or.
144 * index(xsecmodel,
'qgsjet2') .gt. 0 )
then 147 if( index(intmodel,
'epos') .gt. 0 .or.
148 * index(xsecmodel,
'epos') .gt. 0 )
then 151 if( index(intmodel,
'sibyll') > 0 .or.
152 * index(xsecmodel,
'sibyll') > 0 )
then 155 if( index(intmodel,
'incdpm3') .gt. 0 )
then 159 if( index(intmodel,
'gheisha' ) .gt. 0)
then 164 if( index(intmodel,
'jam' ) .gt. 0)
then 167 if( index(intmodel,
'dpmjet3') .gt. 0 .or.
168 * index(xsecmodel,
'dpmjet3') .gt. 0 .or.
169 * index(intmodel,
'incdpm3') .gt. 0 )
then 170 if(from .eq.
'cosmos')
then 174 If( dpmfile .eq.
' ' )
then 176 call cinidpmjet(path)
178 call cinidpmjet(dpmfile)
180 elseif(from .eq.
'check')
then 184 elseif(from ==
'epics' .or. from ==
'gencol')
then 188 call cinidpmjet(path)
191 call cerrormsg(
'above "from" in cintModels invalid',0)
198 *
'IntModel syntax error; prob.missing " mark'//
199 *
' for string; IntModel is', 1)
210 #include "Zmanager.h" 217 integer i, j, klena, k
219 if( index(dsn,
'/') .eq. 0 )
then 226 k = index(dsn(j:j),
'/')
228 prefixconf = dsn(1:j)
240 #include "Zmanager.h" 248 topdirleng = kgetenv(
"COSMOSTOP"//null, topdir)
253 #include "Zmanager.h" 260 #include "Zmanager.h" 267 if(cosorepi .eq.
'cosmos')
then 268 path = topdir(1:topdirleng)//
'/Data/DPM/' 269 * //file(1:klena(file))
270 elseif(cosorepi ==
'epics' .or. cosorepi ==
'check' 271 * .or. cosorepi ==
'gencol')
then 272 path = prefixconf(1:prefixleng)//file(1:klena(file))
275 *
"cintModels('cosmos') or cintModels('epics')"//
276 *
" must have been called ", 0)
292 common /forgencol/ cmssave
302 common /forgencol/ cmssave
subroutine cerrormsg(msg, needrtn)
subroutine csetcosorepi(from)
subroutine cintmodels(from)
subroutine cformfullpath(file, path)
subroutine cqgencolcms(cms)
subroutine cputgencolcms(cms)
subroutine cfixprefix(dsn)