]>
Commit | Line | Data |
---|---|---|
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" | |
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 |