TABLE OF CONTENTS
- 1. /master_2Body
- 1.1. master_2Body/debug
- 1.2. master_2Body/useHiEnergy
- 1.3. master_2Body/HiEnergyThresholdBarMes
- 1.4. master_2Body/HiEnergyThresholdBarMesDelta
- 1.5. master_2Body/HiEnergyThresholdBarBar
- 1.6. master_2Body/HiEnergyThresholdBarBarDelta
- 1.7. master_2Body/HiEnergyThresholdBarAntibar
- 1.8. master_2Body/HiEnergyThresholdBarAntibarDelta
- 1.9. master_2Body/xSectionCutOff
- 1.10. master_2Body/correctEnergy
- 1.11. master_2Body/correctEnergy_message
- 1.12. master_2Body/coulombCorrect
- 1.13. master_2Body/usePythia
- 1.14. master_2Body/usePythia_BaB
- 1.15. master_2Body/useManni
- 1.16. master_2Body/ElastAngDist
- 1.17. master_2Body/baryonBaryonScattering
- 1.18. master_2Body/baryonMesonScattering
- 1.19. master_2Body/mesonMesonScattering
- 1.20. master_2Body/coarse
- 1.21. master_2Body/bmax_nucleonNucleon
- 1.22. master_2Body/bmax_nucleonResonance
- 1.23. master_2Body/bmax_hyperonNucleon
- 1.24. master_2Body/bmax_baryonPion
- 1.25. master_2Body/bmax_baryonMeson
- 1.26. master_2Body/bmax_mesonMeson
- 1.27. master_2Body/flagElastBB
- 1.28. master_2Body/OverideSigma_PiN
- 1.29. master_2Body/OverideSigma_RhoN
- 1.30. master_2Body/OverideSigma_PiPi
- 1.31. master_2Body/Overide_PiPi_ResIsElast
- 1.32. master_2Body/omega_K_factor
- 1.33. master_2Body/mesMes_do2to2
- 1.34. master_2Body/mesMes_useWidth
- 1.35. master_2Body/readInput
- 1.36. master_2Body/master_2body
- 1.37. master_2Body/collide_2body
- 1.38. master_2Body/check_veryRough
- 1.39. master_2Body/checkKodama_Rough
- 1.40. master_2Body/generateFinalState
- 1.40.1. generateFinalState/ResetPosition
- 1.41. master_2Body/coulombDifference
- 1.42. master_2Body/setKinematics
- 1.43. master_2Body/setKinematicsHiEnergy
- 1.44. master_2Body/XsectionMaster
- 1.44.1. XsectionMaster/DecideHiEnergy
- 1.44.2. XsectionMaster/mesMes
- 1.44.3. XsectionMaster/barMes
- 1.44.4. XsectionMaster/barBar
- 1.45. master_2Body/sigtot_BB
- 1.46. master_2Body/HiEnergyContrib
/master_2Body [ Modules ]
NAME
module master_2Body
PURPOSE
Implements all 2-body processes (a b -> X).
master_2Body/debug [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
logical, parameter :: debug=.false.
PURPOSE
Switch for debug information
master_2Body/useHiEnergy [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
logical, save :: useHiEnergy = .true.
PURPOSE
Switch to turn HiEnergy on/off. Formerly known as "useFritiof".
NOTES
Please be very sure what you are doing when setting this parameter to .false.!
master_2Body/HiEnergyThresholdBarMes [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, save :: HiEnergyThresholdBarMes = 2.2
PURPOSE
Sqrt(s) threshold for HiEnergy in Baryon-Meson Reactions
master_2Body/HiEnergyThresholdBarMesDelta [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, save :: HiEnergyThresholdBarMesDelta = 0.2
PURPOSE
width for the Sqrt(s) threshold for HiEnergy in Baryon-Meson Reactions
master_2Body/HiEnergyThresholdBarBar [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, save :: HiEnergyThresholdBarBar = 3.4
PURPOSE
Sqrt(s) threshold for HiEnergy in Baryon-Baryon Reactions
master_2Body/HiEnergyThresholdBarBarDelta [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, save :: HiEnergyThresholdBarBarDelta = 0.1
PURPOSE
width for the Sqrt(s) threshold for HiEnergy in Baryon-Baryon Reactions
master_2Body/HiEnergyThresholdBarAntibar [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, save :: HiEnergyThresholdBarAntibar = 2.38
PURPOSE
Sqrt(s) threshold for HiEnergy in Baryon-Antibaryon Reactions
master_2Body/HiEnergyThresholdBarAntibarDelta [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, save :: HiEnergyThresholdBarAntibarDelta = 0.0
PURPOSE
width for the Sqrt(s) threshold for HiEnergy in Baryon-Antibaryon Reactions
master_2Body/xSectionCutOff [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, parameter, public :: xSectionCutOff=1.E-10
PURPOSE
No reaction takes place if Xsection is below this value! Units: mB
master_2Body/correctEnergy [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
logical,save :: correctEnergy=.true.
PURPOSE
Scale final state momenta to fulfill energy and momentum conservation. If .false. energy conservation is violated
master_2Body/correctEnergy_message [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
logical,save :: correctEnergy_message=.true.
PURPOSE
Switch off error message for energy correction failures.
master_2Body/coulombCorrect [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
logical,save :: coulombCorrect=.false.
PURPOSE
Since the new particles are initialized at new positions, also the total coulomb energy might change. If .true. than this is taken into account and some correction to sqrt(s) is done.
NOTES
Should only be used if the new finalstate particles are initialized in the middle of the two initial state particles!
According to OB, this parameter, which switches on/off the usage of the routine "CoulombDifference", has more or less some nostalgical reasons. Better not to use it nowadays anymore!
master_2Body/usePythia [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
integer,save :: usePythia = 1
PURPOSE
This flag decides whether to use Fritiof or Pythia for high-energy collisions:
- 0: use Fritiof
- 1: use Pythia
NOTES
- This flag is not used in the baryon-antibaryon channel
master_2Body/usePythia_BaB [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
integer,save :: usePythia_BaB = 0
PURPOSE
This flag decides whether to use Fritiof or Pythia for high-energy baryon-antibaryon collisions:
- 0: use Fritiof
- 1: use Pythia
master_2Body/useManni [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
logical,save :: useManni = .true.
PURPOSE
Flag, whether to use meson-baryon annhilation as proposed by Markus Wagner (Diploma, Giessen 2004), but with some enhanced treatment
master_2Body/ElastAngDist [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
integer,save :: ElastAngDist = 3
PURPOSE
Choice of angular distribution in (high-energy) elastic collisions (cf. DoColl_Elast):
- 1 = isotropic
- 2 = J. Cugnon et al., NPA 352, 505 (1981)
- 3 = Pythia (default)
master_2Body/baryonBaryonScattering [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
logical, save :: baryonBaryonScattering=.true.
PURPOSE
Switch to turn off baryon-baryon-Scattering
master_2Body/baryonMesonScattering [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
logical, save :: baryonMesonScattering=.true.
PURPOSE
Switch to turn off baryon-Meson-Scattering
master_2Body/mesonMesonScattering [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
logical, save :: mesonMesonScattering=.true.
PURPOSE
Switch to turn off meson-Meson-Scattering
master_2Body/coarse [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, dimension(1:3), save :: coarse=(/3.,4.,4./) !baryonBaryon, baryonMeson, mesonMeson
PURPOSE
coarse maximal impact parameter (in fm)
master_2Body/bmax_nucleonNucleon [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, save :: bmax_nucleonNucleon=2.52
PURPOSE
Real maximal impact parameter for nucleon-nucleon-scattering. Maximal crossection is
bMax**2 * pi * 10 mb/fm**2 = (2.52**2*pi*10) mb = 199.5 mb
master_2Body/bmax_nucleonResonance [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, save :: bmax_nucleonResonance=1.60
PURPOSE
Real maximal impact parameter for nucleon-resonance scattering. Maximal crossection is
bMax**2 * pi * 10 mb/fm**2 = (1.60**2*pi*10) mb = 80.4 mb
master_2Body/bmax_hyperonNucleon [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, save :: bmax_hyperonNucleon=2.52
PURPOSE
Real maximal impact parameter for hyperon-nucleon-scattering. Maximal crossection is
bMax**2 * pi * 10 mb/fm**2 = (2.52**2*pi*10) mb = 199.5 mb
master_2Body/bmax_baryonPion [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, save :: bmax_baryonPion=2.52
PURPOSE
real maximal impact parameter for baryon pion scattering
master_2Body/bmax_baryonMeson [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, save :: bmax_baryonMeson=2.52
PURPOSE
real maximal impact parameter for baryon-Meson-scattering
master_2Body/bmax_mesonMeson [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, save :: bmax_mesonMeson=2.
PURPOSE
real maximal impact parameter for meson-meson-scattering
master_2Body/flagElastBB [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
logical, save :: flagElastBB = .false.
PURPOSE
If .true., use a constant elastic baryon-baryon cross section of 40 mb and no inelastic baryon-baryon scattering.
master_2Body/OverideSigma_PiN [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, save :: OverideSigma_PiN=-99.9
PURPOSE
Parameter to replace the calculated cross section for pi+N collision by a fixed value (in mb). Only in use if >= 0.
The elastic cross section is assumed to be 1/10 of the given value.
master_2Body/OverideSigma_RhoN [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, save :: OverideSigma_RhoN=-99.9
PURPOSE
Parameter to replace the calculated cross section for rho+N collision by a fixed value (in mb). Only in use if >= 0.
The elastic cross section is assumed to be 1/10 of the given value.
master_2Body/OverideSigma_PiPi [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, save :: OverideSigma_PiPi=-99.9
PURPOSE
Parameter to replace the calculated cross section for pi+pi collision by a fixed value (in mb). Only in use if >= 0.
We set sigma_elast = sigma_tot
master_2Body/Overide_PiPi_ResIsElast [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
logical, save :: Overide_PiPi_ResIsElast=.false.
PURPOSE
Flag to replace the calculated cross section for pi+pi collision; The calculated resonant cross section will be transformed into the elastic cross section. Thus no resonances will be propagated explicitely, but they show up in the cross section
We set sigma_elast = sigma_Res, sigma_Res = 0, sigma_tot = sigma_elast
please note: background processes as pi pi <-> K K~ are *not* affected by this switch. You have to disable those additionally by hand, see mesMes_do2to2
master_2Body/omega_K_factor [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
real, save :: omega_K_factor = 2.
PURPOSE
Modification factor for the inelastic omega-nucleon cross section. Necessary to describe transpacrency ratio data measured by CBELSA/TAPS, see: http://arxiv.org/abs/1210.3074
master_2Body/mesMes_do2to2 [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
logical, save :: mesMes_do2to2 = .true.
PURPOSE
flag whether to do m m' <-> K K~, K K*~ etc.
master_2Body/mesMes_useWidth [ Global module-variables ]
[ Top ] [ master_2Body ] [ Global module-variables ]
SOURCE
logical, save :: mesMes_useWidth = .false.
PURPOSE
flag whether to use the width in m m' <-> K K~, K K*~ etc. This is needed to enforce detailed balance. Otherwise only pole masses are used.
master_2Body/readInput [ Subroutines ]
[ Top ] [ master_2Body ] [ Subroutines ]
NAME
subroutine readInput
PURPOSE
Reads input in jobcard out of namelist "master_2Body"
master_2Body/master_2body [ Namelists ]
[ Top ] [ master_2Body ] [ Namelists ]
NAME
NAMELIST master_2Body
PURPOSE
Includes the switches:
- correctEnergy
- baryonBaryonScattering
- baryonMesonScattering
- mesonMesonScattering
- usePythia
- usePythia_BaB
- useHiEnergy
- HiEnergyThresholdBarMes
- HiEnergyThresholdBarMesDelta
- HiEnergyThresholdBarBar
- HiEnergyThresholdBarBarDelta
- HiEnergyThresholdBarAntibar
- HiEnergyThresholdBarAntibarDelta
- useManni
- ElastAngDist
- flagElastBB
- coarse
- bmax_nucleonNucleon
- bmax_nucleonResonance
- bmax_hyperonNucleon
- bmax_baryonPion
- bmax_baryonMeson
- bmax_mesonMeson
- correctEnergy_message
- OverideSigma_PiN
- OverideSigma_RhoN
- OverideSigma_PiPi
- Overide_PiPi_ResIsElast
- omega_K_factor
- coulombCorrect
- mesMes_do2to2
- mesMes_useWidth
master_2Body/collide_2body [ Subroutines ]
[ Top ] [ master_2Body ] [ Subroutines ]
NAME
subroutine collide_2body(partIn, finalState, time, collFlag, HiEnergyFlag, HiEnergyType, collTime, weightLocal, sigTot_out, pauliIncluded_out)
PURPOSE
Evaluates for two given particles the final states. First it checks the collision criteria, then it evaluates the final state if the collision criteria is fulfilled.
INPUTS
- type(particle),dimension(:) :: partIn -- incoming pair of particles
- type(particle),dimension(:) :: finalState -- produced final state particles
- real :: time -- time in fm
OUTPUT
- type(particle),dimension(:) :: finalState -- produced final state particles
- logical :: collFlag -- true if collision takes place
- logical :: HiEnergyFlag -- true if HiEnergy was used
- integer :: HiEnergyType -- 0:LowEnergy, 1:Fritiof, 2:Pythia
- real, optional :: collTime -- Time instant in the computational frame when the two particles collide (with respect to the current "BUU time" used for time stepping)
- integer, optional :: weightLocal -- Weight used for local ensemble method for reweighting the probability in the collision criteria. Not necessary in case of localEnsemble=.false.
- real, optional :: sigTot_out -- total cross section
- logical, optional :: pauliIncluded_out -- true if Pauli blocking was already included in the cross section evaluation
NOTES
"finalState" has to be given as input with some values set properly!
master_2Body/check_veryRough [ Functions ]
[ Top ] [ master_2Body ] [ Functions ]
NAME
logical function check_veryRough(partIn,stringFactor,numEnsembles,scenario)
PURPOSE
Very Rough collision criterium
INPUTS
- type(particle), dimension(1:2) :: partIn
- real :: stringFactor
- integer :: numEnsembles -- number of ensembles
- integer :: scenario -- type of scattering scenario
OUTPUT
- logical :: flag
master_2Body/checkKodama_Rough [ Functions ]
[ Top ] [ master_2Body ] [ Functions ]
NAME
logical function checkKodama_Rough(partIn,stringFactor,numEnsembles,scenario)
PURPOSE
Checks in a rough way wether the "partIn" of particles is so close in space that a collision should take place. Therefore we check with the kodama criteria whether a collision would take place, if we assume that the Xsection is maximal, which means that
xSection=2 pi cutOff**2.
If "kodama_position" returns .true. than the "flag" is set .true. .
NOTES
This check is meant to save computation time. If a collision is already excluded assuming the maximal cross section, then we do not even have to check for the real cross section and the correct collision criteria!
INPUTS
- type(particle), dimension(1:2):: partIn -- incoming particles
- real :: stringFactor -- XS reduction factor
- integer :: numEnsembles -- number of ensembles used
- integer :: scenario -- kind of scattering scenario
OUTPUT
- logical :: flag
master_2Body/generateFinalState [ Subroutines ]
[ Top ] [ master_2Body ] [ Subroutines ]
NAME
subroutine generateFinalState(partIn, finalState, stringFactor, numEnsembles, time, collFlag, HiEnergyFlag, HiEnergyType, weightLocal, scenario0, sigTot_out, pauliIncluded_out)
PURPOSE
This is the routine, which really does the collision
INPUTS
- type(particle), dimension(1:2) :: partIn -- incoming particles
- real :: stringFactor -- rescaling of XS
- integer :: numEnsembles -- number of ensembles
- real :: time -- actual time step
- integer, optional :: weightLocal -- weight which is used for the local ensemble method. Used for reweighting the probability in the collision criteria. Not necessary in case of localEnsemble=.false.
- integer, optional :: scenario0 -- if given : BarBar,BarMes,MesMes
OUTPUT
- type(particle), dimension(:) :: finalState -- outgoing particles
- logical :: collFlag -- true if collisions was okay
- logical :: HiEnergyFlag -- true if HiEnergy was used
- integer :: HiEnergyType -- 0:LowEnergy, 1:Fritiof, 2:Pythia
- real, optional :: sigTot_out -- total cross section
- logical, optional :: pauliIncluded_out -- true if Pauli blocking was already included in the cross section evaluation
generateFinalState/ResetPosition [ Subroutines ]
[ Top ] [ generateFinalState ] [ Subroutines ]
NAME
subroutine ResetPosition
PURPOSE
- calculate maxID, i.e. the number of finalState-particles
- set position of finalState-particles: It loops over the FS particles vector and sets for the first FS-particle, which is baryon/meson as the first IS-particle, the spatial position as the first IS particle. Looping continues and the same is done for the next FS particle, which is of the same type as the secon IS particle. All other particles get as position the position of the interaction.
NOTES
It is even a little bit more involved; get the power, read the source ;)
master_2Body/coulombDifference [ Functions ]
[ Top ] [ master_2Body ] [ Functions ]
NAME
real function coulombDifference(pos_1,pos_2,charge_1,charge_2)
PURPOSE
This function evaluates the difference of the sum of Coulomb energy of two charges at positions "pos_1" and "pos_2" compared to the Coulomb energy of both charges at the point in the middle:
charge_1*V(pos_1) + charge_2*V(pos_2) - (charge_1+charge_2)*V( [pos_1+pos_2]/2 )
NOTES
The coulomb potential is created by the nucleus and not by the charges given here as argument.
According to OB, this routine has more or less some nostalgical reasons. Better not to use it nowadays anymore.
master_2Body/setKinematics [ Subroutines ]
[ Top ] [ master_2Body ] [ Subroutines ]
NAME
subroutine setKinematics(srts, srts_vacuum, betaToLRF, betaToCM, mediumAtColl, partIn, finalState, collFlag, verbose)
PURPOSE
Evaluates the kinematics for the "finalState" particles assuming vacuum kinematics (-> no potentials).
INPUTS
- type(particle),dimension(1:2):: partIn -- incoming initial particles
- type(particle),dimension(:) :: finalState -- outgoing particles
- real :: srts -- sqrt(s)
- real :: srts_vacuum -- sqrt(s) in the vacuum
- real, dimension(1:3) :: betaToLRF -- beta of calc frame to LRF frame
- real, dimension(1:3) :: betaToCM -- beta of calc frame to CM frame
- type(medium) :: mediumAtColl -- medium information
- logical, OPTIONAL :: verbose -- flag print messages on/off (default: on)
OUTPUT
- type(particle), dimension(:) :: finalState -- outgoing particles
- logical :: collFlag -- "true" if kinematics could be set
NOTES
- It's important that the Id's, positions, perturbative flags and charges of the "finalState" particles are already set when calling this subroutine.
- Only the kinematics (including masses of the finalState) will be set.
master_2Body/setKinematicsHiEnergy [ Subroutines ]
[ Top ] [ master_2Body ] [ Subroutines ]
NAME
subroutine setKinematicsHiEnergy(srts, srts_vacuum, sigs, betaToCM, partIn, time, finalState, collFlag, HiEnergyType, scenario0)
PURPOSE
Evaluates the kinematics for the "finalState" particles assuming vacuum kinematics (-> no potentials) using FRITIOF or PYTHIA.
INPUTS
- type(particle),dimension(1:2):: partIn -- incoming initial particles
- type(particle), dimension(:) :: finalState -- outgoing particles
- real :: srts -- sqrt(s)
- real :: srts_vacuum -- sqrt(s) in the vacuum
- real, dimension(1:3) :: betaToCM -- beta of calc frame to CM frame
- real, dimenssion(0:7) :: sigs -- XS, cf. isigXXX
- real :: time -- time of event
- integer, OPTIONAL :: scenario0 -- if given : BarBar,BarMes,MesMes
OUTPUT
- type(particle), dimension(:) :: finalState
- logical :: collFlag -- "true" if kinematics could be set
- integer :: HiEnergyType -- (see below)
possible values for "HiEnergyType":
- -3: BaB (Baryon-Antibaryon-Annihilation)
- -2: Manni (Meson-Baryon-Annihilation)
- -1: Elastic or charge exchange
- 0: == Low Energy ==
- 1: FRITIOF
- 2: PYTHIA
NOTES
0) Formerly known as 'setKinematicsFritiof'. 1) there are some "hardwired" switches:
* DoFritiofCor (=.true.) -- Switch to vary the srts-description
2) The cross sections CEX, Anni, Lbar, Sbar, XiBar and JPsi are
relevant only for baryon-antibaryon collisions. Otherwise they are set to zero.
master_2Body/XsectionMaster [ Subroutines ]
[ Top ] [ master_2Body ] [ Subroutines ]
NAME
subroutine XsectionMaster(srts, partIn, mediumAtColl, momLRF,& partOut, sigs, HiEnergyFlag, plotFlag, scenario0, ForceHiEnergy,& pauliIncluded_out)
PURPOSE
Gets as input two colliding particles and returns the total, elastic and annihilation cross sections. In case of resonance model processes it also already returns the final state particles.
INPUTS
- real :: srts -- sqrt(s) of the process
- type(particle),dimension(1:2) :: partIn -- colliding particles
- type(medium) :: mediumAtColl -- Medium informations
- real,dimension(0:3) :: momLRF -- Total Momentum in LRF
- logical, optional :: plotFlag -- Switch plotting the XS
- integer, optional :: scenario0 -- if given: BarBar,BarMes,MesMes
- logical, optional :: ForceHiEnergy -- if given: force scenario selection
OUTPUT
- type(preEvent),dimension(:) :: partOut -- produced particles
- real, dimension(0:7) :: sigs -- XS, cf. isigXXX
- logical :: HiEnergyFlag -- true if HiEnergy is used to generate the final state
- logical,optional :: pauliIncluded_out -- true if Pauli blocking was already included in the cross section evaluation
NOTES
The cross sections for CEX, Anni, Lbar, Sbar and XiBar are relevant only for baryon-antibaryon collisions. Otherwise they are set to zero.
XsectionMaster/DecideHiEnergy [ Functions ]
[ Top ] [ XsectionMaster ] [ Functions ]
NAME
logical function DecideHiEnergy(srts, srts0, dsrts)
PURPOSE
Decide whether to use high-energy prescription or not. For the smooth transition, the logic is the following:
INPUTS
- real :: srts -- sqrt(s) value
- real :: srts0 -- threshold
- real :: dsrts -- width of transition region
OUTPUT
function value
XsectionMaster/mesMes [ Subroutines ]
[ Top ] [ XsectionMaster ] [ Subroutines ]
NAME
subroutine mesMes(srts, partIn, mediumAtColl, momLRF, partOut, sigs)
PURPOSE
Calculate the total and elastic cross section of meson-meson collisions.
INPUTS
- real :: srts -- sqrt(s) of the process (in vacuum!)
- type(particle),dimension(1:2) :: partIn -- colliding particles
- type(medium) :: mediumAtColl -- Medium informations
- real,dimension(0:3) :: momLRF -- Total Momentum in LRF
OUTPUT
- type(preEvent),dimension(:) :: partOut -- produced particles
- real,dimension(0:1) :: sigs -- XS, cf. isigXXX
NOTES
original pi pi <-> K Kbar from Martin Effenberger, other channels added by Markus Wagner
XsectionMaster/barMes [ Subroutines ]
[ Top ] [ XsectionMaster ] [ Subroutines ]
NAME
subroutine barMes(srts, partIn, mediumAtColl, momLRF, partOut, sigs)
PURPOSE
Calculate the total and elastic cross section of baryon-meson collisions.
INPUTS
- real :: srts -- sqrt(s) of the process
- type(particle),dimension(1:2) :: partIn -- colliding particles
- type(medium) :: mediumAtColl -- Medium informations
- real,dimension(0:3) :: momLRF -- Total Momentum in LRF
OUTPUT
- type(preEvent),dimension(:) :: partOut -- produced particles
- real,dimension(0:1) :: sigs -- XS, cf. isigXXX
NOTES
the internal variable "HiEnergyFlag" is input.
XsectionMaster/barBar [ Subroutines ]
[ Top ] [ XsectionMaster ] [ Subroutines ]
NAME
subroutine barBar(srts, partIn, mediumAtColl, partOut, & sigs, PauliIncluded)
PURPOSE
Calculate the total and elastic cross section of baryon-baryon collisions.
INPUTS
- real :: srts -- sqrt(s) of the process
- type(particle),dimension(1:2) :: partIn -- colliding particles
- type(medium) :: mediumAtColl -- Medium informations
OUTPUT
- type(preEvent),dimension(1:4) :: partOut -- produced particles
- real,dimension(0:7) :: sigs -- Xsection, cf. isigXXX
- logical :: pauliIncluded -- true if Pauli blocking is included when calculating the Xsection
NOTES
the internal variable "HiEnergyFlag" is input.
master_2Body/sigtot_BB [ Functions ]
[ Top ] [ master_2Body ] [ Functions ]
NAME
real function sigtot_BB(srts, ID, totalcharge)
PURPOSE
This routine provides parametrizations of the total baryon-baryon cross sections (possibly consisting of different pieces for different energy regimes).
INPUTS
- real, intent(in) :: srts -- sqrt(s) of the process
- integer, intent(in) :: ID(1:2) -- IDs of colliding particles
- integer, intent(in) :: totalcharge -- total charge of colliding particles
References:
- PDG, J. Beringer et al., Phys. Rev. D 86 (2012) 010001
- J. Cugnon, J. Vandermeulen, D. L’hote, Nuclear Instrum. Methods B 111 (1996) 215–220.
master_2Body/HiEnergyContrib [ Functions ]
[ Top ] [ master_2Body ] [ Functions ]
NAME
real function HiEnergyContrib(srts, ID)
PURPOSE
This routine returns the relative importance of the HiEnergy part, i.e. the return value varies between 0 (full low energy resonance model) and 1 (full HiEnergy model)
This routine is not used by XsectionMaster and related routines. But it may be helpful for plotting the XS.
INPUTS
- real, intent(in) :: srts -- sqrt(s) of the process
- integer, intent(in) :: ID(1:2) -- IDs of colliding particles
OUTPUT
function value as described above
NOTES
This routine assumes a smooth transition. If you want to have the (old) sharp transition, just compare the function value against 0.5: <0.5=resonance, >0.5=HiEnergy