IAP GITLAB

Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • AirShowerPhysics/cxroot
1 result
Show changes
Commits on Source (6)
......@@ -34,8 +34,8 @@ CFGDIR = $(CONEX_PREFIX)/cfg
# general compiling options
MC3D =
#MC3D = -D__MC3D__ -D__COAST__
LOWMEMORY = -D__SORT_FOR_ENERGY__
#LOWMEMORY= -D__SAVEMEMO__ -D__SORT_FOR_ENERGY__ -D__CXDEBUG__
#LOWMEMORY = -D__SORT_FOR_ENERGY__
LOWMEMORY= -D__SAVEMEMO__ -D__SORT_FOR_ENERGY__ -D__CXDEBUG__
CPPFLAGS = -D__URQMD__ -D__CXSUB__ $(LOWMEMORY) $(CONEX_EXTENSIONS) $(MC3D) -fPIC
# compiler selection
COMP := `which gfortran 2>&1 | grep -v which`
......
This diff is collapsed.
......@@ -164,10 +164,10 @@ c To give priority to CE for EM (same results in hybrid or MC mode), if elow > e
endif
thetas=theta
phisho=phi
XmaxP=Xmaximum
#if __CXCORSIKA__ || __CORSIKA8__
XminP=hstart !temporary use of XminP in meter (starting altitude to define minimum height in Initialize2)
#endif
XmaxP=Xmaximum
altitude=dimpact
call ranfgt(seed) !get seed before shower
#ifdef __CXCORSIKA__
......@@ -203,9 +203,6 @@ c CORSIKA 8 treat the hadronic shower, so only cascade equations are compu
call InitialParticleSho(id) !called only to setup stacks
lxfirst=.true. !first interaction in CORSIKA 8
lxfirstIn=.false. !do not fix first interaction
c ethin=thin*eprima !egs4
c isxegs=isx
c ZBOUND=zshmax
return
 
