TABLE OF CONTENTS
- 1. /master_3Body
- 1.1. master_3Body/NNpion_NN_maxSrts
- 1.2. master_3Body/positionNNpi
- 1.3. master_3Body/radiusNukSearch
- 1.4. master_3Body/debug
- 1.5. master_3Body/correctEnergy
- 1.6. master_3Body/pionThreeBody
- 1.7. master_3Body/DeltaThreeBody
- 1.8. master_3Body/s_wave_abs
- 1.9. master_3Body/GetRadiusNukSearch
- 1.10. master_3Body/readInput
- 1.11. master_3Body/master_3body
- 1.12. master_3Body/make_3Body_Collision
- 1.13. master_3Body/pionAbsorption
- 1.14. master_3Body/deltaAbsorption
- 1.15. master_3Body/setFinalState
- 1.16. master_3Body/setKinematics
- 1.17. master_3Body/nukSearch
/master_3Body [ Modules ]
NAME
module master_3Body
PURPOSE
Includes all 3->X processes.
master_3Body/NNpion_NN_maxSrts [ Global module-variables ]
[ Top ] [ master_3Body ] [ Global module-variables ]
PURPOSE
Maximal sqrt(s) in GeV such that a NN Pion -> NN event takes place.
SOURCE
real, save :: NNpion_NN_maxSrts = 4.0
master_3Body/positionNNpi [ Global module-variables ]
[ Top ] [ master_3Body ] [ Global module-variables ]
PURPOSE
This switch determines where the final state particles in NNpi->NN are positioned:
- true: pion position
- false: center of NNPi (default)
SOURCE
logical, save :: positionNNpi = .false.
master_3Body/radiusNukSearch [ Global module-variables ]
[ Top ] [ master_3Body ] [ Global module-variables ]
PURPOSE
Radius for the search of nucleons, i.e. the radius in which nucleons shall be searched for at rho_0.
SOURCE
real, save :: radiusNukSearch = 2.9
master_3Body/debug [ Global module-variables ]
[ Top ] [ master_3Body ] [ Global module-variables ]
SOURCE
logical, parameter :: debug=.false.
PURPOSE
Switch for debug information.
master_3Body/correctEnergy [ Global module-variables ]
[ Top ] [ master_3Body ] [ Global module-variables ]
PURPOSE
Scale final state momenta to fulfill energy and momentum conservation. If .false., energy conservation is violated.
SOURCE
logical, save :: correctEnergy = .true.
master_3Body/pionThreeBody [ Global module-variables ]
[ Top ] [ master_3Body ] [ Global module-variables ]
PURPOSE
Switch for the NNpion -> NN processes (false=OFF).
SOURCE
logical, save :: pionThreeBody = .true.
master_3Body/DeltaThreeBody [ Global module-variables ]
[ Top ] [ master_3Body ] [ Global module-variables ]
PURPOSE
Switch for the NNDelta -> NNN processes (false=OFF).
SOURCE
logical, save :: DeltaThreeBody = .true.
master_3Body/s_wave_abs [ Global module-variables ]
[ Top ] [ master_3Body ] [ Global module-variables ]
PURPOSE
Use the s-state absorption of Salcedo et al NPA 484 (1988) 587, Eq. (3.13) for NNpion -> NN
SOURCE
logical, save :: s_wave_abs = .false.
NOTES
- For testing purposes only
- This violates detailed balance, since the back reaction NN->NNpion is not modified.
master_3Body/GetRadiusNukSearch [ Functions ]
[ Top ] [ master_3Body ] [ Functions ]
NAME
real function GetRadiusNukSearch()
PURPOSE
return the value of the variable "radiusNukSearch"
master_3Body/readInput [ Subroutines ]
[ Top ] [ master_3Body ] [ Subroutines ]
NAME
subroutine readInput
PURPOSE
Reads input in jobcard out of namelist "master_3body".
master_3Body/master_3body [ Namelists ]
[ Top ] [ master_3Body ] [ Namelists ]
NAME
NAMELIST /master_3body/
PURPOSE
Includes the switches:
master_3Body/make_3Body_Collision [ Subroutines ]
[ Top ] [ master_3Body ] [ Subroutines ]
NAME
subroutine make_3Body_Collision(PartIn, proton1,proton2,neutron1,neutron2,scatterPartner1,scatterPartner2, finalState,flagOK)
PURPOSE
perform a 3-Body collision
INPUTS
- type(particle) :: PartIn -- ...
- type(particle), pointer :: proton1, proton2, neutron1, neutron2 -- ...
OUTPUT
- type(particle), pointer :: scatterPartner1,scatterPartner2 -- ...
- type(particle), dimension(:) :: finalState -- ...
- logical :: flagOK -- ...
master_3Body/pionAbsorption [ Subroutines ]
[ Top ] [ master_3Body ] [ Subroutines ]
NAME
subroutine pionAbsorption(partIn,proton1,proton2,neutron1,neutron2, & scatterPartner1,scatterPartner2,preEvOut,flagOK)
PURPOSE
perform a pi N N -> N N collision
INPUTS
- type(particle) :: PartIn -- ...
- type(particle), pointer :: proton1, proton2, neutron1, neutron2 -- ...
OUTPUT
- type(particle), pointer :: scatterPartner1,scatterPartner2 -- ...
- type(preEv), dimension(:) :: preEvOut -- ...
- logical :: flagOK -- ...
master_3Body/deltaAbsorption [ Subroutines ]
[ Top ] [ master_3Body ] [ Subroutines ]
NAME
subroutine deltaAbsorption(partIn,proton1,proton2,neutron1,neutron2, & scatterPartner1,scatterPartner2,preEvOut,flagOK)
PURPOSE
perform a Delta N N -> N N N collision
INPUTS
- type(particle) :: PartIn -- ...
- type(particle), pointer :: proton1, proton2, neutron1, neutron2 -- ...
OUTPUT
- type(particle), pointer :: scatterPartner1,scatterPartner2 -- ...
- type(preEv), dimension(:) :: preEvOut -- ...
- logical :: flagOK -- ...
master_3Body/setFinalState [ Subroutines ]
[ Top ] [ master_3Body ] [ Subroutines ]
NAME
subroutine setFinalState(part1,part2,part3,preFinalState,finalState,flagOK)
PURPOSE
...
INPUTS
...
OUTPUT
...
master_3Body/setKinematics [ Subroutines ]
[ Top ] [ master_3Body ] [ Subroutines ]
NAME
subroutine setKinematics(srts,srts_vac,mom_calc, betaToLRF,betaToCM,medium_AtCollision, finalState)
PURPOSE
Evaluates the kinematics for the "finalState" particles assuming vacuum kinematics (-> no potentials).
INPUTS
- real :: srts -- sqrt(s)
- real :: srts_vac -- sqrt(s) in the vacuum
- real, dimension(0:3) :: mom_calc -- total momentum in calculation frame
- real, dimension(1:3) :: betaToLRF -- beta of calc frame to LRF frame
- real, dimension(1:3) :: betaToCM -- beta of cal frame to CM frame
- type(medium) :: mediumAtCollision -- medium information
OUTPUT
- type(particle), dimension(:) :: finalState -- ...
- logical :: collisionFlag -- "true" if kinematics could be set, "false" if not
NOTES
It's important that the Id's and charges of the "finalState" particles are already set when calling this subroutine. Only kinematics including masses of this finalState will be set.
master_3Body/nukSearch [ Subroutines ]
[ Top ] [ master_3Body ] [ Subroutines ]
PURPOSE
Searches in particle Vector for those nucleons which are closest to the given particleIn. It returns pointers to the closest neutrons and protons.