TABLE OF CONTENTS
- 1. /PIL_freezeout
- 1.1. PIL_freezeout/tValueEntry
- 1.2. PIL_freezeout/IndexList
- 1.3. PIL_freezeout/ValueList
- 1.4. PIL_freezeout/PIL_freezeout_DeAlloc
- 1.5. PIL_freezeout/PIL_freezeout_ZERO
- 1.6. PIL_freezeout/PIL_freezeout_PUT
- 1.7. PIL_freezeout/PIL_freezeout_GET
- 1.8. PIL_freezeout/PIL_freezeout_Allocate
- 1.9. PIL_freezeout/PIL_freezeout_Print
/PIL_freezeout [ Modules ]
NAME
module PIL_freezeout
PURPOSE
Provide some storage method for the freeze out position of some particles
This is closely connected to the module PILIndex
INPUTS
(none)
NOTES
- "PIL" stands for "PartInfoList"
PIL_freezeout/tValueEntry [ Types ]
[ Top ] [ PIL_freezeout ] [ Types ]
NAME
type tValueEntry
PURPOSE
a container of the information to be stored
SOURCE
type tValueEntry real, dimension(0:3) :: val = 0 integer :: history = 0 logical :: escaped = .false. end type
PIL_freezeout/IndexList [ Global module-variables ]
[ Top ] [ PIL_freezeout ] [ Global module-variables ]
PURPOSE
The list, were the particle numbers are connected with the (physical) storage position
SOURCE
type(tIndexList), save :: IndexList
PIL_freezeout/ValueList [ Global module-variables ]
[ Top ] [ PIL_freezeout ] [ Global module-variables ]
PURPOSE
The list, were the information is stored
SOURCE
type(tValueEntry), allocatable, save :: ValueList(:)
PIL_freezeout/PIL_freezeout_DeAlloc [ Subroutines ]
[ Top ] [ PIL_freezeout ] [ Subroutines ]
NAME
subroutine PIL_freezeout_DeAlloc
PURPOSE
Deallocate the memory for this list and the corresponding index list.
PIL_freezeout/PIL_freezeout_ZERO [ Subroutines ]
[ Top ] [ PIL_freezeout ] [ Subroutines ]
NAME
subroutine PIL_freezeout_ZERO()
PURPOSE
Reset the list by setting the counter of stored information to 0. No allocation or deallocation of memory happens.
PIL_freezeout/PIL_freezeout_PUT [ Subroutines ]
[ Top ] [ PIL_freezeout ] [ Subroutines ]
NAME
subroutine PIL_freezeout_PUT(number,r)
PURPOSE
Store the information "r" connected with particle "number" in the list.
INPUTS
- integer :: number -- the (unique) particle number
- real :: r -- the 4-position to store
- integer :: hist -- the history of the particle
- logical :: escaped-- flag to indicate, whether particle has 'escaped'
OUTPUT
none
PIL_freezeout/PIL_freezeout_GET [ Functions ]
[ Top ] [ PIL_freezeout ] [ Functions ]
NAME
logical function PIL_freezeout_GET(number,r,hist,escaped)
PURPOSE
Get the stored information of particle "number"
INPUTS
- integer :: number -- the (unique) particle number
OUTPUT
- real :: r -- the 4-position to store
- integer :: hist -- the history of the particle
- logical :: escaped-- flag to indicate, whether particle has 'escaped'
- the (logical) return value signals, whether inforation about this particle was found in the list or not.
PIL_freezeout/PIL_freezeout_Allocate [ Subroutines ]
[ Top ] [ PIL_freezeout ] [ Subroutines ]
NAME
subroutine PIL_freezeout_Allocate
PURPOSE
Do the allocation and reallocation of the value vector. The new size is taken from the size of the IndexList vectors.
NOTES
For security one should insert here checks, whether the memory allocations failed and stop execution in these cases.
PIL_freezeout/PIL_freezeout_Print [ Subroutines ]
[ Top ] [ PIL_freezeout ] [ Subroutines ]
NAME
subroutine PIL_freezeout_Print(file)
PURPOSE
Print the list to file