entry ConexCascade() !call after source function is filled
......@@ -3155,10 +3152,10 @@ c-----------------------------------------------------------------------
IQIN=id
if(abs(IQIN).gt.1)then
#else
if(id.eq. 12)then !electron
if(id.eq. 12)then !electron
if(mode.eq.3.and.ekin.le.eecut)mc2ce=.true.
IQIN=-1
elseif(id.eq.-12)then !positron
elseif(id.eq.-12)then !positron
if(mode.eq.3.and.ekin.le.eecut)mc2ce=.true.
IQIN= 1
elseif(abs(id).eq. 10)then !photon
......@@ -3166,7 +3163,7 @@ c-----------------------------------------------------------------------
IQIN= 0
else !neutrino : lost energy
#endif
if(iwrt.ge.2)call Profana(dptl(13)-0.000001d0*dzHa,zshmax,
if(iwrt.ge.2)call Profana(dptl(13)-0.000001d0*dzHa,zshmax,
& dptl(4),dptl(4),dptl(11),999,2)
#ifdef __CXDEBUG__
etotsource=etotsource-dptl(4)*dptl(11)
......@@ -6413,7 +6410,6 @@ c write(*,*)'ROOT output file : ', DSN(1:nfnrt),'.root'
 
end
 
 
c$$$c-----------------------------------------------------------------------
c$$$ subroutine AddDataPath(file)
......@@ -10514,7 +10510,7 @@ c low energy model oriented input
if(ilowegy.eq.1)then
 
iehlim1=iehlim-1
if(ifwle.gt.0)then
write(6,'(a,a)')'read LE model table from: ',fnwle(1:nfnwle)
luseCompress = (index(fnwle(1:nfnwle), ".bz2") .eq. nfnwle-3)
......@@ -10758,12 +10754,12 @@ c high energy model oriented input
if(n1maxi.gt.n1max+2.or.n2maxi.gt.n2max+1)
& stop'***** n1/n2 mismatch (high) ***** '
if(.not.go)then
iemin=max(iemin,iemin1) !set minimum to minimum in table
iehlim=iemin !only HE model
iemin=max(iemin,iemin1) !set minimum to minimum in table
iehlim=iemin !only HE model
endif
if((iemin1.gt.iemin.and..not.go).or.iehlim.lt.iemin1)
& stop'***** iemin too small (high) ***** '
iemax=iemax1 !set maximum to maximum in table
& stop'***** iemin too small (high) ***** '
iemax=iemax1 !set maximum to maximum in table
if(iehlim.lt.iemin1)stop'***** iehlim too small (high) ***** '
if (luseCompress.ne.0) then
do i1 = 1, n1max
......@@ -10975,10 +10971,10 @@ c Pions and pions 0 from charged Kaons
close(ifdkz)
endif
else
write(6,*)'Table dkz is not defined for hadron cascade !'
write(6,*)'file: ', fndkz(1:nfndkz)
write(6,*)'lzma=', luseCompress
stop
write(6,*)'Table dkz is not defined for hadron cascade !'
write(6,*)'file: ', fndkz(1:nfndkz)
write(6,*)'lzma=', luseCompress
stop
endif
 
c Pions and pions 0 from Kaon Long
......@@ -11012,8 +11008,8 @@ c Pions and pions 0 from Kaon short
else
open(ifdks,file=fndks(1:nfndks),status='old')
read(ifdks,*) aks,aks0
close(ifdks)
endif
close(ifdks)
else
write(6,*)'Table dks is not defined for hadron cascade !'
stop
......@@ -11036,7 +11032,7 @@ c Muons from Charge Kaon, Kaon Long and Charged Pions
endif
else
write(6,*)'Table dkm is not defined for hadron cascade !'
stop
stop
endif
 
 
......@@ -11523,19 +11519,9 @@ c Muons and hadrons from gamma by muon pair production or photonuclear effect
 
if(mode.ge.7)then
if(ifdkg.gt.0)then
luseCompress = (index(fndkg(1:nfndkg), ".bz2") .eq. nfndkg-3)
if (luseCompress.ne.0) then
call CorDataOpenFile(fndkg(1:nfndkg))
call CorDataFillArray(agpr, size(agpr))
call CorDataFillArray(agne, size(agne))
call CorDataFillArray(agpi, size(agpi))
call CorDataFillArray(agmu, size(agmu))
call CorDataCloseFile()
else
open(ifdkg,file=fndkg(1:nfndkg),status='old')
read(ifdkg,*) agpr,agne,agpi,agmu
close(ifdkg)
endif
open(ifdkg,file=fndkg(1:nfndkg),status='old')
read(ifdkg,*) agpr,agne,agpi,agmu
close(ifdkg)
else
write(6,*)'Table dkg is not defined for hadron cascade !'
endif
......@@ -11551,20 +11537,8 @@ c low energy model oriented input
 
if(ifwle.gt.0)then
write(6,'(a,a)')'read LE model table from ',fnwle(1:nfnwle)
luseCompress = (index(fnwle(1:nfnwle), ".bz2") .eq. nfnwle-3)
if (luseCompress.ne.0) then
call CorDataOpenFile(fnwle(1:nfnwle))
call CorDataNextText(ppjver)
exmin0 = CorDataNextNumber()
iemin0 = CorDataNextNumber()
iemax0 = CorDataNextNumber()
n1max0 = CorDataNextNumber()
n2max0 = CorDataNextNumber()
nde = CorDataNextNumber()
else
open(ifwle,file=fnwle(1:nfnwle),status='old')
read(ifwle,*) ppjver,exmin0,iemin0,iemax0,n1max0,n2max0,nde
else
open(ifwle,file=fnwle(1:nfnwle),status='old')
read(ifwle,*) ppjver,exmin0,iemin0,iemax0,n1max0,n2max0,nde
if(nde.ne.nint(dnHa))stop'***** nde mismatch (low) ***** '
if(iemin0.gt.iemin)stop'***** iemin mismatch (low) ***** '
if(abs(dble(exmin0)-exmin).gt.1.d-4)
......@@ -11572,31 +11546,18 @@ c low energy model oriented input
if(n1maxi.gt.n1max0+2.or.n2maxi.gt.n2max0+1)
& stop'***** n1/n2 mismatch (low) ***** '
if(iehlim1.ge.iemin0.and.iehlim1.le.iemax0)then
if (luseCompress.ne.0) then
do i1 = 1, n1max0
do i2 = 1, n2max0
do i = iemin0, iemax0
do j = 1, i
ppj(j,i,i2,i1) = CorDataNextNumber()
enddo
enddo
enddo
enddo
call CorDataCloseFile()
else
read(ifwle,*)
$ ((((ppj(j,i,i2,i1)
$ ,j=1,i)
$ ,i=iemin0,iemax0)
$ ,i2=1,n2max0)
$ ,i1=1,n1max0)
close(ifwle)
endif
read(ifwle,*)
$ ((((ppj(j,i,i2,i1)
$ ,j=1,i)
$ ,i=iemin0,iemax0)
$ ,i2=1,n2max0)
$ ,i1=1,n1max0)
elseif(iehlim1.lt.iemin0)then
stop'***** iemin0 too big *****'
elseif(iehlim1.gt.iemax0)then
stop'***** iemax0 too small *****'
endif
close(ifwle)
go=.true.
else
write(6,*)'Table wle is not defined for hadron cascade !',ppjver
......@@ -11947,17 +11908,9 @@ c Read the decay tables for kaons
c Pions and pions 0 from charged Kaons
 
if(ifdkz.gt.0)then
luseCompress = (index(fndkz(1:nfndkz), ".bz2") .eq. nfndkz-3)
if (luseCompress.ne.0) then
call CorDataOpenFile(fndkz(1:nfndkz))
call CorDataFillArray(akz, size(akz))
call CorDataFillArray(akz0, size(akz0))
call CorDataCloseFile()
else
open(ifdkz,file=fndkz(1:nfndkz),status='old')
read(ifdkz,*) akz,akz0
close(ifdkz)
endif
open(ifdkz,file=fndkz(1:nfndkz),status='old')
read(ifdkz,*) akz,akz0
close(ifdkz)
else
write(6,*)'Table dkz is not defined for hadron cascade !'
endif
......@@ -11965,17 +11918,9 @@ c Pions and pions 0 from charged Kaons
c Pions and pions 0 from Kaon Long
 
if(ifdkl.gt.0)then
luseCompress = (index(fndkl(1:nfndkl), ".bz2") .eq. nfndkl-3)
if (luseCompress.ne.0) then
call CorDataOpenFile(fndkl(1:nfndkl))
call CorDataFillArray(akl, size(akl))
call CorDataFillArray(akl0, size(akl0))
call CorDataCloseFile()
else
open(ifdkl,file=fndkl(1:nfndkl),status='old')
read(ifdkl,*) akl,akl0
close(ifdkl)
endif
open(ifdkl,file=fndkl(1:nfndkl),status='old')
read(ifdkl,*) akl,akl0
close(ifdkl)
else
write(6,*)'Table dkl is not defined for hadron cascade !'
endif
......@@ -11983,17 +11928,9 @@ c Pions and pions 0 from Kaon Long
c Pions and pions 0 from Kaon short
 
if(ifdks.gt.0)then
luseCompress = (index(fndks(1:nfndks), ".bz2") .eq. nfndks-3)
if (luseCompress.ne.0) then
call CorDataOpenFile(fndks(1:nfndks))
call CorDataFillArray(aks, size(aks))
call CorDataFillArray(aks0, size(aks0))
call CorDataCloseFile()
else
open(ifdks,file=fndks(1:nfndks),status='old')
read(ifdks,*) aks,aks0
close(ifdks)
endif
open(ifdks,file=fndks(1:nfndks),status='old')
read(ifdks,*) aks,aks0
close(ifdks)
else
write(6,*)'Table dks is not defined for hadron cascade !'
endif
......@@ -12001,18 +11938,9 @@ c Pions and pions 0 from Kaon short
c Muons from Charge Kaon, Kaon Long and Charged Pions
 
if(ifdkm.gt.0)then
luseCompress = (index(fndkm(1:nfndkm), ".bz2") .eq. nfndkm-3)
if (luseCompress.ne.0) then
call CorDataOpenFile(fndkm(1:nfndkm))
call CorDataFillArray(akzm, size(akzm))
call CorDataFillArray(aklm, size(aklm))
call CorDataFillArray(apim, size(apim))
call CorDataCloseFile()
else
open(ifdkm,file=fndkm(1:nfndkm),status='old')
read(ifdkm,*) akzm,aklm,apim
close(ifdkm)
endif
open(ifdkm,file=fndkm(1:nfndkm),status='old')
read(ifdkm,*) akzm,aklm,apim
close(ifdkm)
else
write(6,*)'Table dkm is not defined for hadron cascade !'
endif
......@@ -12020,19 +11948,9 @@ c Muons from Charge Kaon, Kaon Long and Charged Pions
c Neutrinos from Charge Kaon, Kaon Long and Charged Pions
 
if(ifdkn.gt.0)then
luseCompress = (index(fndkn(1:nfndkn), ".bz2") .eq. nfndkn-3)
if (luseCompress.ne.0) then
call CorDataOpenFile(fndkn(1:nfndkn))
call CorDataFillArray(akzn, size(akzn))
call CorDataFillArray(akln, size(akln))
call CorDataFillArray(apin, size(apin))
call CorDataFillArray(amun, size(amun))
call CorDataCloseFile()
else
open(ifdkn,file=fndkn(1:nfndkn),status='old')
read(ifdkn,*) akzn,akln,apin,amun
close(ifdkn)
endif
open(ifdkn,file=fndkn(1:nfndkn),status='old')
read(ifdkn,*) akzn,akln,apin,amun
close(ifdkn)
else
write(6,*)'Table dkn is not defined for hadron cascade !'
endif
......@@ -12192,20 +12110,9 @@ c Neutrino for Edepo
c Electrons from Charge Kaon or Kaon Long and Gammas from Neutral Pions
 
if(ifdke.gt.0)then
luseCompress = (index(fndke(1:nfndke), ".bz2") .eq. nfndke-3)
if (luseCompress.ne.0) then
call CorDataOpenFile(fndke(1:nfndke))
call CorDataFillArray(akze, size(akze))
call CorDataFillArray(akle, size(akle))
call CorDataFillArray(ap0g, size(ap0g))
call CorDataFillArray(ap0e, size(ap0e))
call CorDataFillArray(amue, size(amue))
call CorDataCloseFile()
else
open(ifdke,file=fndke(1:nfndke),status='old')
read(ifdke,*) akze,akle,ap0g,ap0e,amue
close(ifdke)
endif
open(ifdke,file=fndke(1:nfndke),status='old')
read(ifdke,*) akze,akle,ap0g,ap0e,amue
close(ifdke)
else
write(6,*)'Table dke is not defined for hadron cascade !'
endif
......@@ -13320,7 +13227,7 @@ c if(ebal.lt.0.d0)write(*,*)'ha',k,zha(k),ebal,enpart(1),enpart(2) !there
edep=max(0d0,ebal-edepmn)
fact=0.44d0
if(xpo.gt.0d0.or.(edep/edepmn.gt.xxx1.and.edep.gt.xxx2
. .and.edep.gt.fact*edepmn))then
. .and.edep.gt.fact*edepmn))then
xpo=1d0
c edep=max(edep,sumEloss)
else
......@@ -14487,6 +14394,49 @@ c inelastic interaction path
rlamold=rlamold/(1.d0-w)
return
end
#if __CXCORSIKA__ || !__CXSUB__
c Dummy functions when we don't want to use compressed files (old CORSIKA and CONEX)
subroutine CorDataOpenFile(name)
character*256 name
write(*,*)'WARNING with',name
write(*,*)'This version can not read compressed data file !!!'
stop
end
subroutine CorDataCloseFile()
end
subroutine CorDataCanDeCompress(idum)
integer idum,idum2
idum2=idum
end
subroutine CorDataFillArray(dum,idum)
double precision dum,dum2
dimension dum(*)
integer idum,idum2
dum2=dum(1)
idum2=idum
end
subroutine CorDataNextText(dum)
character*20 dum,dum2
dum2=dum
end
double precision function CorDataNextNumber()
end
integer function size(array)
double precision array(*)
size=int(array(1))
end
#endif
c Original File : conex-lat.F
......@@ -23373,6 +23323,7 @@ C-----------------------------------------------------------------------
 
