IAP GITLAB

Commit bdd7e17c authored by Colin Baus's avatar Colin Baus

removed dpmjet from tag

git-svn-id: https://devel-ik.fzk.de/svn/mc/crmc/tags/crmc.v1.2@4089 c7a5e08c-de06-0410-9364-b41cf42a0b17
parent 37b1a2a8
......@@ -12,7 +12,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 (__DPMJET__ "Build with model" OFF)
OPTION (__QGSJETII03__ "Build with model" ON)
OPTION (__QGSJETII04__ "Build with model" ON)
######################################ONLY EDIT THIS######################################
......@@ -151,14 +150,6 @@ get_property(HELPER SOURCE src/models.F PROPERTY COMPILE_FLAGS)
set_property(SOURCE src/models.F PROPERTY COMPILE_FLAGS "${HELPER} -D __PHOJET__")
ENDIF (__PHOJET__)
IF (__DPMJET__)
LIST(APPEND TABS dpmjet.dat)
ADD_SUBDIRECTORY ("${PROJECT_SOURCE_DIR}/src/dpmjet/3.0-6")
SET(STATIC_LIBS ${STATIC_LIBS} Dpmjet)
get_property(HELPER SOURCE src/models.F PROPERTY COMPILE_FLAGS)
set_property(SOURCE src/models.F PROPERTY COMPILE_FLAGS "${HELPER} -D __DPMJET__")
ENDIF (__DPMJET__)
#put definition outside "if" because it is always is crmc.param file
SET (QGSJETII_TABS "03")
IF (__QGSJETII03__)
......
INCLUDE_DIRECTORIES ("${PROJECT_SOURCE_DIR}/src/dpmjet/3.0-6")
FILE(GLOB files *.f)
set_source_files_properties( dpmjet3.0-6.f dpmjet-crmc.f phojet1.12-35c4.f pythia6115dpm3v1.f ../../crmc-aaa.f ../../models.F PROPERTIES COMPILE_FLAGS "-D __DPMJET__")
add_library(Dpmjet SHARED dpmjet3.0-6.f dpmjet-crmc.f phojet1.12-35c4.f pythia6115dpm3v1.f ../../crmc-aaa.f ../../models.F)
target_link_libraries(Dpmjet EposBasic)
INSTALL (TARGETS Dpmjet
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib/static
)
DPMJET3 license, 5 Nov 2008
Copyright statement and license conditions
Copyright: European Organization for Nuclear Research (CERN),
Forschungszentrum Karlsruhe and Universitaet Siegen (the DPMJET-III
Copyright Holders) 1995-2008.
All rights not expressly granted under this license are reserved.
This software results from work performed by Ralph Engel, Johannes Ranft
and Stefan Roesler (the Authors).
The Authors are the exclusive source of distribution of the code, bug
fixes and documentation of the DPMJET-III software. Each official
version of DPMJET-III is identified by a numbering scheme specifying
major and minor releases.
The Authors are able to grant any of the permissions noted in this
License Agreement as requiring a specific consent. Any such consent
may only be granted in writing.
DPMJET-III contains PHOJET and PYTHIA Version 6.1 as integral parts.
The license conditions given below apply also to PHOJET and PYTHIA
Version 6.1. Torbjorn Sjostrand (Lund University) is the copright holder
of the PYTHIA subpackage.
1. Installation, use, reproduction, display of the DPMJET-III
software in source and binary forms, are permitted free of charge on a
non-exclusive basis for internal scientific, non-commercial and
non-weapon-related use by non-profit organizations only. Any exercise of
these rights is subject to the following conditions:
Insertion of the DPMJET-III code, in whole or in part, into other
codes, or its translation into any other computer language are
possible only after obtaining prior written permission. Modifications
of the DPMJET-III code are permitted for use by the licensee only,
unless authorized in written.
2. DPMJET-III is non-transferable, non-sub-licensable and may
not be distributed in any way, without express written consent,
whether in original or modified form, Site-wise or collaboration-wise
conditions can be agreed with the Authors.
3. Notwithstanding the above, the licensee may modify and
sub-license DPMJET-III User Routines to third parties in so far
as their purpose is limited to the adaptation of input and output
interfaces of DPMJET-III and their modification does not circumvent,
replace, add to or modify any of the functions of DPMJET-III,
or extract specific isolated results from any of the individual
internal physics models embedded within DPMJET-III.
4. The licensee shall forthwith license all its modifications of
DPMJET-III to the DPMJET-III Authors, at no cost and with no
limitation of use. The licensee acknowledges that the DPMJET-III
Authors may insert such modifications into future releases of
DPMJET-III, subject to appropriate acknowledgment of
the licensees contribution.
5. Any publication by the licensee with respect to DPMJET-III
or results obtained from it shall explicitly acknowledge DPMJET-III,
PHOJET and PYTHIA by quoting its set of references and the DPMJET-III
Authors. The licensee shall not without prior written permission
publish documents or results based on a modified form of DPMJET-III,
unless the modification exclusively concerns User Routines for the
adaptation of its input and output interfaces which comply with the
same restrictions, as defined in section 3) as those which apply
to sub-licensing. Any publication of documents or results shall be
based only on official DPMJET-III versions as obtained from the
Authors. Publication here implies any legal publication to any third
party, whether verbal, electronic, visual, in writing or otherwise.
6. The licensee shall ensure that the DPMJET-III, PHOJET and PYTHIA
references, copyright statement and license conditions are not
altered or removed from DPMJET-III. Any integration of
any portion of DPMJET-III in modified or in
unmodified form, into any other software package must preserve the
internal copyright notices in those portions of DPMJET-III
that have been employed, and must reproduce such notices
within any additional global notices included along or embedded
within the software into which DPMJET-III has been integrated.
Any portion of DPMJET-III so integrated, whether modified or
unmodified shall continue to be subject to these license conditions.
7. Versions or parts of the DPMJET-III source code,
entrusted to individuals or groups prior to the formulation of this
license are subject to this License Agreement in addition to any
other restrictions on the scope of use that may have been part of
the initial use grant.
8. Commercial use of DPMJET-III, outside the
scope of this license, must be negotiated with the Authors.
9. DISCLAIMER
THIS SOFTWARE IS PROVIDED BY THE DPMJET-III COPYRIGHT HOLDERS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
IMPLIED WARRANTIES OF MERCHANTABILITY, OF SATISFACTORY QUALITY, AND
FITNESS FOR A PARTICULAR PURPOSE OR USE ARE DISCLAIMED. THE DPMJET-III
COPYRIGHT HOLDERS AND THE AUTHORS MAKE NO REPRESENTATION THAT THE
SOFTWARE AND MODIFICATIONS THEREOF, WILL NOT INFRINGE ANY PATENT,
COPYRIGHT, TRADE SECRET OR OTHER PROPRIETARY RIGHT.
10. LIMITATION OF LIABILITY
THE DPMJET-III COPYRIGHT HOLDERS AND THE AUTHORS SHALL HAVE NO
LIABILITY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL,
EXEMPLARY, OR PUNITIVE DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
LIMITATION, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, LOSS OF USE,
DATA OR PROFITS, OR BUSINESS INTERRUPTION, HOWEVER CAUSED AND ON
ANY THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE),
PRODUCT LIABILITY OR OTHERWISE, ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Users should address any request of consent to one of the
DPMJET-III Authors:
Ralph Engel Ralph.Engel@ik.fzk.de
Johannes Ranft Johannes.Ranft@cern.ch
Stefan Roesler Stefan.Roesler@cern.ch
DPMJET version 3.0 (Mar. 2010)
________________________________
This directory contains the following files:
dpmjet3.0-6.f DPMJET code version 3.0 without interface to FLUKA
phojet1.12-35c4.f PHOJET code version 1.12
pythia6115dpm3v1.f PYTHIA code version 6.1
user3.0-6.f user code to be used with dpmjet3.0-6.f
fpe.o auxiliary routine to trap floating point exceptions
(only used under Linux)
Makefile makefile to install DPMJET
dpmjet.dat,
fitpar.dat data-files read by the program during initialization
dpmjet3.manual user manual explaining the input options
License2.txt license conditions
various input and output examples
Installation
------------
In order to install DPMJET on your local workstation first modify the
compiler/linker options in the makefile according to your operating system.
Standard options for some common platforms are given in the makefile.
Then, install by using the 'make' utility.
Event generation
----------------
1. Modify the histogram routine (user3.0-6.f: DT_USRHIS) according to your
requirements. See the routine for further details and information.
2. Compile/link using 'make'
3. Start the event generation, for example
dpmjet3.0-6 < {input file name} > {output file name} &
Please note:
All parts of the program code should be used only in the framework of
DPMJET. Any separate use of parts requires the agreement of the authors.
Please send suggestions / bug reports /questions to
Stefan.Roesler@cern.ch
The use of the software is subject to the enclosed license.
c 13.04.2010 Link routines between DPMJET and CRMC.
c authors C. Baus, A. Feydnitch
c-----------------------------------------------------------------------
subroutine IniDPMJET
c-----------------------------------------------------------------------
c Primary initialization for PHOJET
c-----------------------------------------------------------------------
IMPLICIT DOUBLE PRECISION(A-H,O-Z)
include 'epos.inc'
* particle properties (BAMJET index convention)
CHARACTER*8 ANAME
COMMON /DTPART/ ANAME(210),AAM(210),GA(210),TAU(210),
& IICH(210),IIBAR(210),K1(210),K2(210)
INTEGER NCASES,NPMASS,NPCHAR,NTMASS,NTCHAR,IDP,IGLAU
DOUBLE PRECISION EPROJ
c change to center of mass system
c common block var iframe renamed to dframe since it is used by epos
LOGICAL LEMCCK,LHADRO,LSEADI,LEVAPO
COMMON /DTFLG1/ IFRAG(2),IRESCO,IMSHL,IRESRJ,IOULEV(6),
& LEMCCK,LHADRO(0:9),LSEADI,LEVAPO,DFRAME,ITRSPT
DFRAME=2
C general initialization
NCASES = -1
NPMASS = maproj
NPCHAR = laproj
NTMASS = matarg
NTCHAR = latarg
IDP = 1
IGLAU = 0
EPROJ = (ECMS**2-AAM(NPMASS)**2-AAM(NTMASS)**2)
& /(2.0D0*AAM(NTMASS))
CALL DT_INIT(NCASES,EPROJ,NPMASS,NPCHAR,NTMASS,NTCHAR,IDP,IGLAU)
END
c-----------------------------------------------------------------------
subroutine emsdpmjet(iret)
c-----------------------------------------------------------------------
c call PHOJET to simulate interaction
c-----------------------------------------------------------------------
IMPLICIT DOUBLE PRECISION(A-H,O-Z)
include 'epos.inc'
* event history
PARAMETER (NMXHKK=200000)
COMMON /DTEVT1/ NHKK,NEVHKK,ISTHKK(NMXHKK),IDHKK(NMXHKK),
& JMOHKK(2,NMXHKK),JDAHKK(2,NMXHKK),
& PHKK(5,NMXHKK),VHKK(4,NMXHKK),WHKK(4,NMXHKK)
* extended event history
COMMON /DTEVT2/ IDRES(NMXHKK),IDXRES(NMXHKK),NOBAM(NMXHKK),
& IDBAM(NMXHKK),IDCH(NMXHKK),NPOINT(10),
& IHIST(2,NMXHKK)
* particle properties (BAMJET index convention)
CHARACTER*8 ANAME
COMMON /DTPART/ ANAME(210),AAM(210),GA(210),TAU(210),
& IICH(210),IIBAR(210),K1(210),K2(210)
* Glauber formalism: collision properties
COMMON /DTGLCP/ RPROJ,RTARG,BIMPAC,
& NWTSAM,NWASAM,NWBSAM,NWTACC,NWAACC,NWBACC
* properties of interacting particles
COMMON /DTPRTA/ IT,ITZ,IP,IPZ,IJPROJ,IBPROJ,IJTARG,IBTARG
INTEGER NPMASS,NPCHAR,NTMASS,NTCHAR,IDP
INTEGER ITRY, IREJ, KKMAT
DOUBLE PRECISION EPROJ
C general initialization
NPMASS = maproj
NPCHAR = laproj
NTMASS = matarg
NTCHAR = latarg
IDP = 1
EPROJ = (ECMS**2-AAM(NPMASS)**2-AAM(NTMASS)**2)
& /(2.0D0*AAM(NTMASS))
ITRY = 0
IREJ = 0
KKMAT = -1
ITRY = ITRY+1
CALL dt_kkinc(NPMASS,NPCHAR,NTMASS,NTCHAR,IDP,EPROJ, KKMAT,IREJ)
IF(IREJ.NE.0) THEN
IF(ish.ge.2) WRITE(ifch,'(a)')
&'Bad return from DPMJET. Skipping event'
GOTO 1001
ENDIF
c nevt .......... error code. 1=valid event, 0=invalid event
c bimevt ........ absolute value of impact parameter
c phievt ........ angle of impact parameter
c kolevt ........ number of collisions
c koievt ........ number of inelastic collisions
c kohevt ........ number of hard collisions
c pmxevt ........ reference momentum
c egyevt ........ pp cm energy (hadron) or string energy (lepton)
c npjevt ........ number of primary projectile participants
c ntgevt ........ number of primary target participants
c npnevt ........ number of primary projectile neutron spectators
c nppevt ........ number of primary projectile proton spectators
c ntnevt ........ number of primary target neutron spectators
c ntpevt ........ number of primary target proton spectators
c jpnevt ........ number of absolute projectile neutron spectators
c jppevt ........ number of absolute projectile proton spectators
c jtnevt ........ number of absolute target neutron spectators
c jtpevt ........ number of absolute target proton spectators
c xbjevt ........ bjorken x for dis
c qsqevt ........ q**2 for dis
c sigtot ........ total cross section
c nglevt ........ number of collisions acc to Glauber
c zppevt ........ average Z-parton-proj
c zptevt ........ average Z-parton-targ
c ng1evt ........ number of Glauber participants with at least one IAs
c ng2evt ........ number of Glauber participants with at least two IAs
c ikoevt ........ number of elementary parton-parton scatterings
c typevt ........ type of event (1=Non Diff, 2=Double Diff, 3=Central Diff, 4=AB->XB, -4=AB->AX)
c PLEASE FILL!!
ncol=1
nevt=1
kolevt=ncol
npjevt=maproj
ntgevt=matarg
pmxevt=0.
egyevt=ecms
bimevt=BIMPAC
bimp=0.
phievt=0.
phi=0.
IF(NHKK.GE.NMXHEP) THEN
IF(ish.ge.2) WRITE(ifch,'(a)')
&'NMAXHEP too small for event. Skipping'
GOTO 1001
ENDIF
NEVHEP = NEVHKK
NHEP = 0
C particle copy loop
DO I=3,NHKK
c Destroys HEPEVT structure if only beam and final (status={1,4}) particles are copied
c IF(ISTHKK(I).NE.1 .AND. ISTHKK(I).NE.4) CYCLE
NHEP = NHEP + 1
ISTHEP(I-2) = ISTHKK(I)
IDHEP(I-2) = IDHKK(I)
JMOHEP(1,I-2) = JMOHKK(1,I)-2
JMOHEP(2,I-2) = JMOHKK(2,I)-2
JDAHEP(1,I-2) = JDAHKK(1,I)-2
JDAHEP(2,I-2) = JDAHKK(2,I)-2
IF(JMOHKK(1,I).EQ.0) JMOHEP(1,I-2) = 1
IF(JMOHKK(2,I).EQ.0) JMOHEP(2,I-2) = 1
IF(JDAHKK(1,I).EQ.0) JDAHEP(1,I-2) = 0
IF(JDAHKK(2,I).EQ.0) JDAHEP(2,I-2) = 0
PHEP(1,I-2) = PHKK(1,I)
PHEP(2,I-2) = PHKK(2,I)
PHEP(3,I-2) = PHKK(3,I)
PHEP(4,I-2) = PHKK(4,I)
PHEP(5,I-2) = PHKK(5,I)
VHEP(1,I-2) = VHKK(1,I)
VHEP(2,I-2) = VHKK(2,I)
VHEP(3,I-2) = VHKK(3,I)
VHEP(4,I-2) = VHKK(4,I)
ENDDO
ISTHEP(1) = 4
ISTHEP(2) = 4
JMOHEP(1,1) = -1
JMOHEP(2,1) = -1
JMOHEP(1,2) = -1
JMOHEP(2,2) = -1
iret=0
1000 return
1001 iret=-1
goto 1000
END
*===usrhis=============================================================*
*
SUBROUTINE DT_USRHIS(MODE)
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
SAVE
*
* COMMON /DTEVT1/ :
* NHKK number of entries in common block
* NEVHKK number of the event
* ISTHKK(i) status code for entry i
* IDHKK(i) identifier for the entry
* (for particles: identifier according
* to the PDG numbering scheme)
* JMOHKK(1,i) pointer to the entry of the first mother
* of entry i
* JMOHKK(2,i) pointer to the entry of the second mother
* of entry i
* JDAHKK(1,i) pointer to the entry of the first daughter
* of entry i
* JDAHKK(2,i) pointer to the entry of the second daughter
* of entry i
* PHKK(1..3,i) 3-momentum
* PHKK(4,i) energy
* PHKK(5,i) mass
*
* event history
PARAMETER (NMXHKK=200000)
COMMON /DTEVT1/ NHKK,NEVHKK,ISTHKK(NMXHKK),IDHKK(NMXHKK),
& JMOHKK(2,NMXHKK),JDAHKK(2,NMXHKK),
& PHKK(5,NMXHKK),VHKK(4,NMXHKK),WHKK(4,NMXHKK)
* extended event history
COMMON /DTEVT2/ IDRES(NMXHKK),IDXRES(NMXHKK),NOBAM(NMXHKK),
& IDBAM(NMXHKK),IDCH(NMXHKK),NPOINT(10),
& IHIST(2,NMXHKK)
GOTO (1,2,3) MODE
*------------------------------------------------------------------
*
1 CONTINUE
*
* initializations
*
* Called with MODE=1 once at the beginning of the run.
*
RETURN
*
*------------------------------------------------------------------
*
2 CONTINUE
*
* scoring of the present event
*
* Called with MODE=2 every time one event has been finished.
*
* The final state particles from the actual event (number NEVHKK)
* can be found in DTEVT1 and identified by their status:
*
* ISTHKK(i) = 1 final state particle produced in
* photon-/hadron-/nucleon-nucleon collisions or
* in intranuclear cascade processes
* -1 nucleons, deuterons, H-3, He-3, He-4 evaporated
* from excited nucleus and
* photons produced in nuclear deexcitation processes
* 1001 residual nucleus (ground state)
*
* The types of these particles/nuclei are given in IDHKK as follows
*
* all final state part. except nuclei :
* IDHKK(i)=particle identifier according to PDG numbering scheme
* nuclei (evaporation products, and residual nucleus) :
* IDHKK(i)=80000, IDRES(i)=mass number, IDXRES(i)=charge number
*
* The 4-momenta and masses can be found in PHKK (target nucleus rest frame):
* PHKK(1..3,i) 3-momentum (p_x,p_y,p_z)
* PHKK(4,i) energy
* PHKK(5,i) mass
*
*
*
* Pick out the final state particles from DTEVT1 in each event for
* instance by the following loop (NHKK=number of entries in the present
* event) and fill your histograms
C DO 20 I=1,NHKK
C IF (ABS(ISTHKK(I)).EQ.1) THEN
C ELSEIF (ABS(ISTHKK(I)).EQ.1001) THEN
C ENDIF
C 20 CONTINUE
* At any time during the run a list of the actual entries in DTEVT1 and
* DTEVT2 can be obtained (output unit 6) by the following statement:
C CALL DT_EVTOUT(4)
RETURN
*
*------------------------------------------------------------------
*
3 CONTINUE
*
* output/statistics/histograms etc.
*
* Called with MODE=3 once after all events have been sampled.
*
RETURN
END
This source diff could not be displayed because it is too large. You can view the blob instead.
+-------------------------------------------------------------+
| |
| |
| DPMJET 3.0 |
| |
| |
| S. Roesler+), R. Engel#), J. Ranft*) |
| |
| +) CERN, DGS-RP |
| CH-1211 Geneva 23, Switzerland |
| Email: Stefan.Roesler@cern.ch |
| |
| #) Institut fuer Kernphysik |
| Forschungszentrum Karlsruhe |
| D-76021 Karlsruhe, Germany |
| |
| *) University of Siegen, Dept. of Physics |
| D-57068 Siegen, Germany |
| |
| |
| http://home.cern.ch/sroesler/dpmjet3.html |
| |
| |
| Monte Carlo models used for event generation: |
| PHOJET 1.12, JETSET 7.4 and LEPTO 6.5.1 |
| |
+-------------------------------------------------------------+
INPUT OPTIONS
_______________
The input of DPMJET consists of option cards. Option cards have all the
same structure and have to be given in fixed format except for the
section enclosed by PHOINPUT and ENDINPUT which can be given in free format.
CODEWD, (WHAT(I),I=1,6), SDUM (default fixed format is
A10,6E10.0,A8)
where:
- CODEWD is the option keyword
- The WHAT-parameters are numerical data
- SDUM may contain literal data
The order of the input cards is free, with the exception of the START card
which initiates event generation and the BEAM card (see below).
Most definitions have some default values. If these are acceptable,
it is not compulsory that the corresponding option card appear
explicitly in the input sequence. Similarly, for most WHAT and/or SDUM
parameters a default value is applied if the corresponding field is left
blank (or set = 0.0) in the input card.
Several option cards may appear more than once in the input sequence.
In most cases, each of such additional cards obviously adds more
definitions to those already given, provided they are different and not
contradictory. In case of conflict, the last given generally overrides
the previous one(s).
Any line starting with "*" is treated as a comment line.
1) List of input options
------------------------
*** general options ***
TITLE title of run
START start of event generation
STOP stop of the event generation
RNDMINIT initialization of random number generator
*** interacting particles ***
PROJPAR projectile parameters
TARPAR target parameters
EMULSION definition of nuclear target emulsions or composite targets
*** collision energy ***
ENERGY interaction energy (per nucleon, lab)
MOMENTUM interaction momentum (per nucleon, lab)
CMENERGY interaction energy (nucleon-nucleon cms)
BEAM definition of beam parameters
*** model for hadron / lepton / photon - nucleon interactions ***
MODEL model to be used to treat nucleon-nucleon interactions
PHOINPUT start of PHOJET-specific input
ENDINPUT end of PHOJET-specific input
HADRIN HADRIN module
LEPTO-CUT parameter CUT in LEPTO-common /LEPTOU/
LEPTO-LST parameter LST in LEPTO-common /LEPTOU/
LEPTO-PARL parameter PARL in LEPTO-common /LEPTOU/
*** Glauber formalism - cross sections ***
GLAUB-PAR parameters in Glauber-formalism
GLAUB-INI pre-initialization of profile function
FLUCTUAT treatment of cross section fluctuations
VDM-PAR1 parameters in gamma-nucleus cross section calculation
VDM-PAR2 parameters in gamma-nucleus cross section calculation
XS-TABLE output of cross section table for requested interaction
CENTRAL biasing in impact parameter