gibuu is hosted by Hepforge, IPPP Durham
GiBUU

TABLE OF CONTENTS


/master_1Body [ Modules ]

[ Top ] [ Modules ]

NAME

module master_1Body

PURPOSE

Implements all decays (a -> X).


master_1Body/correctEnergy [ Global module-variables ]

[ Top ] [ master_1Body ] [ 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_1Body/debug [ Global module-variables ]

[ Top ] [ master_1Body ] [ Global module-variables ]

SOURCE

  logical, save :: debug = .false.

PURPOSE

If .true., additional debugging information will be printed out.


master_1Body/gammaCutOff [ Global module-variables ]

[ Top ] [ master_1Body ] [ Global module-variables ]

SOURCE

  real, parameter :: gammaCutOff = 1E-4

PURPOSE

If the decay width is lower than this value, than we treat this particle to be stable during propagation; particle is forced to decay in last time step, if gammaDecay > 0.


master_1Body/StableInFormation [ Global module-variables ]

[ Top ] [ master_1Body ] [ Global module-variables ]

SOURCE

  logical, save :: StableInFormation = .true.

PURPOSE

Particles during its formation time are considered to be stable or not.


master_1Body/omegaDecayMediumInfo [ Global module-variables ]

[ Top ] [ master_1Body ] [ Global module-variables ]

SOURCE

  logical, save :: omegaDecayMediumInfo = .false.

PURPOSE

Write out information about all decaying omega mesons to a file called "omegaMediumInfo.dat" (decay point, momentum, density, etc).


master_1Body/omegaDecay_restriction [ Global module-variables ]

[ Top ] [ master_1Body ] [ Global module-variables ]

SOURCE

  integer, save :: omegaDecay_restriction = 0

PURPOSE

This switch, like omegaDecayMediumInfo, helps to analyze omega -> pi0 gamma decays. It will only have an effect for omegaDecayMediumInfo = .true. Possible values:

  • 0 = none (default)
  • 1 = vacuum ( rho < 0.1 rho0)
  • 2 = medium ( rho > 0.1 rho0)

With the default value (0), all omega decays are carried out as usual. For the value 1, the decay products are only kept, if the decay happens in the vacuum (i.e. at rho < 0.1 * rho0). For the value 2, the decay products are only kept, if the decay happens in the medium (i.e. at rho > 0.1 * rho0). If the density does not meet these conditions, the decay products are simply removed and will not be put in the particle vector (and thus they will not appear in the analysis).


master_1Body/readInput [ Subroutines ]

[ Top ] [ master_1Body ] [ Subroutines ]

NAME

subroutine readInput

PURPOSE

Reads input in jobcard out of namelist "master_1body".


master_1Body/master_1body [ Namelists ]

[ Top ] [ master_1Body ] [ Namelists ]

NAME

NAMELIST /master_1body/

PURPOSE

Includes the switches:


master_1Body/decayParticle [ Subroutines ]

[ Top ] [ master_1Body ] [ Subroutines ]

NAME

subroutine decayParticle (resonanceIN, finalState, collisionFlag, pauliFlag, finalFlag, time, gammaOut)

PURPOSE

Evaluates for a given particle the final states of a decay process. First it checks wether the decay takes place in this time step, then it evaluates the final state if the decay criteria is fulfilled.

Treatment of the antiParticles: If the incoming resonance is an anti-particle, then we charge conjugate the incoming resonance and promote it to a particle. In the end we will do the charge conjugation again and promote all particle to antiparticles. If the particle is still in its formation period (%in_formation=.true.) then we don't allow it to decay!

INPUTS

  • type(particle),dimension(1:1) :: resonanceIN -- incoming particle
  • logical :: finalFlag -- if .true. then decay is forced to happen
  • real :: time -- current time in fermi [does not influence any MC decisions; only used for analysis]

OUTPUT

  • type(particle),dimension(:) :: finalState -- produced final state
  • logical :: collisionFlag -- true if decay took place
  • logical :: pauliFlag -- Set to .true. if Pauli blocking is already considered in decay decision
  • real, optional :: gammaOut -- full width [GeV]


master_1Body/omegaMediumInfo.dat [ Output files ]

[ Top ] [ master_1Body ] [ Output files ]

NAME

file omegaMediumInfo.dat

PURPOSE

This file contains informations about omega mesons at decay time (event number, perweight, 4-momentum, position, bare mass, density at decy point, time, etc).


master_1Body/assignCharge [ Subroutines ]

[ Top ] [ master_1Body ] [ Subroutines ]

NAME

subroutine assignCharge(outPart,inID,inCharge)

PURPOSE

Random Choice of charges for a 2-body final-state in a given decay of a resonance "inID" of charge "inCharge". The charges are choosen for hadronic decays according to the Clebsch-Gordan coefficients. For weak decays the charges are distributed according to their weak decay channels.

INPUTS

  • type(particle), dimension(1:2) :: outPart -- pair resulting of a decay
  • integer :: inID -- Id of decaying particle
  • integer :: inCharge -- Charge of decaying particle

OUTPUT

  • type(particle), dimension(1:2) :: outPart -- pair resulting of a decay

NOTES

Be careful: variables named isospin can also contain isospin*2 to convert to integer values.


master_1Body/getMomentum_and_Medium [ Subroutines ]

[ Top ] [ master_1Body ] [ Subroutines ]

NAME

subroutine getMomentum_and_Medium(resonance,momentumLRF, betatToLRF, mediumAtDecay)

PURPOSE

Evaluates for a given particle the medium at its position and transforms its momentum into the LRF.

INPUTS

OUTPUT

  • type(medium) :: mediumAtDecay
  • real, dimension(0:3) :: momentumLRF -- momentum in the LRF
  • real, dimension(1:3) :: betaToLRF -- beta for boost to LRF


master_1Body/setKinematics [ Functions ]

[ Top ] [ master_1Body ] [ Functions ]

NAME

function setKinematics (resonance, finalState, mediumAtCollision, betaToLRF) result(collisionFlag)

PURPOSE

Evaluates the kinematics for the "finalState" particles.

INPUTS

  • type(particle) :: resonance -- resonance which decays into "FinalState"
  • type(medium) :: mediumAtCollision -- medium information
  • real,dimension(1:3) :: betaToLRF -- beta for boost to Local Rest Frame
  • type(particle),dimension(:) :: finalState

OUTPUT

  • type(particle),dimension(:) :: finalState
  • logical :: collisionFlag -- "true" if kinematics could be set, "false" if not

NOTES

It's important that the Id's and charges of the "finalState" particles are already set when calling this subroutine.

Only kinematics including masses of this finalState will be set.