end
 
#endif
 
C-----------------------------------------------------------------------
......@@ -31633,6 +31584,7 @@ c
c RETURN
c END
c
c Original File : conex-xan.F
......@@ -36831,16 +36783,32 @@ c Energy distribution of gammas from pi0 decay
 
c Pi0 from Charge Kaon or Kaon Long
if(ifdkz.gt.0)then
open(ifdkz,file=fndkz(1:nfndkz),status='old')
read(ifdkz,*) akz,akz0
close(ifdkz)
luseCompress = (index(fndkz(1:nfndkz), ".bz2") .eq. nfndkz-3)
if (luseCompress.ne.0) then
call CorDataOpenFile(fndkz(1:nfndkz))
call CorDataFillArray(akz, size(akz))
call CorDataFillArray(akz0, size(akz0))
call CorDataCloseFile()
else
open(ifdkz,file=fndkz(1:nfndkz),status='old')
read(ifdkz,*) akz,akz0
close(ifdkz)
endif
else
write(6,*)'Table dkz is not defined for hadron cascade !'
endif
if(ifdkl.gt.0)then
open(ifdkl,file=fndkl(1:nfndkl),status='old')
read(ifdkl,*) akl,akl0
close(ifdkl)
luseCompress = (index(fndkl(1:nfndkl), ".bz2") .eq. nfndkl-3)
if (luseCompress.ne.0) then
call CorDataOpenFile(fndkl(1:nfndkl))
call CorDataFillArray(akl, size(akl))
call CorDataFillArray(akl0, size(akl0))
call CorDataCloseFile()
else
open(ifdkl,file=fndkl(1:nfndkl),status='old')
read(ifdkl,*) akl,akl0
close(ifdkl)
endif
else
write(6,*)'Table dkl is not defined for hadron cascade !'
endif
......@@ -36852,9 +36820,9 @@ c Pi0 from Charge Kaon or Kaon Long
call CorDataFillArray(aks0, size(aks0))
call CorDataCloseFile()
else
open(ifdks,file=fndks(1:nfndks),status='old')
read(ifdks,*) aks,aks0
close(ifdks)
open(ifdks,file=fndks(1:nfndks),status='old')
read(ifdks,*) aks,aks0
close(ifdks)
endif
else
write(6,*)'Table dks is not defined for hadron cascade !'