gibuu is hosted by Hepforge, IPPP Durham
GiBUU

TABLE OF CONTENTS


/particlePointerList [ Modules ]

[ Top ] [ Modules ]

NAME

module particlePointerList

PURPOSE

This module defines all necesary types for storing pointers to particles. This includes lists of particles and lists to lists and ...

INPUTS

(none)


particlePointerList/PartList_Print [ Subroutines ]

[ Top ] [ particlePointerList ] [ Subroutines ]

NAME

subroutine PartList_Print(L)

PURPOSE

Loop over the List and print every particle

INPUTS

OUTPUT

written on stdout


particlePointerList/PartList_getPart [ Subroutines ]

[ Top ] [ particlePointerList ] [ Subroutines ]

NAME

logical function PartList_getPart(L, n, P, ID, charge, anti, weightNonZero)

PURPOSE

Loop over the List "L" and find the "n"-th particle in the list with %ID="ID", "%anti=antiparticle" and %charge="charge". This particle "P" is then returned.

INPUTS

  • type(tParticleList) :: L -- The List of particles
  • integer, OPTIONAL :: ID -- ID of particle which shall be returned
  • integer, OPTIONAL :: charge -- charge of particle which shall be returned
  • logical, OPTIONAL :: anti -- .false. if we search for a particle, .true. for an antiparticle
  • integer :: n -- We return the n-th particle in the list with %ID=ID
  • logical, OPTIONAL :: weightNonZero -- if .true. only count particles with perweight > 0

OUTPUT

  • type(particle) :: P -- n-th particle with wished ID
  • logical :: success -- True if it was possible to find n-Particles with the wished ID,charge,anti; False otherwise


particlePointerList/PartList_countParticle [ Subroutines ]

[ Top ] [ particlePointerList ] [ Subroutines ]

NAME

integer function PartList_countPart(L, ID, charge, anti, weightNonZero)

PURPOSE

count the number of particles with given ID and/or charge and/or anti-flag

INPUTS

  • type(tParticleList) :: L -- The List of particles
  • integer :: ID -- ID of particle which shall be returned
  • integer, OPTIONAL :: charge -- charge of particle which shall be returned
  • logical, OPTIONAL :: anti -- .false. if we search for a particle, .true. for an antiparticle
  • logical, OPTIONAL :: weightNonZero -- if .true. only count particles with perweight > 0

OUTPUT

  • integer


particlePointerList/PartList_INIT [ Subroutines ]

[ Top ] [ particlePointerList ] [ Subroutines ]

NAME

subroutine PartList_INIT(L)

PURPOSE

Initialize the List (call only at start; to reset the list please call PartList_CLEAR)

INPUTS

OUTPUT

(none)


particlePointerList/PartList_CLEAR [ Subroutines ]

[ Top ] [ particlePointerList ] [ Subroutines ]

NAME

subroutine PartList_CLEAR(L,all)

PURPOSE

Reset the List: Delete all Nodes and re-init the pointers

INPUTS

  • type(tParticleList) :: L -- The List
  • logical, OPTIONAL :: all -- if present and true, also the particle is deallocated

OUTPUT

(none)


particlePointerList/PartList_APPEND [ Subroutines ]

[ Top ] [ particlePointerList ] [ Subroutines ]

NAME

subroutine PartList_APPEND(L,V)

PURPOSE

Append the particle (which V points at) at the end of the list.

INPUTS

OUTPUT

(none)


particlePointerList/PartList_PREPEND [ Subroutines ]

[ Top ] [ particlePointerList ] [ Subroutines ]

NAME

subroutine PartList_PREPEND(L,V)

PURPOSE

Prepend the particle (which V points at) at the beginning of the list.

INPUTS

OUTPUT

(none)


particlePointerList/PartList_RANDOMIZE [ Subroutines ]

[ Top ] [ particlePointerList ] [ Subroutines ]

NAME

subroutine PartList_RANDOMIZE(L)

PURPOSE

Reorder the linked list by reshuffling the entries randomly.

INPUTS

OUTPUT

(none)


particlePointerList/compare [ Functions ]

[ Top ] [ particlePointerList ] [ Functions ]

NAME

logical function compare(P, ID,charge,anti)

INPUTS

  • type(particle) :: P
  • integer, OPTIONAL :: ID
  • integer, OPTIONAL :: charge
  • logical, OPTIONAL :: anti

PURPOSE

check whether the given particle has ID and/or charge and/or antiparticle flag.