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.


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=1.000.000*generation+id1
  • For 2-Body processes : history=1.000.000*generation+1.000*id2+id1
  • For 3-Body processes : history=-(1.000.000*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)

PURPOSE

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

INPUTS

  • integer, intent(in) :: iFile, ensemble
  • type(particle),intent(in) :: p