gibuu is hosted by Hepforge, IPPP Durham
GiBUU

TABLE OF CONTENTS


/master_2Body [ Modules ]

[ Top ] [ 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,save  :: 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/smoothHiEnergy [ Global module-variables ]

[ Top ] [ master_2Body ] [ Global module-variables ]

SOURCE

  logical, save :: smoothHiEnergy = .true.

PURPOSE

Flag to indicate, whether a smooth transition from the resonance prescription to the HiEnergy routines should be performed or not.


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

Flag, whether to use Fritiof or Pythia for high energetic collisions (except for baryon-antibaryon channel, where separate switch is used now):

  • 0: Use Fritiof
  • 1: Use Pythia for all collisons above UsePythiaCut,
  • 2: as 1, but only for primary collisions


master_2Body/usePythiaCut [ Global module-variables ]

[ Top ] [ master_2Body ] [ Global module-variables ]

SOURCE

  real,save :: usePythiaCut = 2.

PURPOSE

cut-off sqrt(s): above this value PYTHIA is usable directly (for all channels except for baryon-antibaryon, where separate cut-off is used now)


master_2Body/usePythia_BaB [ Global module-variables ]

[ Top ] [ master_2Body ] [ Global module-variables ]

SOURCE

  integer,save :: usePythia_BaB = 0

PURPOSE

Flag, whether to use Fritiof or Pythia for high energetic baryon-antibaryon collisions:

  • 0: Use Fritiof
  • 1: Use Pythia for all collisons above UsePythiaCut_BaB,
  • 2: as 1, but only for primary collisions


master_2Body/usePythiaCut_BaB [ Global module-variables ]

[ Top ] [ master_2Body ] [ Global module-variables ]

SOURCE

  real,save :: usePythiaCut_BaB = 2.

PURPOSE

cut-off sqrt(s): above this value PYTHIA is usable directly for the baryon-antibaryon collisions


master_2Body/doPythiaReweight [ Global module-variables ]

[ Top ] [ master_2Body ] [ Global module-variables ]

SOURCE

  logical,save :: doPythiaReweight = .FALSE.

PURPOSE

switch whether PYTHIA is run in reweighting mode or not


master_2Body/PythiaWeight [ Global module-variables ]

[ Top ] [ master_2Body ] [ Global module-variables ]

SOURCE

  real,save :: PythiaWeight = 1.0

PURPOSE

Weigth of actual Event (cf. PYTHIA-reweighting)


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 by the recipie of Markus Wagner (Diploma, Giessen 2004)


master_2Body/ElastAngDist [ Global module-variables ]

[ Top ] [ master_2Body ] [ Global module-variables ]

SOURCE

  integer,save :: ElastAngDist = 3

PURPOSE

Choice of angular distribution in 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


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. --- set constant energy independent elastic baryon-baryon scattering cross section


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/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/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:


master_2Body/collide_2body [ Subroutines ]

[ Top ] [ master_2Body ] [ Subroutines ]

NAME

subroutine collide_2body (pair, finalState, time, collisionFlag, HiEnergyFlag, HiEnergyType, EventWeight, collision_time, 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(:) :: pair -- 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 :: collisionFlag -- true if collision takes place
  • logical :: HiEnergyFlag -- true if HiEnergy was used
  • integer :: HiEnergyType -- 0:LowEnergy, 1:Fritiof, 2:Pythia
  • real, optional :: EventWeight -- weight of Pythia-reweighting
  • real, optional :: collision_time -- 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(pair,stringFactor,numEnsembles,scenario) Result(flag)

PURPOSE

Very Rough collision criterium

INPUTS

  • type(particle), dimension(1:2) :: pair
  • 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(pair,stringFactor,numEnsembles,scenario) Result(flag)

PURPOSE

Checks in a rough way wether the "pair" 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):: pair -- incoming particles
  • real :: stringFactor -- XS reduction factor
  • integer :: numEnsembles -- number of ensembles used in the code
  • integer :: scenario -- kind of scattering scenario

OUTPUT

  • logical :: flag


master_2Body/generateFinalState [ Subroutines ]

[ Top ] [ master_2Body ] [ Subroutines ]

NAME

subroutine generateFinalState(pair, finalState, stringFactor, numEnsembles, time, collisionFlag, HiEnergyFlag, HiEnergyType, weightLocal, scenario0, sigTot_out, pauliIncluded_out)

PURPOSE

This is the routine, which really does the collision

INPUTS

  • type(particle), dimension(1:2) :: pair -- 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 :: collisionFlag -- 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, medium_AtCollision, pairIn, finalState, collisionFlag, verbose)

