TABLE OF CONTENTS
- 1. /history
- 1.1. history/IncGeneration_Decay
- 1.2. history/IncGeneration_Elastic
- 1.3. history/setHistory
- 1.4. history/readInput
- 1.5. history/History
- 1.6. history/history_getParents
- 1.7. history/history_getGeneration
- 1.8. history/history_print
/history [ 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