]> git.uio.no Git - u/mrichter/AliRoot.git/blob - GEANT321/gphys/gphsgp.F
Better printing for MAXSTEP
[u/mrichter/AliRoot.git] / GEANT321 / gphys / gphsgp.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:21:30  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/02 29/03/94  15.41.22  by  S.Giani
11 *-- Author :
12       FUNCTION GPHSGP(IELEM,E)
13 C.
14 C.    ******************************************************************
15 C.    *                                                                *
16 C.    *       FUNCTION TO COMPUTE THE PHOTOEFFECT TOTAL CROSS-SECTION  *
17 C.    *       AS A FUNCTION OF Z AND E                                 *
18 C.    *                                                                *
19 C.    *    ==>CALLED BY : special dE/dx                                *
20 C.    *                                                                *
21 C.    *    (1) Sandia parametrizsation is used;                        *
22 C.    *    (2) GPHSGP in cm**/g                                        *
23 C.    *    (3) E in GeV                                                *
24 C.    *                                                                *
25 C.    *     J. Chwastowski 31.03.93                                    *
26 C.    ******************************************************************
27 C.
28 #include "geant321/gcbank.inc"
29 #include "geant321/gcjloc.inc"
30 #include "geant321/gconsp.inc"
31 #include "geant321/gcunit.inc"
32 #include "geant321/gc10ev.inc"
33 #if !defined(CERNLIB_SINGLE)
34       DOUBLE PRECISION EINV,ECUR,ONE
35 #endif
36       PARAMETER (ONE=1)
37 C.
38 C.    ------------------------------------------------------------------
39 C.
40       RES = 0.
41       IF(E.LT.G10EV) GO TO 20
42 C Use Sandia data
43       JPHXS  = LQ(JPHOT-1)
44       IF(IELEM.GT.IQ(JPHXS-2)) THEN
45          WRITE(CHMAIL,10010) IELEM, IQ(JPHXS-2)
46 10010 FORMAT(' *** GPHSGP : element N ',I6,' requested, ',
47      +'but only ',I6,' elements in present mixture')
48          CALL GMAIL(0,0)
49          GOTO 20
50       ENDIF
51       JPHXSI = LQ(JPHXS-IELEM)
52       IPOINT = JPHXSI+1
53       IMAX = Q(IPOINT)
54       IPOINT = IPOINT+1
55       ECUR = E*1.E6
56       IF(ECUR.LT.Q(IPOINT)) GO TO 20
57       EINV = ONE/ECUR
58       DO 10 I = 2,IMAX
59          IPOINT = IPOINT+5
60          IF(ECUR.LT.Q(IPOINT)) THEN
61             J = IPOINT+1
62             RES = EINV*(Q(J)+EINV*(Q(J+1)+EINV*(Q(J+2)+EINV*Q(J+3))))
63             GO TO 20
64          ENDIF
65    10 CONTINUE
66 C This value is in cm**2/g
67    20 GPHSGP = MAX(RES,0.)
68 C
69       END