IAP GITLAB

Commit c2982203 authored by Tanguy Pierog's avatar Tanguy Pierog

preparation for first public release v1.0

complete README with references
change ROOT_OUT into CRMC_OUT to avoid conflict with CONEX
cleanup conflict with filenames for QII03 and QII04. Correct p-p cross-section with SIBYLL.
correct allowed target Id and help.



git-svn-id: https://devel-ik.fzk.de/svn/mc/crmc/trunk@3672 c7a5e08c-de06-0410-9364-b41cf42a0b17
parent 0bf7b63c
......@@ -11,7 +11,6 @@ OPTION (__PYTHIA__ "Build with model" OFF)
OPTION (__HIJING__ "Build with model" OFF)
OPTION (__SIBYLL__ "Build with model" ON)
OPTION (__PHOJET__ "Build with model" OFF)
OPTION (__PYTHIA__ "Build with model" OFF)
OPTION (__QGSJETII03__ "Build with model" ON)
OPTION (__QGSJETII04__ "Build with model" ON)
######################################ONLY EDIT THIS######################################
......
CRMC v1.0 Last modifications 2013/03/26
**********************************************************
The Program "crmc"
**********************************************************
......@@ -8,6 +10,55 @@ an easy-to-use command line interface. The output can be stored in
different formats, i.e. in a root TTree or HepMC event file
(http://lcgapp.cern.ch/project/simu/HepMC/).
**********************************************************
Authors
**********************************************************
C++ interface : Colin Baus (colin.baus@kit.edu)
Ralf Ulrich (ralf.ulrich@kit.edu)
Fortran interface : Tanguy Pierog (tanguy.pierog@kit.edu)
"crmc" is based on the first epos-root interface by X. Garrido (2009)
**********************************************************
References
**********************************************************
-- CRMC :
Reference : C. Baus, T. Pierog and R. Ulrich. To be published (2013)
(please ask to colin.baus@kit.edu when needed)
-- Hadronic interacton models :
* Post LHC :
EPOS LHC (-m0) : T. Pierog and K. Werner. To be published (2013).
(please ask tanguy.pierog@kit.edu when needed)
QGSJETII-04 (-m7) : S.Ostapchenko,
Phys.Rev. D83 (2011) 014018
* Pre LHC :
EPOS 1.99 (-m1) : K. Werner, F.M. Liu and T. Pierog,
Phys.Rev. C74 (2006) 044902
and
T. Pierog and K. Werner,
Nucl.Phys.Proc.Suppl. 196 (2009) 102-105
QGSJET01 (-m2) : N.N. Kalmykov, S. Ostapchenko, and A.I. Pavlov,
Nucl.Phys. B (Proc. Suppl.) 52B (1997) 17
QGSJETII-03 (-m11) : S. Ostapchenko,
Nucl.Phys.Proc.Suppl. 151 (2006) 143
SIBYLL2.1 (-m6) : R. Engel, T.K. Gaisser, P. Lipari, and T. Stanev,
Proc. 26th Int. Cosmic Ray Conf., Salt Lake City (USA), 1 (1999) 415
and
E.-J. Ahn, R. Engel, T.K. Gaisser, P. Lipari, and T. Stanev,
Phys.Rev. D80 (2009) 094003
**********************************************************
Installation
......@@ -40,18 +91,48 @@ Run the program by executing
./bin/crmc -h
to get help.
**Example to generate 100 7 TeV pp collisions with EPOS 1.99:
bin/crmc -o hepmc -p3500 -P-3500 -n100 -m1
**Example to generate 100 1.38 ATeV PbPb collisions with QGSJetII:
bin/crmc -o hepmc -p1380 -P-1380 -n100 -i207 -I207 -m7
**Example to generate 100 4 ZTeV pPb collisions with QGSJetII:
bin/crmc -o hepmc -p3500 -P-1380 -n100 -m7 -i1 -I207
**Example to test Sibyll
to get the following help:
Options of CRMC:
-h [ --help ] description of options
-v [ --version ] show version and exits
-o [ --output ] arg output mode: hepmc (default), hepmc.gz, root, lhe, lhe.gz
-s [ --seed ] arg random seed (default: random)
-n [ --number ] arg number of collisions
-m [ --model ] arg model [0=EPOS_LHC (default), 1=EPOS_1.99, 2=QGSJET01,
6=Sibyll_2.1, 7=QGSJETII-04, 11=QGSJETII-03]
-p [ --projectile-momentum ] arg momentum/(GeV/c) (usually >0)
-P [ --target-momentum ] arg momentum/(GeV/c) (usually =<0)
-i [ --projectile-id ] arg PDG or Z*10000+A*10 (default=proton)
-I [ --target-id ] arg PDG or Z*10000+A*10 (default=proton)
-c [ --config ] arg config file
-f [ --out ] arg output file name (auto if none provided)
-t [ --produceTables ] [=arg(=1)] create tables if none are found
-T [ --Test ] [=arg(=1)] Test mode
for projectile and target Id the following shortcuts are allowed :
1 = PDG(2112) = proton
-1 = PDG(-2112) = anti-proton
12 = PDG(1000060120) = Carbon
120 = PDG(211) = pion+ (not for -I)
-120 = PDG(-211) = pion- (not for -I)
208 = PDG(1000822080) = Lead
using these shortcuts with automatic output file name generation will create more human readable names.
The environment variable $CRMC_OUT can be set to define the path the path of the output files,
otherwise $PWD is used as default path.
**Example to generate 100 7 TeV pp collisions with EPOS LHC:
bin/crmc -o hepmc -p3500 -P-3500 -n100 -m0
**Example to generate 100 1.38 ATeV PbPb collisions with EPOS 1.99:
bin/crmc -o hepmc -p1380 -P-1380 -n100 -i208 -I208 -m1
**Example to generate 100 4.4 ATeV pPb collisions with QGSJetII-04:
bin/crmc -o hepmc -p3500 -P-1380 -n100 -m7 -i2112 -I822080
**Example to test Sibyll2.1
bin/crmc -T -m6
**********************************************************
......@@ -76,8 +157,18 @@ pair of nucleon which participate at the formation of the cluster (a cluster is
allows only one mother in that case).
**********************************************************
Note on simulating heavy ion events
**********************************************************
Note on simulating heavy ion (HI) events
******I****************************************************
QGSJET01 and SIBYLL2.1 are limited to hA collisions with A<64 and h being a pion, a kaon or a nucleon.
Only EPOS (1.99 and LHC) and QGSJETII (03 and 04) models can run (h)AB collisions with A and B up to 208.
QGSJETII was never designed for HI collisions, so results should be interpreted with care (no final
state interactions).
EPOS 1.99 and LHC include a simplified treatment of final state interaction but doesn't include full hydro
simulations as already possible in EPOS 2. It gives a good overall description of HI data but it should not be
used to interpret QGP related observables (flow, jet quenching, etc ...) since the model is oversimplified in
this distribution.
For detailed simulations of HI collisions within EPOS 2, please contact K. Werner (werner@subatech.in2p3.fr).
The current IO library of HepMC (2.06) has a limitation of the number of produced particles.
In particular, it will return an error message if the number of particles is larger than 10000.
......
......@@ -15,7 +15,7 @@ using namespace std;
CRMCoptions::CRMCoptions(int argc, char** argv)
: fError(false),
fOutputMode(eHepMCGZ),
fOutputMode(eHepMC),
fNCollision(500),
fSeed(0),
fProjectileId(1),
......@@ -98,7 +98,7 @@ CRMCoptions::ParseOptions(int argc, char** argv)
desc.add_options()
("help,h", "description of options")
("version,v", "show version and exits")
("output,o", po::value<string>(), "output mode: hepmc, hepmc.gz, root, lhe, lhe.gz, ndst")
("output,o", po::value<string>(), "output mode: hepmc (default), hepmc.gz, root, lhe, lhe.gz")
// ("verbosity,v", po::value<int>(), "verbosity (default: 0)")
("seed,s", po::value<int>(), "random seed (default: random)")
("number,n", po::value<int>(), "number of collisions")
......@@ -221,15 +221,15 @@ CRMCoptions::DumpConfig() const
switch(fHEModel) {
case 0: cout << " (EPOS LHC) \n"; break;
case 1: cout << " (EPOS) \n"; break;
case 1: cout << " (EPOS 1.99) \n"; break;
case 2: cout << " (QGSJET01) \n"; break;
case 3: cout << " (Gheisha)\n "; break;
case 4: cout << " (Pythia)\n "; break;
case 5: cout << " (Hijing)\n "; break;
case 6: cout << " (Sibyll)\n "; break;
case 7: cout << " (QGSJETII.04) \n"; break;
case 6: cout << " (Sibyll 2.1)\n "; break;
case 7: cout << " (QGSJETII-04) \n"; break;
case 8: cout << " (Phojet) \n"; break;
case 11: cout << " (QGSJETII.03) \n"; break;
case 11: cout << " (QGSJETII-03) \n"; break;
default:
cout << " (unknown model) \n";
exit(1);
......@@ -274,7 +274,7 @@ CRMCoptions::GetOutputFileName() const
// check if ROOT_OUT is set (if not assume PWD)
#warning replace TSystem with boost !!!
const char* rootOutDir = gSystem->Getenv("ROOT_OUT");
const char* rootOutDir = gSystem->Getenv("CRMC_OUT");
if (rootOutDir == 0 ) {
rootOutDir = gSystem->Getenv("PWD");
}
......@@ -305,14 +305,14 @@ CRMCoptions::GetOutputFileName() const
rootFileName << rootOutDir << "/" << "crmc_";
switch (fHEModel) {
case 0: rootFileName << "eposlhc"; break;
case 1: rootFileName << "epos"; break;
case 1: rootFileName << "epos199"; break;
case 2: rootFileName << "qgsjet"; break;
case 3: rootFileName << "gheisha"; break;
case 4: rootFileName << "pythia"; break;
case 5: rootFileName << "hijing"; break;
case 6: rootFileName << "sibyll"; break;
case 7:
case 11:rootFileName << "qgsjetII"; break;
case 7: rootFileName << "qgsjetII04"; break;
case 11:rootFileName << "qgsjetII03"; break;
case 8: rootFileName << "phojet"; break;
default:
cout << " rootOut: error - unknown model " << fHEModel << endl;
......
......@@ -49,7 +49,8 @@ void
OutputPolicyHepMC::InitOutput(const CRMCoptions& cfg)
{
boost::filesystem::path oldFile(cfg.GetOutputFileName());
boost::filesystem::remove(oldFile); //FIXME currently truncate does not seem to work properly in boost
if(!boost::filesystem::is_other(cfg.GetOutputFileName())) //protect fifo file
boost::filesystem::remove(oldFile); //before liboost v1.44 truncate does not seem to work properly in boost
//io::filtering_ostream out; //top to bottom order
fOut = new io::filtering_ostream();
......
......@@ -324,7 +324,7 @@ c nfnch=index(fnch,' ')-1
c open(ifcx,file=fnch(1:nfnch),status='unknown')
nevent=iEvent !number of events
modsho = 100000000 !printout every modsho events
modsho = 10000 !printout every modsho events
ecms=sngl(iecms) !center of mass energy in GeV/c2
c pnll=pproj !beam momentum GeV/c
......@@ -347,18 +347,13 @@ c lead
idprojin=1120
laproj = 82 !proj Z
maproj = 208 !proj A
elseif (ipart .eq. 120) then
c pi+
idprojin = ipart !pi+
elseif (abs(ipart) .eq. 120) then
c pi+/-
idprojin = ipart !pi+/-
laproj = -1 !proj Z
maproj = 1 !proj A
elseif (ipart .eq. -120) then
c pi-
idprojin = ipart !pi-
laproj = -1 !proj Z
maproj = 1 !proj A
c nuclei
elseif (ipart.gt.10000)then
c nuclei
idprojin=1120
maproj=mod(ipart,10000)/10 !proj A
laproj=mod(ipart,10000000)/10000 !proj Z
......@@ -381,7 +376,7 @@ c Target definitions : for nucleons, idtarg does not exist
c Mass number matarg as well as charge, latarg, must be defined
c idtarg = 1120 !proton
if ( itarg .eq. 1 ) then
if ( abs(itarg) .eq. 1 ) then
c proton
idtargin = sign(1120,itarg)
latarg = sign(1,itarg) !targ Z
......@@ -391,16 +386,6 @@ c carbon
idtargin=1120
latarg = 6 !targ Z
matarg = 12 !targ A
elseif (ipart .eq. 120) then
c pi+
idprojin = ipart !pi+
laproj = -1 !proj Z
maproj = 1 !proj A
elseif (ipart .eq. -120) then
c pi-
idprojin = ipart !pi-
laproj = -1 !proj Z
maproj = 1 !proj A
elseif ( itarg .eq. 208 ) then
c lead
idtargin=1120
......@@ -414,7 +399,7 @@ c nuclei
c PDG
elseif (abs(itarg).eq.2112.or.abs(itarg).eq.2212)then
idtargin=idtrafo('pdg','nxs',itarg)
latarg = -1 !targ Z
latarg = 1 !targ Z
matarg = 1 !targ A
else
print *,'Warning : target particle not known : ',itarg
......
!!input file for crmc
!! a line starting with "!" is not read by the program
switch fusion on !nuclear effects due to high density
switch fusion on !nuclear effects due to high density (QGP) in EPOS
!more realistic but slow (can be switched off)
!set istmax 0 !uncomment to get only final particles with EPOS
......@@ -18,16 +18,23 @@ nodecay -120 !uncomment not to decay pi- (PDG id = -211)
nodecay 130 !uncomment not to decay k+ (PDG id = 321)
nodecay -130 !uncomment not to decay k- (PDG id = -321)
nodecay -20 !uncomment not to decay k0L (PDG id = -130)
nodecay 17 !uncomment not to decay deuterium
nodecay -17 !uncomment not to decay antideuterium
nodecay 18 !uncomment not to decay tritium
nodecay -18 !uncomment not to decay antitritium
nodecay 19 !uncomment not to decay alpha
nodecay -19 !uncomment not to decay antialpha
!... more possible (with EPOS id (not PDG))
!for other particles, please ask me ... or minimum ctau (cm) :
!for other particles, please ask authors ... or use minimum ctau (cm) :
MinDecayLength 1. !minimum c.Tau to define stable particles (cm)
fqgsjet dat @CRMCROOT@/tabs/qgsjet.dat
fqgsjet ncs @CRMCROOT@/tabs/qgsjet.ncs
!fqgsjetII dat @CRMCROOT@/tabs/qgsdat-II-@QIITAB@
fqgsjetII dat @CRMCROOT@/tabs/qgsdat-II-@QIITAB@.lzma
fqgsjetII ncs @CRMCROOT@/tabs/sectnu-II-@QIITAB@
fqgsjetII03 dat @CRMCROOT@/tabs/qgsdat-II-03.lzma
fqgsjetII03 ncs @CRMCROOT@/tabs/sectnu-II-03
fqgsjetII dat @CRMCROOT@/tabs/qgsdat-II-04.lzma
fqgsjetII ncs @CRMCROOT@/tabs/sectnu-II-04
fname check none
fname initl @CRMCROOT@/tabs/epos.initl
fname iniev @CRMCROOT@/tabs/epos.iniev
......
......@@ -11,9 +11,10 @@ c-----------------------------------------------------------------------
common/record/maxrec(2),irecty(30,2)
common/cfacmss/facmss /cr3pomi/r3pomi,r4pomi/cifset/ifset
common /ems12/iodiba,bidiba ! defaut iodiba=0. if iodiba=1, study H-Dibaryon
character*500 fndat,fnncs,fnIIdat,fnIIncs !qgs-II????????
character*500 fndat,fnncs,fnIIdat,fnIIncs,fnII03dat,fnII03ncs !qgs-II????????
common/qgsfname/ fndat, fnncs, ifdat, ifncs
common/qgsIIfname/fnIIdat, fnIIncs, ifIIdat, ifIIncs !qgs-II????????
common/qgsII03fname/fnII03dat, fnII03ncs, ifII03dat, ifII03ncs !qgs-II????????
common/ghecsquel/anquasiel,iquasiel
common/cbincond/nozero,ibmin,ibmax
common/photrans/phoele(4),ebeam
......@@ -3316,11 +3317,13 @@ c---------------------------------------------------------------------
common/record/maxrec(2),irecty(30,2)
common/cfacmss/facmss /cr3pomi/r3pomi,r4pomi
common /ems12/iodiba,bidiba ! defaut iodiba=0. if iodiba=1, study H-Dibaryon
character*500 fndat,fnncs,fnIIdat,fnIIncs !qgs-II????????
character*500 fndat,fnncs,fnIIdat,fnIIncs,fnII03dat,fnII03ncs !qgs-II
common/qgsfname/ fndat, fnncs, ifdat, ifncs
common/qgsIIfname/fnIIdat, fnIIncs, ifIIdat, ifIIncs !qgs-II????????
common/qgsIIfname/fnIIdat, fnIIncs, ifIIdat, ifIIncs !qgs-II
common/qgsII03fname/fnII03dat, fnII03ncs, ifII03dat, ifII03ncs !qgs-II03
common/qgsnfname/ nfndat, nfnncs
common/qgsIInfname/ nfnIIdat, nfnIIncs !qgs-II????????
common/qgsIInfname/ nfnIIdat, nfnIIncs !qgs-II
common/qgsII03nfname/ nfnII03dat, nfnII03ncs !qgs-II03
common/ghecsquel/anquasiel,iquasiel
common/cjjj/jjj,cline
character cmodel*21
......@@ -3584,7 +3587,25 @@ c if(line(i:j).eq.'xEmsPx')call xEmsPxNo(2,0.,0.,0,0)
if(nfndat.gt.1)ifdat=1
if(nfnncs.gt.1)ifncs=2
elseif(line(i:j).eq.'fqgsjetII')then !QGSJET-II !qgs-II????????
elseif(line(i:j).eq.'fqgsjetII03')then !QGSJET-II-03
call utworn(line,j,ne)
if(ne.eq.0.and.iprmpt.gt.0)write(ifmt,'(a)')'file-type file-name?'
call utword(line,i,j,0)
linex=line
ix=i
jx=j
call utworn(line,j,ne)
if(ne.eq.0.and.iprmpt.gt.0)write(ifmt,'(a)')'file-name?'
call utword(line,i,j,0)
if(linex(ix:jx).eq.'dat')fnII03dat(1:j-i+1)=line(i:j)
if(linex(ix:jx).eq.'dat')nfnII03dat=j-i+1 !length of qgsjet-II.dat name
if(linex(ix:jx).eq.'ncs')fnII03ncs(1:j-i+1)=line(i:j)
if(linex(ix:jx).eq.'ncs')nfnII03ncs=j-i+1 !length of qgsjet-II.ncs name
if(nfnII03dat.gt.1)ifII03dat=1
if(nfnII03ncs.gt.1)ifII03ncs=2
elseif(line(i:j).eq.'fqgsjetII')then !QGSJET-II-03
call utworn(line,j,ne)
if(ne.eq.0.and.iprmpt.gt.0)write(ifmt,'(a)')'file-type file-name?'
......@@ -6426,8 +6447,8 @@ c here cut is absorbtion xs : cut + 95 % of excited diff.
else
call crseaaEpos(sigtotaa,sigineaa,sigcutaa,sigelaaa)
endif
elseif(isigma.eq.2)then
call crseaaModel(sigtotaa,sigineaa,sigcutaa,sigelaaa)
elseif(isigma.eq.2.and.matarg.gt.1)then
call crseaaModel(sigtotaa,sigineaa,sigcutaa,sigelaaa)
endif
if(ish.ge.1.and.noebin.ge.0)
& write (ifmt,226)sigtotaa,sigineaa,sigcutaa,sigelaaa
......
......@@ -79,7 +79,7 @@ c-----------------------------------------------------------------------------
common /qgarr43/ moniou
common /qgarr44/ jopt
common /qgdebug/ debug
common /qgsIInex1/xan(iapmax,3),xbn(iapmax,3) !used to link with nexus
common /qgsII03nex1/xan(iapmax,3),xbn(iapmax,3) !used to link with nexus
*,bqgs,bmaxqgs,bmaxnex,bminnex
c moniou=6 !output channel for debugging
......@@ -267,10 +267,10 @@ c-----------------------------------------------------------------------------
common /qgarr50/ x1(7),a1(7)
common /qgarr54/ evk(40,40,100,3,2)
common /qgdebug/ debug
character*500 fnIIdat,fnIIncs !used to link with nexus
character*500 fnII03dat,fnII03ncs !used to link with nexus
common /version/ version !used to link with nexus
common/qgsIIfname/fnIIdat, fnIIncs, ifIIdat, ifIIncs !used to link with nexus
common/qgsIInfname/ nfnIIdat, nfnIIncs !used to link with nexus
common/qgsII03fname/fnII03dat, fnII03ncs, ifII03dat, ifII03ncs !used to link with nexus
common/qgsII03nfname/ nfnII03dat, nfnII03ncs !used to link with nexus
common/producetab/ producetables !used to link with CRMC
logical producetables
......@@ -363,25 +363,26 @@ c check normalization
if(debug.ge.1)write (moniou,202)ty(icz),xxnorm,gnorm,seanrm
* ,fp(icz),rr
enddo
if(ifIIdat.ne.1)then
if(ifII03dat.ne.1)then
inquire(file='qgsdat-II-03',exist=lcalc)
else
inquire(file=fnIIdat(1:nfnIIdat),exist=lcalc) !used to link with nexus
inquire(file=fnII03dat(1:nfnII03dat),exist=lcalc) !used to link with nexus
endif
lzmaUse=0
if(lcalc)then
if(ifIIdat.ne.1)then
if(ifII03dat.ne.1)then
open(1,file='qgsdat-II-03',form='unformatted')
if(debug.ge.0)write (moniou,203) 'qgsdat-II-03'
else !used to link with nexus
if (LEN(fnIIdat).gt.6.and.
* fnIIdat(nfnIIdat-4:nfnIIdat) .eq. ".lzma") then
if (LEN(fnII03dat).gt.6.and.
* fnII03dat(nfnII03dat-4:nfnII03dat) .eq. ".lzma") then
lzmaUse=1
call LzmaOpenFile(fnIIdat(1:nfnIIdat))
call LzmaOpenFile(fnII03dat(1:nfnII03dat))
else
open(ifIIdat,file=fnIIdat(1:nfnIIdat),form='unformatted')
open(ifII03dat,file=fnII03dat(1:nfnII03dat)
* ,form='unformatted')
endif
if(debug.ge.0)write (moniou,203) fnIIdat(1:nfnIIdat)
if(debug.ge.0)write (moniou,203) fnII03dat(1:nfnII03dat)
endif
if (lzmaUse.ne.0) then
......@@ -1406,10 +1407,10 @@ c cut Pomeron eikonals (soft and total)
enddo
if(debug.ge.1)write (moniou,227)
if(ifIIdat.ne.1)then
if(ifII03dat.ne.1)then
open(1,file='qgsdat-II-03',form='unformatted')
else !used to link with nexus
open(ifIIdat,file=fnIIdat(1:nfnIIdat),form='unformatted')
open(ifII03dat,file=fnII03dat(1:nfnII03dat),form='unformatted')
endif
write (1) csborn,cs0,cstot,evk,qppdi,qlegi,qfanu,qfan
*,qpomu,qpom1,qpomr,qlegc,qpomc,qpomi,qpomi0,gsect,fsud,qrt
......@@ -1417,18 +1418,18 @@ c cut Pomeron eikonals (soft and total)
5 continue
c Nuclear cross sections
if(ifIIncs.ne.2)then
if(ifII03ncs.ne.2)then
inquire(file='sectnu-II-03',exist=lcalc)
else
inquire(file=fnIIncs(1:nfnIIncs),exist=lcalc) !used to link with nexus
inquire(file=fnII03ncs(1:nfnII03ncs),exist=lcalc) !used to link with nexus
endif
if(lcalc)then
if(debug.ge.1)write (moniou,228)
if(ifIIncs.ne.2)then
if(ifII03ncs.ne.2)then
open(2,file='sectnu-II-03',status='old')
else
open(ifIIncs,file=fnIIncs(1:nfnIIncs),status='old') !used to link with nexus
open(ifII03ncs,file=fnII03ncs(1:nfnII03ncs),status='old') !used to link with nexus
endif
read (2,*)qgasect
close(2)
......@@ -1462,10 +1463,10 @@ c Nuclear cross sections
enddo
enddo
enddo
if(ifIIncs.ne.2)then
if(ifII03ncs.ne.2)then
open(2,file='sectnu-II-03',status='unknown')
else !used to link with nexus
open(ifIIncs,file=fnIIncs(1:nfnIIncs),status='unknown')
open(ifII03ncs,file=fnII03ncs(1:nfnII03ncs),status='unknown')
endif
write (2,*)qgasect
close(2)
......@@ -1553,8 +1554,8 @@ c-----------------------------------------------------------------------------
common /qgarr43/ moniou
common /qgarr49/ trnuc(56),twsnuc(56),twbnuc(56)
common /qgdebug/ debug
common /qgsIInex1/ xan(iapmax,3),xbn(iapmax,3) !used to link with nexus
*,bqgs,bmaxqgs,bmaxnex,bminnex
common /qgsIInex1/ xan(iapmax,3),xbn(iapmax,3)
*,bqgs,bmaxqgs,bmaxnex,bminnex !used to link with nexus
if(debug.ge.1)write (moniou,201)icp0,iap,iat,e0n
icp=icp0
......@@ -4500,8 +4501,8 @@ c-----------------------------------------------------------------------------
*,iconb(iapmax)
common /qgarr55/ nwt,nwp !number of wounded targ.(proj.) nucleons
common /qgdebug/ debug
common /qgsIInex1/xan(iapmax,3),xbn(iapmax,3) !used to link with nexus
*,bqgs,bmaxqgs,bmaxnex,bminnex
common /qgsIInex1/xan(iapmax,3),xbn(iapmax,3)
*,bqgs,bmaxqgs,bmaxnex,bminnex !used to link with nexus
ctp from epos
integer ng1evt,ng2evt,ikoevt
real rglevt,sglevt,eglevt,fglevt,typevt
......
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