TABLE OF CONTENTS
- 1. /PIL_mesonMom
- 1.1. PIL_mesonMom/tValueEntry
- 1.2. PIL_mesonMom/IndexList
- 1.3. PIL_mesonMom/ValueList
- 1.4. PIL_mesonMom/PIL_mesonMom_DeAlloc
- 1.5. PIL_mesonMom/PIL_mesonMom_ZERO
- 1.6. PIL_mesonMom/PIL_mesonMom_PUT
- 1.7. PIL_mesonMom/PIL_mesonMom_GET
- 1.8. PIL_mesonMom/PIL_mesonMom_Allocate
- 1.9. PIL_mesonMom/PIL_mesonMom_Print
/PIL_mesonMom [ Modules ]
NAME
module PIL_mesonMom
PURPOSE
Provide some storage method for a real valued information connected to a particle characterized by its unique particleNumber.
This is closely connected to the module PILIndex
This module has a doubled purpose:
- It should do a practical work: It stores information connected to the cross section evolution in the hadronization process.
- By copy'n'paste you can transfer this module to other information storage tasks. The necessary changes are on a query'n'replace level.
The routines ...PUT and ...GET could be overwritten by routines using the explicit type definition of tValueEntry, which would make sense for more complicated informations.
INPUTS
(none)
NOTES
- "PIL" stands for "PartInfoList"
PIL_mesonMom/tValueEntry [ Types ]
[ Top ] [ PIL_mesonMom ] [ Types ]
NAME
type tValueEntry
PURPOSE
a container of the information to be stored
SOURCE
type tValueEntry real, dimension(1:3) :: val end type
PIL_mesonMom/IndexList [ Global module-variables ]
[ Top ] [ PIL_mesonMom ] [ Global module-variables ]
PURPOSE
The list, were the particle numbers are connected with the (physical) storage position
SOURCE
type(tIndexList), save :: IndexList
PIL_mesonMom/ValueList [ Global module-variables ]
[ Top ] [ PIL_mesonMom ] [ Global module-variables ]
PURPOSE
The list, were the information is stored
SOURCE
type(tValueEntry), allocatable, save :: ValueList(:)
PIL_mesonMom/PIL_mesonMom_DeAlloc [ Subroutines ]
[ Top ] [ PIL_mesonMom ] [ Subroutines ]
NAME
subroutine PIL_mesonMom_DeAlloc
PURPOSE
Deallocate the memory for this list and the corresponding index list.
PIL_mesonMom/PIL_mesonMom_ZERO [ Subroutines ]
[ Top ] [ PIL_mesonMom ] [ Subroutines ]
NAME
subroutine PIL_mesonMom_ZERO()
PURPOSE
Reset the list by setting the counter of stored information to 0. No allocation or deallocation of memory happens.
PIL_mesonMom/PIL_mesonMom_PUT [ Subroutines ]
[ Top ] [ PIL_mesonMom ] [ Subroutines ]
NAME
subroutine PIL_mesonMom_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 information to store
OUTPUT
none
PIL_mesonMom/PIL_mesonMom_GET [ Functions ]
[ Top ] [ PIL_mesonMom ] [ Functions ]
NAME
logical function PIL_mesonMom_GET(number,r)
PURPOSE
Get the stored information of particle "number"
INPUTS
- integer, intent(IN) :: number -- the (unique) particle number
OUTPUT
- real, intent(OUT) :: r -- the stored information (or 0.)
- the (logical) return value signals, whether inforation about this particle was found in the list or not.
PIL_mesonMom/PIL_mesonMom_Allocate [ Subroutines ]
[ Top ] [ PIL_mesonMom ] [ Subroutines ]
NAME
subroutine PIL_mesonMom_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_mesonMom/PIL_mesonMom_Print [ Subroutines ]
[ Top ] [ PIL_mesonMom ] [ Subroutines ]
NAME
subroutine PIL_mesonMom_Print(file)
PURPOSE
Print the list to file