gibuu is hosted by Hepforge, IPPP Durham
GiBUU

TABLE OF CONTENTS


/initHiPion [ Modules ]

[ Top ] [ Modules ]

NAME

module initHiPion

PURPOSE

This module is for (high-energy) pion-nucleus and proton-nucleus collisions.

INPUTS

The namelist "HiPionNucleus".


initHiPion/ekin_lab [ Global module-variables ]

[ Top ] [ initHiPion ] [ Global module-variables ]

SOURCE

  real,save      :: ekin_lab = -99.9

PURPOSE

Kinetic energy of projectile particles in lab frame [GeV].


initHiPion/p_lab [ Global module-variables ]

[ Top ] [ initHiPion ] [ Global module-variables ]

SOURCE

  real,save      :: p_lab = -99.9

PURPOSE

Momentum of projectile particles in lab frame [GeV/c].


initHiPion/Charge [ Global module-variables ]

[ Top ] [ initHiPion ] [ Global module-variables ]

SOURCE

  integer,save   :: Charge = 0

PURPOSE

Charge of projectile particles.


initHiPion/numberPions [ Global module-variables ]

[ Top ] [ initHiPion ] [ Global module-variables ]

SOURCE

  integer,save   :: numberPions = 200

PURPOSE

Number of projectile testparticles per ensemble.


initHiPion/DoProton [ Global module-variables ]

[ Top ] [ initHiPion ] [ Global module-variables ]

SOURCE

  logical,save   :: DoProton = .FALSE.

PURPOSE

If .false., projectile is a pion. If .true., projectile is a proton.


initHiPion/minimumMomentum [ Global module-variables ]

[ Top ] [ initHiPion ] [ Global module-variables ]

SOURCE

  real,   save   :: minimumMomentum = 1.0

PURPOSE

Minimal momentum of particles (in GeV) produced in the init routines. Only particles with an absolute momentum larger than this will be further propagated.


initHiPion/useHermesPythiaPars [ Global module-variables ]

[ Top ] [ initHiPion ] [ Global module-variables ]

SOURCE

  logical,save :: useHermesPythiaPars = .false.

PURPOSE

flag: Use "PYTHIA tuning done by HERMES collab"


initHiPion/distance [ Global module-variables ]

[ Top ] [ initHiPion ] [ Global module-variables ]

SOURCE

  real,save      :: distance = 15.

PURPOSE

Distance in z-direction from the nucleus center in fm, where the projectiles are initialzed. If negative, the distance will be chosen automatically.


initHiPion/impact_parameter [ Global module-variables ]

[ Top ] [ initHiPion ] [ Global module-variables ]

SOURCE

  real,save      :: impact_parameter = 0.

PURPOSE

Impact parameter of the projectiles in fm. If positive (or zero), this fixed value is used for all projectiles. If negative, the impact parameter is chosen by Monte Carlo, so that the projectiles are distributed over a certain disk. Cf. 'setPosition'.


initHiPion/doPerturbativeInit [ Global module-variables ]

[ Top ] [ initHiPion ] [ Global module-variables ]

SOURCE

  logical,save   :: doPerturbativeInit = .FALSE.

PURPOSE

If this flag is set to .true., the first collision of the projectile particles with a nucleon in the target nucleus will be done in this init routine (at timestep 0). This enables you to treat the first (hard) collision different from those in the FSI.

If this flag is set to .false., the projectile particles have to be propagated onto the nucleus as in the default trasport treatment.

See documentation of 'initHiPionInducedCollide' and 'initHiPionInducedCollideFull' for further information.


initHiPion/DoOnlyOne [ Global module-variables ]

[ Top ] [ initHiPion ] [ Global module-variables ]

SOURCE

  logical,save   :: DoOnlyOne = .TRUE.

PURPOSE

If the first interaction of beam and target particles is treated already here in the init (cf. doPerturbativeInit), you may select whether a beam particle may interact only once (flag set to .true.) or with all other target nucleons (flag set to .false.).

See documentation of 'initHiPionInducedCollide' and 'initHiPionInducedCollideFull' for further information.


initHiPion/betafak [ Global module-variables ]

[ Top ] [ initHiPion ] [ Global module-variables ]

SOURCE

  real,   save   :: betafak = 0.

PURPOSE

This variable holds 2 times the value of the rapidity of the center of mass of the colliding pion-nucleon system (modulo sign).

   beta    = -(P(1,3)+P(2,3))/(P(1,4)+P(2,4))
   betafak = log((1+beta)/(1-beta))

Here

   E_pion  = M_pion + Ekin_lab
   beta    = - sqrt(E_pion**2 - m_Pion**2) / (E_pion+M_nucleon)

The rapidity of a particle is given by

   y_lab = 0.5 * log( (E+p_z)/(E-p_z) )   [lab frame]
   y_cm  = y_lab + 0.5 * betafak          [cm frame]

This is used in "HiPionAnalysis"


initHiPion/totalPerweight [ Global module-variables ]

[ Top ] [ initHiPion ] [ Global module-variables ]

SOURCE

  real,save      :: totalPerweight=0.

PURPOSE

This is the sum over the perweights of all initialized beam particles. Is needed in order to calculate total cross sections,


initHiPion/ConfigParticles [ Global module-variables ]

[ Top ] [ initHiPion ] [ Global module-variables ]

SOURCE

  type(particle),dimension(2), save :: ConfigParticles

PURPOSE

Store beam and target particles as dummy


initHiPion/NucCharge [ Global module-variables ]

[ Top ] [ initHiPion ] [ Global module-variables ]

SOURCE

  integer, save :: NucCharge = -1

PURPOSE

Select charge state of nucleons to scatter on. If this value is >=0, then we only scatter on nucleons with the respective charge, i.e. only on neutrons if NucCharge==0 and only on protons if NucCharge==1. Useful e.g. for selecting only pn events in a pd collision.


initHiPion/getBetaFak [ Functions ]

[ Top ] [ initHiPion ] [ Functions ]

NAME

real function getBetaFak()

PURPOSE

return the value of the variable "betafak"


initHiPion/getTotalPerweight [ Functions ]

[ Top ] [ initHiPion ] [ Functions ]

NAME

real function getTotalPerweight()

PURPOSE

This function returns the total perweight of the pions as they were initialized at the last call of initHiPionInduced.


initHiPion/getNumberPions [ Functions ]

[ Top ] [ initHiPion ] [ Functions ]

NAME

integer function getNumberPions()

PURPOSE

This function returns the number of pions.


initHiPion/initHiPionInduced [ Subroutines ]

[ Top ] [ initHiPion ] [ Subroutines ]

NAME

subroutine initHiPionInduced(pertPart,realPart,targetNuc)

PURPOSE

This routine initializes high energy pions in pion-nucleus scattering.

INPUTS

OUTPUT

pertPart is modified


initHiPionInduced/initInput [ Subroutines ]

[ Top ] [ initHiPionInduced ] [ Subroutines ]

NAME

subroutine initInput

PURPOSE

Reads input out of jobcard. Namelist 'HiPionNucleus'.


initHiPion/HiPionNucleus [ Namelists ]

[ Top ] [ initHiPion ] [ Namelists ]

PURPOSE

Namelist for initHiPion includes:


initHiPionInduced/setKinematics [ Subroutines ]

[ Top ] [ initHiPionInduced ] [ Subroutines ]

NAME

subroutine setKinematics

PURPOSE

Sets basic kinematics of the pions.


initHiPionInduced/setPosition [ Subroutines ]

[ Top ] [ initHiPionInduced ] [ Subroutines ]

NAME

subroutine setPosition

PURPOSE

Sets positions of the pions.

If Impact_Parameter is choosen to be less than zero, than the impact parameter is choosen by a Monte-Carlo-decision. This is made such that the pion is initialized on a disk of radius "bmax_Innerdisk" or on a ring which surrounds the inner disk and has an outer radius of "bmaxOuterRing". The probability to be on the inner disk is given by "pInnerDisk". The inner disk and the outer ring are separetely populated by a constant number density of pions. One distinguishes between inner disk and outer ring to have the possibility to have different population densities. Assumed one would only have one disk, then most of the particles would be initialized with high impact-parameter where only few reactions take place.


initHiPionInduced/setBetaFak [ Subroutines ]

[ Top ] [ initHiPionInduced ] [ Subroutines ]

NAME

subroutine setBetaFak

PURPOSE

set the variable "BetaFak"


initHiPion/initHiPionInducedCollide [ Subroutines ]

[ Top ] [ initHiPion ] [ Subroutines ]

NAME

subroutine initHiPionInducedCollide(pertPart,realPart)

PURPOSE

if all (perturbative) pions and (real) nucleons are set, this routine performs for every pion its first collision. All collisions are done at time=zero.

The nucleons are sorted by its z-position. Then for a given pion it is checked whether a collision happens with the first nucleon, with the secons and so on. If the flag "DoOnlyOne" is true, only the first possible collision is performed [sigma ~ A^(2/3)], otherwise all possible collisions are considered [sigma ~ A].

Pions without any possible collisions are set somewhere in space with a large z-coordinate, otherwise the pion is deleted from the particle vector.

INPUTS

OUTPUT

pertPart is modified


initHiPion/initHiPionInducedCollideFull [ Subroutines ]

[ Top ] [ initHiPion ] [ Subroutines ]

NAME

subroutine initHiPionInducedCollideFull(pertPart,realPart)

PURPOSE

same as initHiPionInducedCollide, but now for full (and) local ensemble calculations

if all (perturbative) pions and (real) nucleons are set, this routine performs for every pion its first collision. All collisions are done at time=zero.

The nucleons are sorted by its z-position. Then for a given pion it is checked whether a collision happens with the first nucleon, with the second and so on. If the flag "DoOnlyOne" is true, only the first possible collision is performed [sigma ~ A^(2/3)], otherwise all possible collisions are considered [sigma ~ A].

Pions without any possible collisions are set somewhere in space with a large z-coordinate, otherwise the pion is deleted from the particle vector.

INPUTS

OUTPUT

pertPart is modified


initHiPion/binSrts [ Subroutines ]

[ Top ] [ initHiPion ] [ Subroutines ]

NAME

subroutine binSrts (srts, weight)

PURPOSE

Create a histogram of the sqrt(s) of the first collision. If called without argument, the histogram is writen to "initHiPion_binSrts.dat"

INPUTS

  • real, optional: srts -- the value to add
  • real, optional: weight -- weight of the value