PURPOSE

Evaluates the kinematics for the "finalState" particles assuming vacuum kinematics (-> no potentials).

INPUTS

  • type(particle),dimension(1:2):: pairIn -- 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) :: medium_AtCollision -- medium information
  • logical, OPTIONAL :: verbose -- flag print messages on/off (default: on)

OUTPUT

  • type(particle), dimension(:) :: finalState -- outgoing particles
  • logical :: collisionFlag -- "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, sigmaTot, sigmaElast, &

                                    sigmaCEX, sigmaAnni, sigmaLbar, sigmaSbar, sigmaXiBar, sigmaJPsi, &
                                    betaToCM, pairIn, time, finalState, collisionFlag, 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):: pairIn -- 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 :: sigmaTot -- total XS
  • real :: sigmaElast -- elastic XS
  • real :: sigmaCEX -- charge exchange XS
  • real :: sigmaAnni -- annihilation XS
  • real :: sigmaLbar -- Lambda LambdaBar exclusive production XS
  • real :: sigmaSbar -- Lambda SigmaBar + LambdaBar Sigma exclusive production XS
  • real :: sigmaXiBar -- Xi XiBar exclusive production XS
  • real :: sigmaJPsi -- sigmaJPsi exclusive production XS
  • real :: time -- time of event
  • integer, OPTIONAL :: scenario0 -- if given : BarBar,BarMes,MesMes

OUTPUT

  • type(particle), dimension(:) :: finalState
  • logical :: collisionFlag -- "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 sigmaCEX, sigmaAnni, sigmaLbar, sigmaSbar, sigmaXiBar and sigmaJPsi are relevant only for

   baryon-antibaryon collisions. Otherwise they are set to zero.


master_2Body/LogicMatrix [ Functions ]

[ Top ] [ master_2Body ] [ Functions ]

NAME

integer function LogicMatrix(flag1,flag2)

PURPOSE

convert the 4 possibilities of two logical variables into 3 integer values:

                   | flag1 = .FALSE. ! flag1 = .TRUE.
   ----------------+-----------------+---------------
   flag2 = .FALSE. |       1         !       2
   flag2 = .TRUE.  |       2         !       3
   ----------------+-----------------+---------------

NOTES

  • flag(i)=isMeson(pair(i)%ID) -> 1,2,3 == BarBar,BarMes,MesMes
  • flag(i)=pair(i)%antiparticle -> 1,2,3 == BarBar,BarAntiBar,AntiBarAntiBar


master_2Body/XsectionMaster [ Subroutines ]

[ Top ] [ master_2Body ] [ Subroutines ]

NAME

