TABLE OF CONTENTS
- 1. /MassAssInfoDefinition
- 1.1. MassAssInfoDefinition/tMassAssInfo
- 1.2. MassAssInfoDefinition/tMassAssInfoArray
- 1.3. MassAssInfoDefinition/UseMassAssInfo
- 1.4. MassAssInfoDefinition/ResetMassAssInfo
- 1.5. MassAssInfoDefinition/SetMassAssInfo_Stable
- 1.6. MassAssInfoDefinition/SetMassAssInfo_FromArray
- 1.7. MassAssInfoDefinition/SetUpperBin
- 1.8. MassAssInfoDefinition/MassAssInfoQ
- 1.9. MassAssInfoDefinition/readInput
- 1.10. MassAssInfoDefinition/MassAssInfo
- 1.11. MassAssInfoDefinition/Get_UseMassAssInfo
- 1.12. MassAssInfoDefinition/Set_UseMassAssInfo
/MassAssInfoDefinition [ Modules ]
NAME
module MassAssInfoDefinition
PURPOSE
Provide information necessary for an improved mass selection according a relativistic Breit Wigner with mass dependent width. Also for in-medium widths
MassAssInfoDefinition/tMassAssInfo [ Modules ]
[ Top ] [ MassAssInfoDefinition ] [ Modules ]
SOURCE
type, public :: tMassAssInfo logical :: IsStable logical :: IsMomDep real :: Mass0 real :: Gamma0 real,dimension(:), allocatable :: W ! = weight real,dimension(:), allocatable :: Q ! = Qmax real,dimension(:), allocatable :: M ! = M_min, M_max real,dimension(:), allocatable :: Y ! = Y_min, Y_max end type tMassAssInfo
PURPOSE
store the info concerning the mass slices
The stored information is:
- IsStable: flag if particle is stable
- IsMomDep: flag if width is momentum dependent
- Mass0,Gamma0: pole mass and width at the pole mass
- Q: The maximum of the rejection weight for each bin (This is the ratio of the relativistic Breit-Wigner over the non-relativistic one)
- W: The weight the selected bin has to be chosen
- M: The mass boundaries of every bin
- Y: The value 2*atan(2*(M-M0)/G) at the boundaries of every bin
MassAssInfoDefinition/tMassAssInfoArray [ Types ]
[ Top ] [ MassAssInfoDefinition ] [ Types ]
SOURCE
type, public :: tMassAssInfoArray real, dimension(:,:), allocatable :: W ! = weight real, dimension(:,:), allocatable :: Q ! = Qmax real, dimension(:,:), allocatable :: M ! = M_min, M_max real, dimension(:,:), allocatable :: Y ! = Y_min, Y_max integer, dimension(:), allocatable :: n1, n2 ! = used bins end type tMassAssInfoArray
PURPOSE
The storage of density dependent information in the meson and baryon modules.
see tMassAssInfo for further information
MassAssInfoDefinition/UseMassAssInfo [ Global module-variables ]
[ Top ] [ MassAssInfoDefinition ] [ Global module-variables ]
SOURCE
logical, save :: UseMassAssInfo = .true.
PURPOSE
This switch indicates, whether we want to use the whole MassAssInfo machinery or stick to the old prescription of mass assignment.
You may set this switch via the jobcard. Anyhow, if your selection of switches for baryon and medium switches leads to cases which are not yet implemented, this flag is set to false automatically.
MassAssInfoDefinition/ResetMassAssInfo [ Subroutines ]
[ Top ] [ MassAssInfoDefinition ] [ Subroutines ]
NAME
subroutine ResetMassAssInfo(MAI)
PURPOSE
Reset the fields of the type
INPUTS
- type(tMassAssInfo) :: MAI -- the Info to reset
OUTPUT
- type(tMassAssInfo) :: MAI -- the Info resetted
MassAssInfoDefinition/SetMassAssInfo_Stable [ Subroutines ]
[ Top ] [ MassAssInfoDefinition ] [ Subroutines ]
NAME
subroutine SetMassAssInfo_Stable(MAI)
PURPOSE
Ensure correct init, if the particle is considered stable
INPUTS
- MAI%Mass0 and MAI%Gamma0 have to be set
OUTPUT
- MAI
MassAssInfoDefinition/SetMassAssInfo_FromArray [ Subroutines ]
[ Top ] [ MassAssInfoDefinition ] [ Subroutines ]
NAME
subroutine SetMassAssInfo_FromArray(MAI, MAIarr, iG, mix)
PURPOSE
Set the information 'MAI' by taken the values out of a stored array.
INPUTS
- type(tMassAssInfo) :: MAI -- the Info to be set
- type(tMassAssInfoArray) :: MAIarr -- the array where the info has to be taken from
- integer :: iG -- which bin for the width to use
- real :: mixG -- weight for interpolating with next width bin
OUTPUT
- type(tMassAssInfo) :: MAI -- the Info
NOTES
at the moment, the interpolation is implemented to be linear in all components
MassAssInfoDefinition/SetUpperBin [ Subroutines ]
[ Top ] [ MassAssInfoDefinition ] [ Subroutines ]
NAME
subroutine SetUpperBin(MAI,maxmass,gamma,nBin)
PURPOSE
Change the information stored in MAI such, that the maximal mass value is maxmass. The mass bins above the mass cut are deleted. For the bin containing the cut the upper boundary is set to the max value. Also The weight W (and Y) is adjusted. If the Q value stored for the bin was negative, also this value is adjusted (negative Q indicates, that the maximum was at the upper boundary).
INPUTS
- type(tMassAssInfo) :: MAI -- the Info to be set
- real :: maxmass -- the upper limit of the mass range
- real :: gamma -- the width at maxmass
OUTPUT
- integer :: nBin -- number of bins remaining
- MAI is changed
MassAssInfoDefinition/MassAssInfoQ [ Functions ]
[ Top ] [ MassAssInfoDefinition ] [ Functions ]
NAME
real function MassAssInfoQ(Mass0,Gamma0,Mass,Gamma)
PURPOSE
calculate the weight Q=A/B, while A is the relativistic and B is the nonrelativistic Breit-Wigner.
INPUTS
- real :: Mass0 -- the pole mass
- real :: Gamma0 -- the width at the pole mass
- real :: Mass -- the actual mass
- real :: Gamma -- the actual width
MassAssInfoDefinition/readInput [ Subroutines ]
[ Top ] [ MassAssInfoDefinition ] [ Subroutines ]
NAME
subroutine readInput
PURPOSE
Reads input in jobcard out of namelist "MassAssInfo".
MassAssInfoDefinition/MassAssInfo [ Namelists ]
[ Top ] [ MassAssInfoDefinition ] [ Namelists ]
NAME
NAMELIST MassAssInfo includes the parameters:
MassAssInfoDefinition/Get_UseMassAssInfo [ Functions ]
[ Top ] [ MassAssInfoDefinition ] [ Functions ]
NAME
logical function Get_UseMassAssInfo()
PURPOSE
return the value of UseMassAssInfo
MassAssInfoDefinition/Set_UseMassAssInfo [ Functions ]
[ Top ] [ MassAssInfoDefinition ] [ Functions ]
NAME
subroutine Set_UseMassAssInfo(value)
PURPOSE
Override the value of UseMassAssInfo