IAP GITLAB

Commit 699bc52f authored by Colin Baus's avatar Colin Baus

feeble attempt to extract cross section from dpmjet :-/

git-svn-id: https://devel-ik.fzk.de/svn/mc/crmc/trunk@4131 c7a5e08c-de06-0410-9364-b41cf42a0b17
parent 9cda202e
......@@ -56,6 +56,9 @@ C general initialization
& /(2.0D0*AAM(NTMASS))
CALL DT_INIT(NCASES,EPROJ,NPMASS,NPCHAR,NTMASS,NTCHAR,IDP,IGLAU)
c initialize cross-sections by calling epos-bas.f function -> models.F -> dpmjet-crmc.f
call xsigma
END
c-----------------------------------------------------------------------
subroutine emsdpmjet(iret)
......@@ -139,7 +142,7 @@ c PLEASE FILL!!
kolevt=ncol
npjevt=maproj
ntgevt=matarg
pmxevt=0.
pmxevt=pnll
egyevt=ecms
bimevt=BIMPAC
bimp=0.
......@@ -326,6 +329,46 @@ C CALL DT_EVTOUT(4)
RETURN
END
c------------------------------------------------------------------------------
subroutine GetDPMJETSigma(stot,sine,sela)
c------------------------------------------------------------------------------
c return inelastic cross section of DPMJET
c but also fill other cross section variables
c some dpmjet functions must be called for this
c this is experimental (no evaporation)
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
include 'epos.inc'
* properties of interacting particles
COMMON /DTPRTA/ IT,ITZ,IP,IPZ,IJPROJ,IBPROJ,IJTARG,IBTARG
* Glauber formalism: cross sections
PARAMETER (NCOMPX=20,NEB=8,NQB= 5,KSITEB=50)
COMMON /DTGLXS/ ECMNN(NEB),Q2G(NQB),ECMNOW,Q2,
& XSTOT(NEB,NQB,NCOMPX),XSELA(NEB,NQB,NCOMPX),
& XSQEP(NEB,NQB,NCOMPX),XSQET(NEB,NQB,NCOMPX),
& XSQE2(NEB,NQB,NCOMPX),XSPRO(NEB,NQB,NCOMPX),
& XSDEL(NEB,NQB,NCOMPX),XSDQE(NEB,NQB,NCOMPX),
& XETOT(NEB,NQB,NCOMPX),XEELA(NEB,NQB,NCOMPX),
& XEQEP(NEB,NQB,NCOMPX),XEQET(NEB,NQB,NCOMPX),
& XEQE2(NEB,NQB,NCOMPX),XEPRO(NEB,NQB,NCOMPX),
& XEDEL(NEB,NQB,NCOMPX),XEDQE(NEB,NQB,NCOMPX),
& BSLOPE,NEBINI,NQBINI
XI = 0D0
Q2 = 0D0
CALL DT_XSGLAU(IP,IT,IJPROJ,XI,Q2,dble(ECMS),1,1,-1)
XTOT = XSTOT(1,1,1)
XELA = XSELA(1,1,1)
stot = XTOT
sine = XTOT-XELA
sela = XELA
end
c--------------------------------------------------------------------
double precision function DT_RNDM(dum)
......
......@@ -6410,6 +6410,13 @@ c GDD - double diffractive cross section
sigtot=urqincs
sigineaa=urqincs
elseif(model.eq.12)then !for DPMJet
call dpmjetSIGMA(stot,sine,sela)
sigtot=stot
sigine=sine
sigela=sela
endif
if(isigma.ge.1)then !===============!
......
......@@ -522,6 +522,19 @@ C cross sections
#endif
end
subroutine dpmjetSIGMA(stot,sine,sela)
#ifndef __DPMJET__
stop'please compile with requested model'
print *, stot,scut,sine,sela,slela,ssd !get rid of unused warning
#else
call GetDPMJETSigma(tot,ine,ela)
stot=tot
sine=ine
sela=ela
#endif
end
subroutine decaymod(ip,iret)
include 'epos.inc'
if(model.eq.4)then
......
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