TABLE OF CONTENTS
- 1. /initHadron
- 1.1. initHadron/impactParameter
- 1.2. initHadron/bRaiseFlag
- 1.3. initHadron/deltaB
- 1.4. initHadron/nRunsPerB
- 1.5. initHadron/perturbative
- 1.6. initHadron/numberParticles
- 1.7. initHadron/particleId
- 1.8. initHadron/antiParticle
- 1.9. initHadron/particleCharge
- 1.10. initHadron/ekin_lab
- 1.11. initHadron/E_bind
- 1.12. initHadron/iniType
- 1.13. initHadron/zChoice
- 1.14. initHadron/delta
- 1.15. initHadron/deltaZ
- 1.16. initHadron/width
- 1.17. initHadron/debug
- 1.18. initHadron/initHadronInduced
- 1.18.1. initHadronInduced/initInput
- 1.18.2. initHadronInduced/setKinematics
- 1.18.3. initHadronInduced/setPosition
- 1.18.4. initHadronInduced/setGeometry
- 1.19. initHadron/hadron
/initHadron [ Modules ]
NAME
module initHadron
PURPOSE
Initialises a hadron for the hadron-nucleus collision.
NOTES
The target nucleus has to be initialised separately (by using initNucPhaseSpace routine) before calling the initHadronInduced routine.
initHadron/impactParameter [ Global module-variables ]
[ Top ] [ initHadron ] [ Global module-variables ]
SOURCE
real, save :: impactParameter=0.
PURPOSE
smaller 0: Impact parameter will be chosen randomly in the interval [0;abs(impactParameter)] (see subroutine setGeometry). It is recommended to take very large negative value of impactParameter in order to have good automatic random choice, e.g. impactParameter=-100.
initHadron/bRaiseFlag [ Global module-variables ]
[ Top ] [ initHadron ] [ Global module-variables ]
SOURCE
logical, save :: bRaiseFlag=.false.
PURPOSE
if .true.: actual impact parameter will be raised by deltaB after nRunsPerB subsequent runs. Starting value is given by the impactParameter variable.
initHadron/deltaB [ Global module-variables ]
[ Top ] [ initHadron ] [ Global module-variables ]
SOURCE
real, save :: deltaB=0.
PURPOSE
impact parameter step (relevant if bRaiseFlag=.true.)
initHadron/nRunsPerB [ Global module-variables ]
[ Top ] [ initHadron ] [ Global module-variables ]
SOURCE
integer, save :: nRunsPerB=1
PURPOSE
number of subsequent runs per impact parameter (relevant if bRaiseFlag=.true.)
initHadron/perturbative [ Global module-variables ]
[ Top ] [ initHadron ] [ Global module-variables ]
SOURCE
logical, save :: perturbative=.false.
PURPOSE
if .true. then the hadron is a perturbative particle
initHadron/numberParticles [ Global module-variables ]
[ Top ] [ initHadron ] [ Global module-variables ]
SOURCE
integer,save :: numberParticles = 200
PURPOSE
Number of projectile testparticles per ensemble in the case of a perturbative treatment
initHadron/particleId [ Global module-variables ]
[ Top ] [ initHadron ] [ Global module-variables ]
SOURCE
integer, save :: particleId=1
PURPOSE
initHadron/antiParticle [ Global module-variables ]
[ Top ] [ initHadron ] [ Global module-variables ]
SOURCE
logical, save :: antiParticle=.false.
PURPOSE
if .true. then the hadron is an antiparticle
initHadron/particleCharge [ Global module-variables ]
[ Top ] [ initHadron ] [ Global module-variables ]
SOURCE
integer, save :: particleCharge=0
PURPOSE
initHadron/ekin_lab [ Global module-variables ]
[ Top ] [ initHadron ] [ Global module-variables ]
SOURCE
real, save :: ekin_lab=1.
PURPOSE
kinetic energy of the hadron in the rest frame of the target nucleus (GeV)
NOTES
If ekin_lab < 0. --- initialization according to the binding energy
initHadron/E_bind [ Global module-variables ]
[ Top ] [ initHadron ] [ Global module-variables ]
SOURCE
real, save :: E_bind=0.
PURPOSE
binding energy of initialized hadron (GeV)
NOTES
Active for iniType= 0,2 if ekin_lab < 0. is set.
initHadron/iniType [ Global module-variables ]
[ Top ] [ initHadron ] [ Global module-variables ]
SOURCE
integer, save :: iniType=0
PURPOSE
- 0: usual initialization for the hadron-nucleus collision
- 1: position and momentum of the hadron is chosen according to the Gaussians centered, resp., at the centre of the nucleus and at zero momentum (impactParameter, distance and ekin_lab have no effect in this case)
- 2: gaussian in coordinate space, but usual sharp momentum choice (impactParameter, distance and ekin_lab work as usual)
initHadron/zChoice [ Global module-variables ]
[ Top ] [ initHadron ] [ Global module-variables ]
SOURCE
integer, save :: zChoice=1
PURPOSE
- 1: hadron is initialised at fixed distance delta from nuclear surface
- 2: hadron is initialised at fixed z
Relevant for iniType=0 or iniType=2.
initHadron/delta [ Global module-variables ]
[ Top ] [ initHadron ] [ Global module-variables ]
SOURCE
real, save :: delta=0.5
PURPOSE
- for zChoice=1: distance from nuclear surface, at which the hadron is initialised [fm]
- for zChoice=2: maximum distance from the edge of nucleus in transverse direction which restricts the choice of actual impact parameter for impactParameter < 0 (for impactParameter > 0 no restriction)
Relevant for iniType=0 or iniType=2.
initHadron/deltaZ [ Global module-variables ]
[ Top ] [ initHadron ] [ Global module-variables ]
SOURCE
real, save :: deltaZ=5.
PURPOSE
z = -deltaZ - R_nucleus, where z is z-coordinate of the hadron Relevant for iniType=0,2 and zChoice=2.
initHadron/width [ Global module-variables ]
[ Top ] [ initHadron ] [ Global module-variables ]
SOURCE
real, save :: width=1.
PURPOSE
Width of a gaussian density profile [fm]. Only relevant for iniType= 1 and 2.
initHadron/debug [ Global module-variables ]
[ Top ] [ initHadron ] [ Global module-variables ]
SOURCE
logical, save :: debug=.false.
PURPOSE
if .true. then additional printouts are done for debugging
initHadron/initHadronInduced [ Subroutines ]
[ Top ] [ initHadron ] [ Subroutines ]
NAME
subroutine initHadronInduced (teilchenReal, teilchenPert)
PURPOSE
Provides initial conditions for a hadron.
INPUTS
- type(particle),dimension(:,:),intent(inout) :: teilchenReal --- array of real particles to store the hadron if it is real
- type(particle),dimension(:,:),intent(inout) :: teilchenPert --- array of perturbative particles to store the hadron if it is perturbative
NOTES
- The user has to provide the namelist 'hadron', which contains the impact parameter, lab. energy, id, charge and antiparticle- parameters of the hadron. If the input impact parameter is negative, then the actual impact parameter is chosen by Monte-Carlo between 0 and abs(input impact parameter).
- The target nucleus has to be initialised before calling this routine.
- The program initialises the real (not perturbative) particle.
initHadronInduced/initInput [ Subroutines ]
[ Top ] [ initHadronInduced ] [ Subroutines ]
NAME
subroutine initInput
PURPOSE
Reads input out of jobcard. Namelist 'hadron'.
initHadron/hadron [ Namelists ]
[ Top ] [ initHadron ] [ Namelists ]
NAME
NAMELIST hadron
PURPOSE
Includes parameters for initialization of a hadron in the case of the hadron-nucleus collision:
- impactParameter
- bRaiseFlag
- deltaB
- nRunsPerB
- perturbative
- numberParticles
- particleId
- antiParticle
- particleCharge
- ekin_lab
- E_bind
- iniType
- zChoice
- delta
- deltaZ
- width
- debug
initHadronInduced/setKinematics [ Subroutines ]
[ Top ] [ initHadronInduced ] [ Subroutines ]
NAME
subroutine setKinematics
PURPOSE
Sets basic kinematics of a hadron colliding with a nucleus.
initHadronInduced/setPosition [ Subroutines ]
[ Top ] [ initHadronInduced ] [ Subroutines ]
NAME
subroutine setPosition
PURPOSE
NOTES
In the case of usual initialisation (initype=0), the actual impact parameter b and the coordinate z has to be defined before by calling the subroutine setGeometry.
initHadronInduced/setGeometry [ Subroutines ]
[ Top ] [ initHadronInduced ] [ Subroutines ]
NAME
subroutine setGeometry (flagPrint)
PURPOSE
Sets the impact parameter b and coordinate z of the hadron.
INPUTS
NOTES
If the input impactParameter is less than zero, than the actual impact parameter is choosen by a Monte-Carlo-decision.