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, 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/NN_inmed [ Global module-variables ]

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

SOURCE

  logical, save :: NN_inmed = .true.

PURPOSE

flag for using the Li-Machleidt (PR C 48 (1993) 1702, Eq 15 , PR C 49 (1994) Eq 1) attenuation of NN cross sections in medium.


master_2Body/doScaleResidue [ Global module-variables ]

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

SOURCE

  logical, save :: doScaleResidue = .true.

PURPOSE

scale the cross section of real-pert collisions by a factor N'/N or Z'/Z for a scattering on a neutron or proton, where N' and Z' are calculated via the residuum.


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(partIn, partOut, 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(:) :: partOut -- produced final state particles
  • real :: time -- time in fm

OUTPUT

  • type(particle),dimension(:) :: partOut -- 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

"partOut" 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, partOut, 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(:) :: partOut -- 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, partOut, 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(:) :: partOut -- 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(:) :: partOut -- 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 "partOut" 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, partOut, 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(:) :: partOut -- 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(:) :: partOut
  • 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:

  • 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/mesMesResMass [ Functions ]

[ Top ] [ XsectionMaster ] [ Functions ]

NAME

real function mesMesResMass(partIn, ID)

PURPOSE

Calculate the vacuum mass of the resonance

INPUTS

  • type(particle), dimension(1:2) :: partIn -- Incoming particles
  • integer :: ID -- ID of outgoing resonance

NOTES

  • we have to subtract potentials before calculating the mass; This is also true for mesons, if one considers Coulomb
  • this is analogous to 'resonanceCrossSections/resonanceMass' for barMes
  • sqrts_free gives different results
  • The Coulomb potential of the final resonance is subtracted, not that of the incoming particles. This is the potential, which is added again in 'energyDetermination'. (Coulomb for pi and rho may be different due to different masses!)
  • without Coulomb, it just returns 'sqrtS(partIn)'


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