]> git.uio.no Git - u/mrichter/AliRoot.git/blob - GEANT321/gphys/gphsg1.F
New files for folders and Stack
[u/mrichter/AliRoot.git] / GEANT321 / gphys / gphsg1.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:21:29  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 GPHSG1(E)
13 C.
14 C.    ******************************************************************
15 C.    *                                                                *
16 C.    *       FUNCTION TO COMPUTE THE PHOTOEFFECT TOTAL CROSS-SECTION  *
17 C.    *       AS A FUNCTION OF E                                       *
18 C.    *                                                                *
19 C.    *    ==>CALLED BY : GPHOTI                                       *
20 C.    *                                                                *
21 C.    *    (1) Sandia parametrizsation is used;                        *
22 C.    *    (2) GPHSG1 in cm**2/g.                                      *
23 C.    *    (3) E in GeV                                                *
24 C.    *                                                                *
25 C.    *     J. Chwastowski 17.11.92                                    *
26 C.    ******************************************************************
27 C.
28 #include "geant321/gcbank.inc"
29 #include "geant321/gcjloc.inc"
30 #include "geant321/gconsp.inc"
31 #include "geant321/gc10ev.inc"
32 #if !defined(CERNLIB_SINGLE)
33       DOUBLE PRECISION EINV,ECUR,ONE
34 #endif
35       PARAMETER (ONE=1)
36 C.
37 C.    ------------------------------------------------------------------
38 C.
39       RES = 0.
40       IF(E.LT.G10EV) GO TO 20
41 C Use Sandia data
42       JPHXS = LQ(JPHOT-1)
43       IPOINT = JPHXS+Q(JPHXS+1)*3+2
44       IMAX = Q(IPOINT)
45       IPOINT = IPOINT+1
46       ECUR = E*1.E6
47       IF(ECUR.LT.Q(IPOINT)) GO TO 20
48       EINV = ONE/ECUR
49       DO 10 I = 2,IMAX
50          IPOINT = IPOINT+5
51          IF(ECUR.LT.Q(IPOINT)) THEN
52             J = IPOINT+1
53             RES = EINV*(Q(J)+EINV*(Q(J+1)+EINV*(Q(J+2)+EINV*Q(J+3))))
54             GO TO 20
55          ENDIF
56    10 CONTINUE
57 C This value is in cm**2/g
58    20 GPHSG1 = MAX(RES,0.)
59 C
60       END