gibuu is hosted by Hepforge, IPPP Durham
GiBUU

TABLE OF CONTENTS


/history [ Modules ]

[ Top ] [ Modules ]

NAME

module history

PURPOSE

Here the %history field of type(particle) is dealt with. This field is used to store a history of the collisions of a particle.

In particular, we save the particle IDs of those particles which produced the particle ('parents'). E.g. if a pion was produced in AB -> X pion, then we store the IDs of the two incoming particles "A" and "B".

Furthermore, we define a so-called "generation". Initially all particles have generation=0. Particles which are created by particles of generation x and y get a value for the generation of generation=max( x, y )+1. Therefore this "generation" is a measure for the number of interactions which were necessary to produce a particle. For perturbative particles in ground state calculations,"generation" gives directly the number of interactions which were necessary to produce a particle.

If the last interaction of a particle was a particle deacy, then the history fields has a value according GG.000.XXX, where the number GG indicates, how many (final state) interactions it took until the final decay happened, i.e. the 'generation' of the particle. The value XXX is the ID of the mother particle which decayed.

If the last interaction which lead to the particle was a two body collision, then the history has a value GG.XXX.YYY, where GG has the same meaning as above. XXX and YYY are the IDs of the colliding particles. (The interaction may have been elastic or inelastic.)

If the last interaction yielding the particle was a 3-body collision, then the history has a value -GG.000.00N, where GG is again the generation. N stands for the coding:

  • 1: NNN
  • 2: NNDelta
  • 3: NNpi
  • 4: something else

Antiparticles are given by ID+200.

As example:

  • -10000003 = "- 1 000 003": The particle was generated in a NNpi interaction There was no interaction before, so the generation is 1.
  • 11001001 = "11 001 001": The particle was generated in a N+N collision. The nucleons had already 10 FSI, therefore the generation is 11.


history/IncGeneration_Decay [ Global module-variables ]

[ Top ] [ history ] [ Global module-variables ]

SOURCE

  logical, save :: IncGeneration_Decay = .true.

PURPOSE

This flag determines whether we will increase the stored 'generation' of the daughter particles in a resonance decay.


history/IncGeneration_Elastic [ Global module-variables ]

[ Top ] [ history ] [ Global module-variables ]

SOURCE

  logical, save :: IncGeneration_Elastic = .true.

PURPOSE

This flag determines whether we will increase the stored 'generation' of particles in an elastic collision. Setting it to .false. will also prevent elastic collisions from showing up as parents in the history.


history/setHistory [ Subroutines ]

[ Top ] [ history ] [ Subroutines ]

NAME

interface setHistory

PURPOSE

Evaluates the value of %history for a particle which was produced in a interaction, which was either a resonance decay, 2 body interaction or 3 body interaction.

NOTES

We use the following rule to determine the value of %history:

  • For 1-Body processes : history=million*generation+id1
  • For 2-Body processes : history=million*generation+thousand*id2+id1
  • For 3-Body processes : history=-(million*generation+x) where x is defined by the identifiers given as parameters in the module header.

This scheme is employed to store this information in a compact way into one integer, and to save memory by doing this.


history/readInput [ Subroutines ]

[ Top ] [ history ] [ Subroutines ]

NAME

subroutine readInput

PURPOSE

Reads input in jobcard out of namelist "History".


history/History [ Namelists ]

[ Top ] [ history ] [ Namelists ]

NAME

Namelist /History/

PURPOSE

Namelist for history includes:


history/history_getParents [ Subroutines ]

[ Top ] [ history ] [ Subroutines ]

NAME

function history_getParents(history) result (parents)

PURPOSE

Analyzes a given value of %history of a particle and returns an array of integers which include the IDs of the particles which produced the latter particle.

INPUTS

OUTPUT

  • integer, dimension(1:3) :: parents -- parents of the regarded particle


history/history_getGeneration [ Functions ]

[ Top ] [ history ] [ Functions ]

NAME

integer function history_getGeneration(history)

PURPOSE

Analyzes a given value of %history of a particle and returns the value of generation of the latter particle.

INPUTS


history/history_print [ Functions ]

[ Top ] [ history ] [ Functions ]

NAME

subroutine history_print(ensemble,p, iFile,initFlag)

PURPOSE

Print the history of a given particle to channel "ifile"

INPUTS

  • integer :: iFile, ensemble
  • type(particle) :: p
  • logical, OPTIONAL :: initFlag --- write a header line