IAP GITLAB

Commit 5b9dc6c3 authored by Tanguy Pierog's avatar Tanguy Pierog

update new DPMJETIII.2017-1 to a properly running version


git-svn-id: https://devel-ik.fzk.de/svn/mc/crmc/trunk@6207 c7a5e08c-de06-0410-9364-b41cf42a0b17
parent 06c0246b
......@@ -223,8 +223,7 @@ ENDIF (__PHOJET__)
IF (__DPMJET__)
LIST(APPEND TABS dpmjpar.dat)
LIST(APPEND TABS dpmCT14LL.pds)
LIST(APPEND TABS glaubint.glb)
LIST(APPEND TABS glaubtar.glb)
LIST(APPEND TABS conextar.glb)
ADD_SUBDIRECTORY ("${PROJECT_SOURCE_DIR}/src/dpmjet/3.2017-1")
SET(STATIC_LIBS ${STATIC_LIBS} Dpmjet)
get_property(HELPER SOURCE src/models.F PROPERTY COMPILE_FLAGS)
......
This diff is collapsed.
This diff is collapsed.
......@@ -18782,7 +18782,7 @@ cdh
* new patch for pre-initialized variable projectile/target/energy runs
IF (IOGLB.EQ.100) THEN
if (NIDX.eq.-2) then
if (NIDX.eq.-10) then
c write(0,*) ' -- dt_glaube -- skip call into dt_glbset()'
else
......@@ -18929,6 +18929,7 @@ c DATA ECMXPI / 100000.0D0 /
*--------------------------------------------------------------------------
* general initializations
*
LPRI = 20
LOUT = 6
* steps in projectile mass number for initialization
......@@ -19220,6 +19221,7 @@ cdh datadir for path to the data sets to be read in by dpmjet/phojet
*
* read data from file
*
IF (MODE.EQ.0) THEN
IF (LREAD) RETURN
......@@ -19403,7 +19405,7 @@ c modification for use with corsika using path to data file in DATADIR
*
ELSE
WRITE(*,*) 'DT_GLBSET called for ',IDPROJ,NA,NB,ELAB,MODE
c WRITE(*,*) 'DT_GLBSET called for ',IDPROJ,NA,NB,ELAB,MODE
*
* check for type of projectile and set index-offset to entry in
* Glauber data array correspondingly
......@@ -21549,14 +21551,14 @@ C WHAT(2) = 0
C CODEWD = 'START '
C GOTO 900
C ENDIF
IF (NCASES.EQ.-1) THEN
IF (NCASES.LE.-1) THEN !variable energy with air (TP20170630)
IP = NPMASS
IPZ = NPCHAR
IT = NTMASS
ITZ = NTCHAR
PPN = EPNSAV
VARELO = 10.D0
VAREHI = EPN*1.1D0
VAREHI = PPN*1.1D0
EPN = ZERO
CMENER = ZERO
LEINP = .TRUE.
......@@ -21565,7 +21567,27 @@ C ENDIF
WHAT(2) = 0
CODEWD = 'START '
LEVPRT = .TRUE.
IF(NCASES.EQ.-2)THEN
IOGLB = 0 ! don't use glauber tables
ELSE
IOGLB = 100 ! use glauber tables
ENDIF
GOTO 900
ELSEIF (NCASES.EQ.-100) THEN !make glauber table
if(ifirst.ne.1)stop
ifirst=2
IP = NPMASS
IPZ = NPCHAR
IT = NTMASS
ITZ = NTCHAR
PPN = EPNSAV
WHAT(1) = 10.D0
WHAT(2) = PPN*1.1D0
WHAT(3) = 7d0
WHAT(4) = 56d0
WHAT(5) = 7d0
CODEWD = 'GLAUB-INI'
goto 565
ENDIF
* read control card from input-unit LINP
READ(LINP,'(A78)',END=9999) CLINE
......@@ -26696,7 +26718,7 @@ Cf2py intent(out) IREJ
ELSE IF ((IT.EQ.1).AND.(ITZ.EQ.0)) THEN
IJTARG = 8
ELSE IF ((IT.EQ.1).AND.(ITZ.EQ.-1)) THEN
IJTARG = -2
IJTARG = 2
END IF
IBTARG = IIBAR(IJTARG)
......@@ -33931,7 +33953,7 @@ C STOP
1003 FORMAT(9X,F6.1,9X,F6.2,8X,F8.3,11X,F8.3)
1 CONTINUE
IVEOUT = 1
ELSE
ELSE
* hadron/photon/nucleus-nucleus
IF ((ABS(VAREHI).GT.ZERO).AND.
& (ABS(VAREHI).GT.ABS(VARELO))) THEN
......@@ -34170,7 +34192,6 @@ CDECK ID>, DT_SIGEMU
LOGICAL LPHOIN
COMMON /DTMODL/ CMODEL(4),ELOJET,MCGENE,LPHOIN
IF (MCGENE.NE.4) THEN
IF (LPRI.GT.4)
& WRITE(LOUT,'(A)') ' DT_SIGEMU: Combined cross sections'
......@@ -38722,7 +38743,6 @@ C DIBETA = SDIF1/STOT
SDQE = ZERO
SDQE2 = ZERO
FACN = ONE/DBLE(NSTATB)
IPNT = 0
RPNT = ZERO
......@@ -38759,6 +38779,7 @@ C CALL GSET(XAMLO,XAMHI,NPOINT,ABSZX,WEIGHT)
CALL DT_POILIK(NB,NTARG,ECMNN(IE),Q2,IPNT,RPNT,1)
ENDIF
* read pre-initialized profile-function from file
IF (IOGLB.EQ.1) THEN
READ(LDAT,'(5I10,E15.5)') KJPROJ,IA,IB,ISTATB,ISITEB,DUM
This diff is collapsed.
......@@ -6059,6 +6059,7 @@ c----------------------------------------------------------------------
c parameter(itext=40)
character text*(*)
dimension pp(5),erest(5),errp(4)
c call alist('check&',1,nptl)
n1=1
if(iframe.eq.21.and.(abs(iappl).eq.1.or.iappl.eq.3))
*n1=2*(maproj+matarg+1)
......
......@@ -40,8 +40,14 @@ c no last generation -> no decay
if(istptl(i).ne.0)return
if(nptl.gt.mxptl-10)then
call alist('end&',1,nptl)
call utstop('hdecas: mxptl too small&')
if(model.eq.12)then
write(ifmt,*)
. 'Number of particles too large after decay with DPMJET !'
nptl=mxptl-10
else
call alist('end&',1,nptl)
call utstop('hdecas: mxptl too small&')
endif
endif
c entry
......
......@@ -1475,7 +1475,7 @@ c *233.,1.427,1.634,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,
data ((rewii(k,m),m=1,mxma),k=21,25)/
* 11.,7.849e-09,0.149e+00,0.057e+00,0.000e+00,0.000e+00,
* 0.000e+00,0.000e+00,0.000e+00,0.000e+00,0.000e+00,
* 22.,0.130e-05,8.490e-03,4.266e-03,0.004e+00,0.000e+00,
* 22.,0.130e-05,8.490e-03,0.070e+00,0.360e+00,0.185e+00,
* 0.000e+00,0.000e+00,0.000e+00,0.000e+00,0.000e+00,
* 12.,2.524e-17,0.153e+00,0.057e+00,0.000e+00,0.000e+00,
* 0.000e+00,0.000e+00,0.000e+00,0.000e+00,0.000e+00,
......@@ -1586,10 +1586,8 @@ c-----------------------------------------------------------------------
common/crema/indx(mxindx),rema(mxre,mxma),rewi(mxre,mxma)
*,idmx(mxma,mxmx),icre1(mxre,mxma),icre2(mxre,mxma)
parameter (indexOutOfRange=-999.)
parameter (iijjOutOfRange=-9999.)
integer istatus=0
parameter (indexOutOfRange=-999)
parameter (iijjOutOfRange=-9999)
if(iabs(id).eq.14)then
wi=.197/658.654e15
......@@ -1599,8 +1597,7 @@ c-----------------------------------------------------------------------
wi=.197/15.34e15
elseif(id.eq.20)then
wi=.197/2.6842e13
elseif((iabs(id).lt.100.and.id.ne.20)
* .or.id.gt.1e9)then
elseif(iabs(id).lt.100.or.id.gt.1e9)then
wi=0
elseif(iabs(id).lt.1e8)then
ix=iabs(id)/10
......@@ -1658,13 +1655,14 @@ c returns lifetime(c*tau(fm))*gamma for id with energy p4, mass p5
c fails when index out of range. idtaustatus will return negative
c-----------------------------------------------------------------------
include 'epos.inc'
parameter (indexOutOfRange=-999.)
parameter (iijjOutOfRange=-9999.)
integer istatus=0
parameter (indexOutOfRange=-999)
parameter (iijjOutOfRange=-9999)
istatus=0
call idtaustatus(id,p4,p5,taugm,istatus)
if(istatus.eq.indexOutOfRange) then
write(ifch,*)'id:',id
write(ifch,*)"id:",id,p4,p5
c call alistf('tau&')
call utstop('idtau: ix out of range.&')
endif
if(istatus.eq.iijjOutOfRange) then
......@@ -1948,7 +1946,7 @@ c------------------------------------------------------------------------------
c.....tranforms id of code1 (=idi) into id of code2 (=idtrafo)
c.....supported codes:
c.....'nxs' = epos
c.....'pdg' = PDG 1996
c.....'pdg' = PDG 1996 (DPMJET)
c.....'qgs' = QGSJet
c.....'ghe' = Gheisha
c.....'sib' = Sibyll
......@@ -2020,12 +2018,12 @@ c-------------------------------------------------------------------------------
integer istatus
character*3 code1,code2
parameter (ncode=5,nidt=351)
parameter (ncode=5,nidt=353)
integer idt(ncode,nidt)
double precision drangen,dummy
c nxs|pdg|qgs|cor|sib
data ((idt(i,j),i=1,ncode),j= 1,68)/
data ((idt(i,j),i=1,ncode),j= 1,70)/
* 1,2,99,99,99 !u quark
* , 2,1,99,99,99 !d
* , 3,3,99,99,99 !s
......@@ -2089,12 +2087,14 @@ c nxs|pdg|qgs|cor|sib
* , 2331, 3314,99,99,48 !xi*-
* , 3331, 3334,99,24,49 !omega-
* , 2140, 4122,9,137,89 !LambdaC(2.285)+
* ,17,1000010020,99,201,1002 ! Deuteron
* ,18,1000010030,99,301,1003 ! Triton
* ,19,1000020040,99,402,1004 ! Alpha
* ,0,0,99,0,0 ! Air
* ,99,99,99,99,100 / ! unknown
data ((idt(i,j),i=1,ncode),j= 69,89)/
* ,17,1000010020,99,201,1002 !Deuteron
* ,18,1000010030,99,301,1003 !Triton
* ,19,1000020040,99,402,1004 !Alpha
* ,0,0,99,0,0 !Air
$ ,41,99,99,41,99 !QBall
$ ,43,99,99,43,99 !Monopole
* ,99,99,99,99,100 / !unknown
data ((idt(i,j),i=1,ncode),j= 71,91)/
$ -340,431,99,120,74 ! Ds+
$ ,340,-431,99,121,75 ! Ds-
$ ,-241,413,99,124,78 ! D*+
......@@ -2116,7 +2116,7 @@ c nxs|pdg|qgs|cor|sib
$ ,3140,4232,99,138,87 ! Xic+
$ ,1340,4322,99,143,97 ! Xi'c+
$ ,3340,4332,99,145,99 / ! omegac0
data ((idt(i,j),i=1,ncode),j= 90,nidt)/
data ((idt(i,j),i=1,ncode),j= 92,nidt)/
$ 1112,32224,99,99,99 ! Delta(1600)++
$ , 1112, 2222,99,99,99 ! Delta(1620)++
$ , 1113,12224,99,99,99 ! Delta(1700)++
......@@ -2370,7 +2370,7 @@ c nxs|pdg|qgs|cor|sib
$ ,12099,9900210,99,99,99 ! diff pi+ state
$ ,13099,9900320,99,99,99 ! diff K+ state
$ ,22099,9900220,99,99,99 ! diff omega state
$ ,2099,9900310,99,99,99 ! diff K0 state
$ ,2099,9900310,99,99,99 ! diff K0 state
$ ,-2099,9900130,99,99,99 ! diff pi+ state
$ ,33099,9900330,99,99,99 ! diff phi state
$ ,44099,9900440,99,99,99 ! diff J/psi state
......@@ -2378,7 +2378,8 @@ c nxs|pdg|qgs|cor|sib
$ ,122099,9902110,99,99,99 ! diff neutron state
$ ,213099,9903120,99,99,99 ! diff lambda state
$ ,800000110,110,99,99,99 ! Reggeon
$ ,800000990,990,99,99,99 / ! Pomeron
$ ,800000990,990,99,99,99 / ! Pomeron
c print *,'idtrafo',' ',code1,' ',code2,idi
......
......@@ -362,11 +362,12 @@
#else
call hjcrossc(sigi,sigt)
#endif
elseif(model.eq.6.and.maproj.eq.1)then
elseif(model.eq.6)then
#ifndef __SIBYLL__
stop'please compile with requested model'
print *, dumdif(3)!get rid of unused warning
#else
if(maproj.eq.1)then
K=1
if(iclpro.eq.1)then
K=2
......@@ -382,6 +383,19 @@
sige=sngl(sige_d)
sigqel=sngl(sigqel_d)
sigi=sngl(sigt_d-sigqel_d)
elseif(idtarg.eq.0)then
E0=dble(elab)*1.d-3 !e0 in TeV
CALL SIGNUC_INI(maproj,E0) ! fills SSIGNUC and ALNUC
sigi=sngl(SSIGNUC(maproj))
sigt=0.
sige=0.
sigqel=0.
else
sigi=0.
sigt=0.
sige=0.
sigqel=0.
endif
sigc=sigi
#endif
elseif(model.eq.7.or.model.eq.11)then
......@@ -414,8 +428,7 @@
stop'please compile with requested model'
#else
NITER=20000
call GetDPMJETSigmaAA(niter,sigt,sigi,sige)
sigc=0
call GetDPMJETSigmaAA(niter,sigt,sigi,sigc,sige)
#endif
else
sigt=0.
......@@ -584,7 +597,7 @@ c-----------------------------------------------------------------------
include 'epos.inc'
COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
COMMON/PYDAT3/MDCY(500,3),MDME(4000,2),BRAT(4000),KFDP(4000,5)
COMMON/PYDAT3/MDCY(500,3),MDME(8000,2),BRAT(8000),KFDP(8000,5)
character*100 NameDecay
c Integer function to translate normal id from pythia to compact one.
......
......@@ -18,7 +18,7 @@ C event debugging information
C particle decay data
INTEGER MDCY,MDME,KFDP
DOUBLE PRECISION BRAT
COMMON/PYDAT3/MDCY(500,3),MDME(4000,2),BRAT(4000),KFDP(4000,5)
COMMON/PYDAT3/MDCY(500,3),MDME(8000,2),BRAT(8000),KFDP(8000,5)
C general process information
INTEGER IPROCE,IDNODF,IDIFR1,IDIFR2,IDDPOM,IPRON
COMMON /POPRCS/ IPROCE,IDNODF,IDIFR1,IDIFR2,IDDPOM,IPRON(15,4)
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment