]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/gstrag/gasho.F
Fix needed on Sun and Alpha
[u/mrichter/AliRoot.git] / GEANT321 / gstrag / gasho.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:21:37 cernlib
6* Geant
7*
8*
9#include "geant321/pilot.h"
10#if defined(CERNLIB_ASHO)
11*CMZ : 3.21/02 29/03/94 15.41.24 by S.Giani
12*-- Author :
13 SUBROUTINE GASHO(P,XXMASS,GSTEP,DE)
14#include "geant321/gcbank.inc"
15#include "geant321/gcjloc.inc"
16#include "geant321/gccuts.inc"
17#include "geant321/gcmate.inc"
18#include "geant321/gcasho.inc"
19C-----------------------------------------------------------------------
20C ASHO model for energy loss straggling
21C The main subprograms are:
22C - MIXMGO - prepares the parameters of a mixture
23C or compound used (called from GIASHO);
24C - GOSCMG - prepares the parameters of the oscillators;
25C - GDIFMG - calculates the differential spectrum of the
26C energy loss;
27C The main initial data bank is in COMMON block GCASHO contai-
28C ning the parameters of a number of elements.
29C-----------------------------------------------------------------------
30C Update history: 16-8-93
31C
32C-----------------------------------------------------------------------
33C The main initial common block and its components.
34C NELM - number of basic elements;
35C ZELM - atomic numbers of the elements;
36C AELM - atomic weights of the elements;
37C DELM - densities of the elements (g/cm3);
38C E0ELM - ionization potentials of the elements (keV);
39C NSELM - numbers of the electron shells in the atoms;
40C ZSELM - numbers of electrons in each of the shells;
41C ESELM - binding energies of the shell electrons (keV).
42C This information may be included in JMATE by GSMATE or GMATE.
43C *) The density values for gases are given at
44C 0 C 1 atm. Those for solids are not precise and
45C should be substituted for particular
46C samples used.
47C **) The current number of the elements used is equal to 16.
48C ***) To change the energy scale from keV to GeV, as it is
49C used in GEANT, it is needed to add 1.E-6 to E0ELM, ESELM,
50C PLASM, TRNSMA, 6. (in RESMGO), SL (in REAMGO), SL (in
51C SLDMGO) and extract 1.E-6 in DE (in DELMGO).
52C-----------------------------------------------------------------------
53C GCASHO contains also the kinematical parame-
54C ters as well as some thermodynamical ones:
55C PLIN (P/mc), PLOG (log10(PLIN)), BE2 (velocity/c squared),
56C the path length STEP of the particle,
57C and the medium plasma energy
58C PLASM. TRNSMA is the maximum transferable energy (now
59C it is set to correspond to TCUT in GEANT !).
60C In GEANT the initial parameters are P, E, XMASS, STEP
61C and DENSIT.
62C-----------------------------------------------------------------------
63C In addition, it contains the parameters of the oscillators:
64C - BOSC is the array of "ksi/I",
65C - AOSC is the array of "lnA",
66C - NOSC is the number of the oscillators,
67C - EOSC is the array of the oscillator energies,
68C - IOSC is the upper array in integers,
69C - ZOSC is the array of the oscillator weights,
70C - EMEAN is the mean energy loss.
71C-----------------------------------------------------------------------
72C Finally, GCASHO contains the parameters of the energy loss
73C distribution:
74C - CMGO is the differential or integral distribution coeff.,
75C - NMGO is the number of bins,
76C - NMGOMA is the maximum of possible NMGO,
77C - EMGO is the energy corresponding to one bin,
78C - EMGOMI is the energy corresponding to 0th bin.
79C-----------------------------------------------------------------------
80 PARAMETER (DNMGOM=2000)
81C-----------------------------------------------------------------------
82 JASHO = LQ(JMA-20)
83 NSMED = Q(JASHO+1)
84 ZMED = Q(JASHO+2)
85 AMED = Q(JASHO+3)
86 ALFA = Q(JASHO+4)
87 E0MED = Q(JASHO+5)
88 DO 10 KMED=1,NSMED
89 ZSMED(KMED) = Q(JASHO+5+KMED)
90 ESMED(KMED) = Q(JASHO+5+NSMED+KMED)
91 10 CONTINUE
92 PLASM = 0.028817*SQRT((ZMED/AMED)*DENS)
93 STEP = GSTEP
94 NMGOMA = DNMGOM
95C-----------------------------------------------------------------------
96C In GEANT the initial kinematic parameters : P, E, XMASS.
97C The following gets the kinematic parameters of the particle:
98C PLIN (P/mc), PLOG (lg(PLIN)), BE2 (velocity/c squared) and
99C its path length STEP.
100C-----------------------------------------------------------------------
101 PLIN = P/XXMASS
102 PLOG = LOG10(PLIN)
103 BE2 = PLIN**2/(1.+PLIN**2)
104C-----------------------------------------------------------------------
105C Now we set TRNSMA to correspond to TCUT in GEANT.
106C-----------------------------------------------------------------------
107 TRNSMA = DCUTE*1E6
108C-----------------------------------------------------------------------
109C Here is the calculation of the parameters of the oscillators
110C-----------------------------------------------------------------------
111 CALL GOSCMG
112C-----------------------------------------------------------------------
113C Here is the calculation of the diffrential distribution
114C-----------------------------------------------------------------------
115 CALL GDIFMG(DE)
116 DE = 1E-6*DE
117C-----------------------------------------------------------------------
118 END
119#endif