subroutine XsectionMaster (srts, teilchenIn, mediumATcollision, momentumLRF, teilchenOut, sigmaTot, sigmaElast, sigmaCEX, sigmaAnni, sigmaLbar, sigmaSbar, sigmaXiBar, sigmaJPsi, 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) :: teilchenIn -- colliding particles
  • type(medium) :: mediumATcollision -- Medium informations
  • real,dimension(0:3) :: momentumLRF -- 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(:) :: teilchenOut -- produced particles
  • real :: sigmaTot -- total Xsection
  • real :: sigmaElast -- elastic Xsection
  • real, :: sigmaCEX -- charge exchange Xsection
  • real, :: sigmaAnni -- annihilation Xsection
  • real :: sigmaLbar -- Lambda LambdaBar exclusive production Xsection
  • real :: sigmaSbar -- Lambda SigmaBar + LambdaBar Sigma exclusive production Xsection
  • real :: sigmaXiBar -- Xi XiBar exclusive production Xsection
  • real :: sigmaJPsi -- J/Psi exclusive production Xsection
  • 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 sigmaCEX, sigmaAnni, sigmaLbar, sigmaSbar and sigmaXiBar 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:

  • srts < srts0-dsrts : .false.
  • srts > srts0+dsrts : .true.
  • in between: linear increase of probability

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, teilchenIN, mediumATcollision, momentumLRF, teilchenOUT, sigmaTot, sigmaElast)

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) :: teilchenIn -- colliding particles
  • type(medium) :: mediumATcollision -- Medium informations
  • real,dimension(0:3) :: momentumLRF -- Total Momentum in LRF

OUTPUT

  • type(preEvent),dimension(:) :: teilchenOut -- produced particles
  • real :: sigmaTot -- total Xsection
  • real :: sigmaElast -- elastic Xsection

NOTES

original pi pi <-> K Kbar from Martin Effenberger, other channels are added by Markus Wagner


XsectionMaster/barMes [ Subroutines ]

[ Top ] [ XsectionMaster ] [ Subroutines ]

NAME

subroutine barMes (srts, teilchenIN, mediumATcollision, momentumLRF, teilchenOUT, sigmaTot, sigmaElast)

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) :: teilchenIn -- colliding particles
  • type(medium) :: mediumATcollision -- Medium informations
  • real,dimension(0:3) :: momentumLRF -- Total Momentum in LRF

OUTPUT

  • type(preEvent),dimension(:) :: teilchenOut -- produced particles
  • real :: sigmaTot -- total Xsection
  • real :: sigmaElast -- elastic Xsection

NOTES

the internal variable "HiEnergyFlag" is input.


XsectionMaster/barBar [ Subroutines ]

[ Top ] [ XsectionMaster ] [ Subroutines ]

NAME

subroutine barBar (srts, teilchenIn, mediumATcollision, teilchenOut, sigmaTot, sigmaElast, sigmaCEX, sigmaAnni, sigmaLbar, sigmaSbar, sigmaXiBar, sigmaJPsi, 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) :: teilchenIn -- colliding particles
  • type(medium) :: mediumATcollision -- Medium informations

OUTPUT

  • type(preEvent),dimension(1:4) :: teilchenOut -- produced particles
  • real :: sigmaTot -- total Xsection
  • real :: sigmaElast -- elastic Xsection
  • real :: sigmaCEX -- charge exchange Xsection
  • real :: sigmaAnni -- annihilation Xsection
  • real :: sigmaLbar -- Lambda LambdaBar exclusive production Xsection
  • real :: sigmaSbar -- Lambda SigmaBar + LambdaBar Sigma exclusive production Xsection
  • real :: sigmaXiBar -- Xi XiBar exclusive production Xsection
  • real :: sigmaJPsi -- J/Psi exclusive production Xsection
  • logical, :: pauliIncluded -- true if Pauli blocking is included when calculating the Xsection

NOTES

the internal variable "HiEnergyFlag" is input.


master_2Body/sigtot_NN [ Functions ]

[ Top ] [ master_2Body ] [ Functions ]

NAME

real function sigtot_NN(srts, totalcharge)

PURPOSE

This routine provides a parametrization of the total nucleon-nucleon cross section, consisting of different pieces for different energy regimes.

INPUTS

  • real, intent(in) :: srts -- sqrt(s) of the process
  • integer, intent(in) :: totalcharge -- IDs of colliding particles

References:

  • PDG, L. Montanet et al., Phys. Rev. D 50 (1994) 1173–1814
  • 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 (as for smoothHiEnergy=.true.). If you want to have the (old) sharp transition, just compare the function value against 0.5: <0.5=resonance, >0.5=HiEnergy