5 * Revision 1.1.1.1 1995/10/24 10:21:37 cernlib
9 #include "geant321/pilot.h"
10 #if defined(CERNLIB_ASHO)
11 *CMZ : 3.21/02 29/03/94 15.41.24 by S.Giani
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"
19 C-----------------------------------------------------------------------
20 C ASHO model for energy loss straggling
21 C The main subprograms are:
22 C - MIXMGO - prepares the parameters of a mixture
23 C or compound used (called from GIASHO);
24 C - GOSCMG - prepares the parameters of the oscillators;
25 C - GDIFMG - calculates the differential spectrum of the
27 C The main initial data bank is in COMMON block GCASHO contai-
28 C ning the parameters of a number of elements.
29 C-----------------------------------------------------------------------
30 C Update history: 16-8-93
32 C-----------------------------------------------------------------------
33 C The main initial common block and its components.
34 C NELM - number of basic elements;
35 C ZELM - atomic numbers of the elements;
36 C AELM - atomic weights of the elements;
37 C DELM - densities of the elements (g/cm3);
38 C E0ELM - ionization potentials of the elements (keV);
39 C NSELM - numbers of the electron shells in the atoms;
40 C ZSELM - numbers of electrons in each of the shells;
41 C ESELM - binding energies of the shell electrons (keV).
42 C This information may be included in JMATE by GSMATE or GMATE.
43 C *) The density values for gases are given at
44 C 0 C 1 atm. Those for solids are not precise and
45 C should be substituted for particular
47 C **) The current number of the elements used is equal to 16.
48 C ***) To change the energy scale from keV to GeV, as it is
49 C used in GEANT, it is needed to add 1.E-6 to E0ELM, ESELM,
50 C PLASM, TRNSMA, 6. (in RESMGO), SL (in REAMGO), SL (in
51 C SLDMGO) and extract 1.E-6 in DE (in DELMGO).
52 C-----------------------------------------------------------------------
53 C GCASHO contains also the kinematical parame-
54 C ters as well as some thermodynamical ones:
55 C PLIN (P/mc), PLOG (log10(PLIN)), BE2 (velocity/c squared),
56 C the path length STEP of the particle,
57 C and the medium plasma energy
58 C PLASM. TRNSMA is the maximum transferable energy (now
59 C it is set to correspond to TCUT in GEANT !).
60 C In GEANT the initial parameters are P, E, XMASS, STEP
62 C-----------------------------------------------------------------------
63 C In addition, it contains the parameters of the oscillators:
64 C - BOSC is the array of "ksi/I",
65 C - AOSC is the array of "lnA",
66 C - NOSC is the number of the oscillators,
67 C - EOSC is the array of the oscillator energies,
68 C - IOSC is the upper array in integers,
69 C - ZOSC is the array of the oscillator weights,
70 C - EMEAN is the mean energy loss.
71 C-----------------------------------------------------------------------
72 C Finally, GCASHO contains the parameters of the energy loss
74 C - CMGO is the differential or integral distribution coeff.,
75 C - NMGO is the number of bins,
76 C - NMGOMA is the maximum of possible NMGO,
77 C - EMGO is the energy corresponding to one bin,
78 C - EMGOMI is the energy corresponding to 0th bin.
79 C-----------------------------------------------------------------------
80 PARAMETER (DNMGOM=2000)
81 C-----------------------------------------------------------------------
89 ZSMED(KMED) = Q(JASHO+5+KMED)
90 ESMED(KMED) = Q(JASHO+5+NSMED+KMED)
92 PLASM = 0.028817*SQRT((ZMED/AMED)*DENS)
95 C-----------------------------------------------------------------------
96 C In GEANT the initial kinematic parameters : P, E, XMASS.
97 C The following gets the kinematic parameters of the particle:
98 C PLIN (P/mc), PLOG (lg(PLIN)), BE2 (velocity/c squared) and
99 C its path length STEP.
100 C-----------------------------------------------------------------------
103 BE2 = PLIN**2/(1.+PLIN**2)
104 C-----------------------------------------------------------------------
105 C Now we set TRNSMA to correspond to TCUT in GEANT.
106 C-----------------------------------------------------------------------
108 C-----------------------------------------------------------------------
109 C Here is the calculation of the parameters of the oscillators
110 C-----------------------------------------------------------------------
112 C-----------------------------------------------------------------------
113 C Here is the calculation of the diffrential distribution
114 C-----------------------------------------------------------------------
117 C-----------------------------------------------------------------------