gibuu is hosted by Hepforge, IPPP Durham
GiBUU

TABLE OF CONTENTS


/master_NBody [ Modules ]

[ Top ] [ Modules ]

NAME

module master_NBody

PURPOSE

Implements N-body collisions.


master_NBody/check_for_Nbody [ Subroutines ]

[ Top ] [ master_NBody ] [ Subroutines ]

NAME

subroutine check_for_Nbody(index,time,coll_time,parts,n_found,ind_found,ind_min,sigma,gamma)

PURPOSE

searches for a third particle (or more particles) in proximity of the colliding pair

INPUTS

  • integer, dimension(1:2), intent(in) :: index -- indices of colliding pair
  • real, intent(in) :: time -- current time in calc. frame
  • real, intent(in) :: coll_time -- collision time instant in calc. frame
  • type(particle), dimension(:) :: parts -- all particles from the ensemble of the colliding pair

OUTPUT

  • integer, intent(out) :: n_found -- number of particles found in vicinity of the colliding pair
  • integer, dimension(:) :: ind_found -- array of indices of the found particles
  • integer, intent(out) :: ind_min -- index of the closest particle to the collision point
  • real, intent(out) :: sigma, gamma -- total cross section (mbarn) and gamma-factor in CM frame of colliding particles

NOTES

Only baryons are looked for in an interaction volume around colliding pair of baryons 1 and 2. The interaction volume is an ellipsoid centered in the center-of-mass of 1 and 2. The ellipsoid is symmetric with respect to the collision axis and compressed by gamma-factor along this axis. The transverse half-axis of the ellipsoid is sqrt(sigma/pi/10.), where sigma is the total cross section of 1 and 2 (mbarn).


master_NBody/generate_3body_collision [ Subroutines ]

[ Top ] [ master_NBody ] [ Subroutines ]

NAME

subroutine generate_3body_collision(parts,finalState,collFlag,time,HiEnergyFlag,HiEnergyType)

PURPOSE

simulates a 3-body collision of baryons

INPUTS

  • type(particle), dimension(1:3) ,intent(in) :: parts --- Incoming particles
  • real, intent(in) :: time ! current time

OUTPUT

  • type(particle), dimension(:) :: finalState --- outgoing particles
  • logical, intent(out) :: collFlag --- .true. if collision happens
  • logical, intent(out) :: HiEnergyFlag --- .true. if fritiof was used
  • integer, intent(out) :: HiEnergyType --- 0:LowEnergy, 1:Fritiof, 2:Pythia

NOTES

Incoming particles 1 and 2 are actually colliding. The incoming particle 3 is the closest one to the c.m. of 1 and 2, which is determined before by the subroutine 'check_for_Nbody'. The energy and momentum of the particles 1,2 and 3 in their c.m. system are redistributed in such a way that the particle 3 stops in that system and gives its energy to the relative motion of 1 and 2. Then a 2-body collision of 1 and 2 is simulated in a usual way.


generate_3body_collision/threeBodyMomenta [ Subroutines ]

[ Top ] [ generate_3body_collision ] [ Subroutines ]

NAME

subroutine threeBodyMomenta(imode)

PURPOSE

Chooses randomly momenta of incoming three particles in their common CM frame. Also free energies of particles and the new sqrts_12 of colliding particles 1 and 2 are computed.

INPUTS

  • integer, intent(in) :: imode --- see below

possible values of imode:

  • 1: 3-body phase space sampling,
  • 2: 3-d particle is stopped, momenta of 1-st and 2-nd particles are randomly rotated,
  • 3: 3-d particle is stopped, momenta of 1-st and 2-nd particles do not change their direction.


master_NBody/Nbody_analysis [ Subroutines ]

[ Top ] [ master_NBody ] [ Subroutines ]

NAME

subroutine Nbody_analysis(index,time,parts,n_found,ind_found,sigma,gamma,flag)

PURPOSE

Performs statistical analysis of many-body collisions using the output information from subroutine check_for_Nbody.

INPUTS

  • integer, dimension(1:2) :: index --- indices of colliding pair
  • real :: time --- current time in calc. frame
  • type(particle), dimension(:) :: parts --- all particles from the ensemble of the colliding pair
  • integer :: n_found --- number of particles found in vicinity of the colliding pair
  • integer, dimension(:) :: ind_found --- array of indices of the found particles
  • real :: sigma --- total cross section (mbarn)
  • real :: gamma --- gamma-factor in CM frame of colliding particles
  • logical, optional :: flag --- if .true. --- do output