Some function moved to AliZDC
[u/mrichter/AliRoot.git] / GEANT321 / gstrag / gasho.F
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"
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
26 C          energy loss;
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
31 C
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
46 C           samples used.
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
61 C      and DENSIT.
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
73 C      distribution:
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-----------------------------------------------------------------------
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
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-----------------------------------------------------------------------
101       PLIN = P/XXMASS
102       PLOG = LOG10(PLIN)
103       BE2 = PLIN**2/(1.+PLIN**2)
104 C-----------------------------------------------------------------------
105 C      Now we set TRNSMA to correspond to TCUT in GEANT.
106 C-----------------------------------------------------------------------
107       TRNSMA = DCUTE*1E6
108 C-----------------------------------------------------------------------
109 C      Here is the calculation of the parameters of the oscillators
110 C-----------------------------------------------------------------------
111       CALL GOSCMG
112 C-----------------------------------------------------------------------
113 C      Here is the calculation of the diffrential distribution
114 C-----------------------------------------------------------------------
115       CALL GDIFMG(DE)
116       DE = 1E-6*DE
117 C-----------------------------------------------------------------------
118       END
119 #endif