TABLE OF CONTENTS
- 1. baryonWidthVacuum/getAngularMomentum_baryon
- 2. /particleProperties
- 2.1. particleProperties/hadronProperties
- 2.2. particleProperties/hadron
- 2.3. particleProperties/propagationSwitch
- 2.4. particleProperties/usageForXsectionSwitch
- 2.5. particleProperties/rho_dilep
- 2.6. particleProperties/FileNameDecayChannels
- 2.7. particleProperties/PartName
- 2.8. particleProperties/TeXName
- 2.9. particleProperties/InitParticleProperties
- 2.9.1. InitParticleProperties/setParameters
- 2.9.2. InitParticleProperties/decideOnPropagationUsage
- 2.9.3. InitParticleProperties/setThresholds
- 2.9.4. InitParticleProperties/setDecays
- 2.9.5. InitParticleProperties/updateMinmassesAndThresholds
- 2.9.6. InitParticleProperties/initBaryon
- 2.9.7. InitParticleProperties/initMeson
- 2.10. particleProperties/getAngularMomentum_meson
- 2.11. particleProperties/PrintParticleProperties
- 2.12. particleProperties/GiBUU_database.tex
- 2.13. particleProperties/PrintBaryonProperties
- 2.14. particleProperties/PrintMesonProperties
- 2.15. particleProperties/init
- 2.16. particleProperties/initDatabase
- 2.17. particleProperties/ReadInitModify
- 2.17.1. ReadInitModify/mass
- 2.17.2. ReadInitModify/width
- 2.17.3. ReadInitModify/stabilityFlag
- 2.18. particleProperties/ModifyParticles
- 2.19. particleProperties/isStrange
- 2.20. particleProperties/isCharmed
- 2.21. particleProperties/isNonExotic
- 2.22. particleProperties/validCharge
- 2.23. particleProperties/validCharge_ID
/particleProperties [ Modules ]
NAME
module particleProperties
PURPOSE
Defines a database structure that contains the particle properties of all hadrons (baryons and mesons).
particleProperties/hadronProperties [ Types ]
[ Top ] [ particleProperties ] [ Types ]
NAME
type hadronProperties
SOURCE
type, public :: hadronProperties integer, dimension(nDecays) :: decaysID = 0 ! the channel id real, dimension(nDecays) :: decays = 0. ! the branching ratio character(len=12) :: name = 'Invalid' character(len=14) :: nameTeX = 'Invalid' real :: mass = 0. real :: width = 0. real :: spin = 0. ! J integer :: AngularMomentum = 0 ! Angular Momentum of Nucleon-Pion or Lambda-Kaon final state. integer :: isoSpinTimes2 = 0 ! I integer :: strangeness = 0 integer :: charm = 0 integer :: rating = 0 logical :: propagated = .false. logical :: usedForXsections = .false. integer :: stability = 0 real :: minmass = 0. end type hadronProperties
NOTES
Width of different decay channels for 2 Body Decays in the vacuum at the pole mass: The width are supposed to be the same within an isospin multiplet.
The additional flag 'stability' encodes on a bitwise level, how the particle may decay (cf. also master_1Body):
- 1: particle may decay during run, if gammaMed > gammaCutOff
- 2: particle may decay at the end of the run, if gammaMed > 1e-10
- 4: particle may decay at the end via Jetset, if there the parameters allow for a decay.
The default values are 0 or 3. You can change this in your jobcard via the flag StabilityFlag in the namelist "InitStability".
The decay channel IDs are positive for 2-body decays and negative for 3-body decays. Whether it is a meson decay or a baryon decay has to be decided by the property of the parent particle.
particleProperties/hadron [ Global module-variables ]
[ Top ] [ particleProperties ] [ Global module-variables ]
SOURCE
type(hadronProperties), dimension(1:pion+nMes-1), save, public :: hadron
PURPOSE
Database of hadron properties.
USAGE
- To get e.g. the mass of the nucleon type "hadron(nucleon)%mass". The ID's are chosen according to IdTable.
NOTES
- Since the baryons cover the range 1:61 and the mesons 101:122, there is a 'hole' for 62:100.
particleProperties/propagationSwitch [ Global module-variables ]
[ Top ] [ particleProperties ] [ Global module-variables ]
SOURCE
integer, save :: propagationSwitch = 3
PURPOSE
- 0 = propagate resonances with more than 1 star in their rating (irrespar=0 in old code)
- 1 = propagate just the Delta (irrespar=2 in old code)
- 2 = propagate no resonance (irrespar=3 in old code)
- 3 = propagate all resonances (default)
particleProperties/usageForXsectionSwitch [ Global module-variables ]
[ Top ] [ particleProperties ] [ Global module-variables ]
SOURCE
integer, save :: usageForXsectionSwitch = 2
PURPOSE
- 0 = use resonances with more than 1 star in their rating for cross sections
- 1 = use all resonances for cross sections
- 2 = use all resonances besides the 1* star I=1/2 resonances (default)
- 3 = use only the Delta
particleProperties/rho_dilep [ Global module-variables ]
[ Top ] [ particleProperties ] [ Global module-variables ]
SOURCE
logical, save :: rho_dilep = .false.
PURPOSE
If .false. (default), the rho meson width will be exclusively given by the 2pi decay and its minmass will be 2m_pi. If .true., the dilepton width will be included in the width and spectral function of the rho, and the minmass will be 2m_e. This is important for dilepton spectra, in order to get contributions from the rho below the 2pi threshold.
particleProperties/FileNameDecayChannels [ Global module-variables ]
[ Top ] [ particleProperties ] [ Global module-variables ]
PURPOSE
The absolute filename of the file containing decay channel infos.
possible values:
- if not set, default is '[path_To_Input]/DecayChannels.dat'
- if given, but does not contain '/': default is '[path_To_Input]/[FileNameDecayChannels]'
- otherwise: filename is absolute, including path
NOTE if you want to use the file 'XXX.dat' in the actual directory, give it as './XXX.dat'
SOURCE
character(300), save :: FileNameDecayChannels = ''
particleProperties/PartName [ Functions ]
[ Top ] [ particleProperties ] [ Functions ]
NAME
function PartName(ID,IQ,isAnti) function PartName(ID) function PartName(Part)
PURPOSE
return a String containing name, charge etc. of the particle
INPUTS
- integer, intent(in) :: ID,IQ -- ID and charge of particle
- logical, intent(in) :: isAnti -- true if antiparticle, false if particle
or :
USAGE
- character*() = PartName(ID,IQ,isAnti)
- character*() = PartName(Part)
NOTES
if only ID is given, the retruned name only contains the particle name, i.e. it is in a short version
particleProperties/TeXName [ Functions ]
[ Top ] [ particleProperties ] [ Functions ]
NAME
function TeXName(ID,IQ,isAnti) function TeXName(ID) function TeXName(Part)
PURPOSE
return a String containing name, charge etc. of the particle. Fomramtting according TeX rules
INPUTS
- integer, intent(in) :: ID,IQ -- ID and charge of particle
- logical, intent(in) :: isAnti -- true if antiparticle, false if particle
or :
NOTES
if only ID is given, the retruned name only contains the particle name, i.e. it is in a short version
particleProperties/InitParticleProperties [ Subroutines ]
[ Top ] [ particleProperties ] [ Subroutines ]
NAME
subroutine InitParticleProperties
PURPOSE
Define the variables baryon and meson with the Parameter Sets out of Manley and PDG
InitParticleProperties/setParameters [ Subroutines ]
[ Top ] [ InitParticleProperties ] [ Subroutines ]
NAME
subroutine setParameters
PURPOSE
Define the variables baryon and meson. Here all the parameters besides the decay channels are set.
InitParticleProperties/decideOnPropagationUsage [ Subroutines ]
[ Top ] [ InitParticleProperties ] [ Subroutines ]
NAME
subroutine decideOnPropagationUsage
PURPOSE
Decides which baryons shall be explicitly propagated and used for the cross sections.
InitParticleProperties/setThresholds [ Subroutines ]
[ Top ] [ InitParticleProperties ] [ Subroutines ]
NAME
subroutine setThresholds
PURPOSE
Set the thresholds of the decay channels, i.e. the lightest mass at which a resonance can decay into this channel (= sum of the daughter masses).
InitParticleProperties/setDecays [ Subroutines ]
[ Top ] [ InitParticleProperties ] [ Subroutines ]
NAME
subroutine setDecays
PURPOSE
The decay ratios out of Manley & PDG are initialized. The numbering of the decay channels is according to the module decayChannels.
Here only the file "buuinput/DecayChannels.dat" is read in (or, if given explicitely via FileNameDecayChannels, its variant)
InitParticleProperties/updateMinmassesAndThresholds [ Subroutines ]
[ Top ] [ InitParticleProperties ] [ Subroutines ]
NAME
subroutine updateMinmassesAndThresholds
PURPOSE
This routine updates the minmasses of all particles according to their decay channels (important e.g. when using rho_dilep). Then it updates the decay thresholds according to the updated minmasses.
InitParticleProperties/initBaryon [ Functions ]
[ Top ] [ InitParticleProperties ] [ Functions ]
NAME
type(baryonProperties) function initBaryon(name,nameTeX,mass,width,spin,rating,isospinTimes2,strangeness,charm,angMom)
PURPOSE
Constructor routine to simplify the initialization of a baryon. Sets also the flag %stability to a default value.
InitParticleProperties/initMeson [ Functions ]
[ Top ] [ InitParticleProperties ] [ Functions ]
NAME
type(mesonProperties) function initMeson(name, nameTeX, mass, width, spin, isospinTimes2, strangeness, charm, minmass)
PURPOSE
Constructor routine to simplify the initialization of a meson. Sets also the flag %stability to a default value.
particleProperties/getAngularMomentum_meson [ Functions ]
[ Top ] [ particleProperties ] [ Functions ]
NAME
integer function getAngularMomentum_meson(DecayChannel, partID)
PURPOSE
Returns the angular momentum of the outgoing particles of a specific 2-body decay channel of a meson.
INPUTS
- integer :: DecayChannel -- The number of the 2-body decay channel of the meson according to module decayChannels.
- integer :: partID -- The ID of the mother resonance
NOTES
The final state parity is given by (p_1)*(p_2)*(-1)^L
baryonWidthVacuum/getAngularMomentum_baryon [ Functions ]
[ Top ] [ baryonWidthVacuum ] [ Functions ]
NAME
integer function getAngularMomentum_baryon(DecayChannel, partID)
PURPOSE
Returns the angular momentum of the outgoing particles of a specific 2-body decay channel of a baryon.
INPUTS
- integer :: DecayChannel -- The number of the 2-body decay channel of the baryon according to module decayChannels.
- integer :: partID -- The ID of the mother resonance
particleProperties/PrintParticleProperties [ Subroutines ]
[ Top ] [ particleProperties ] [ Subroutines ]
NAME
subroutine PrintParticleProperties
PURPOSE
Prints all particle properties and decay channels as latex tables.
OUTPUT
written to "GiBUU_database.tex"
particleProperties/GiBUU_database.tex [ Output files ]
[ Top ] [ particleProperties ] [ Output files ]
NAME
GiBUU_database.tex
PURPOSE
Lists the properties of the implemented baryons.
particleProperties/PrintBaryonProperties [ Subroutines ]
[ Top ] [ particleProperties ] [ Subroutines ]
NAME
subroutine PrintBaryonProperties
PURPOSE
Prints all baryon properties and decay channels as latex tables.
particleProperties/PrintMesonProperties [ Subroutines ]
[ Top ] [ particleProperties ] [ Subroutines ]
NAME
subroutine PrintMesonProperties
PURPOSE
Prints all meson properties and decay channels as latex tables.
particleProperties/init [ Subroutines ]
[ Top ] [ particleProperties ] [ Subroutines ]
NAME
subroutine init
PURPOSE
Read out job card to initialize module parameters.
particleProperties/initDatabase [ Namelists ]
[ Top ] [ particleProperties ] [ Namelists ]
NAME
NAMELIST initDatabase
PURPOSE
Includes the switches:
particleProperties/ReadInitModify [ Subroutines ]
[ Top ] [ particleProperties ] [ Subroutines ]
NAME
subroutine ReadInitModify
PURPOSE
Read in namelist "ModifyParticles" to initialize module parameters.
ReadInitModify/mass [ Global module-variables ]
[ Top ] [ ReadInitModify ] [ Global module-variables ]
SOURCE
real, dimension(1:pion+nMes-1) :: mass = -1.0
PURPOSE
Input array for modifications on the particle mass
NOTES
This array is intended to "input" values for the mass of the particles, which are different from the default. Therefore only entries, which are positive after reading the file are stored in the internal database.
ReadInitModify/width [ Global module-variables ]
[ Top ] [ ReadInitModify ] [ Global module-variables ]
SOURCE
real, dimension(1:pion+nMes-1) :: width = -1.0
PURPOSE
Input array for modifications on the particle width
NOTES
This array is intended to "input" values for the width of the particles, which are different from the default. Therefore only entries, which are positive after reading the file are stored in the internal database.
ReadInitModify/stabilityFlag [ Global module-variables ]
[ Top ] [ ReadInitModify ] [ Global module-variables ]
SOURCE
integer, dimension(1:pion+nMes-1) :: stabilityFlag = -1
PURPOSE
Input array for modifications on the particle stability
NOTES
This array is intended to "input" values for the stability of the particles, which are different from the default. Therefore only entries, which are >-1 after reading the file are stored in the internal database.
The index of the array is the particle ID. The value encodes on a bitwise level, how the particle may decay (cf. also master_1Body):
- 1: particle may decay during run, if Gamma > gammaCutOff
- 2: particle may decay at the end of the run, if Gamma > 0.
- 4: particle may decay at the end via Jetset, if there the parameters allow for a decay.
The default values are one of the following:
- 0: particle may not decay at all (i.e. it is stable)
- 3: particle may decay both during run and at the end (combination of 1 and 2)
particleProperties/ModifyParticles [ Namelists ]
[ Top ] [ particleProperties ] [ Namelists ]
NAME
NAMELIST ModifyParticles
PURPOSE
Includes the switches:
particleProperties/isStrange [ Functions ]
[ Top ] [ particleProperties ] [ Functions ]
NAME
logical function isStrange(ID)
INPUTS
- integer :: ID
RESULT
particleProperties/isCharmed [ Functions ]
[ Top ] [ particleProperties ] [ Functions ]
NAME
logical function isCharmed(ID)
INPUTS
- integer :: ID
RESULT
particleProperties/isNonExotic [ Functions ]
[ Top ] [ particleProperties ] [ Functions ]
NAME
logical function isNonExotic(ID)
INPUTS
- integer :: ID
RESULT
particleProperties/validCharge [ Functions ]
[ Top ] [ particleProperties ] [ Functions ]
NAME
logical function validCharge (teilchen)
PURPOSE
This routine returns .true. if the charge is valid for the particle, and .false if not. This is done by checking the z-component of its isospin.
Q=I_Z+(B+S+C+B+T)/2. => I_Z=Q-(B+S+C+B+T)/2. => I_Z=Q-(B+S+C)/2. if no bottom and top quarks are considered
INPUTS
type(particle), intent(in) :: teilchen ! Regarded particle
particleProperties/validCharge_ID [ Functions ]
[ Top ] [ particleProperties ] [ Functions ]
NAME
logical function validCharge_ID (ID, Q)
PURPOSE
This routine returns .true. if the charge is valid for the particle, and .false if not. This is done by checking the z-component of its isospin.
Q=I_Z+(B+S+C+B+T)/2. => I_Z=Q-(B+S+C+B+T)/2. => I_Z=Q-(B+S+C)/2. if no bottom and top quarks are considered
NOTES
We assume that Q is the charge of the particle, not the antiparticle.
INPUTS