]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/gphys/gphsg2.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / GEANT321 / gphys / gphsg2.F
CommitLineData
fe4da5cc 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 GPHSG2(E)
13C.
14C. ******************************************************************
15C. * *
16C. * FUNCTION TO COMPUTE THE PHOTOEFFECT TOTAL CROSS-SECTION *
17C. * AS A FUNCTION OF Z AND E *
18C. * *
19C. * ==>CALLED BY : special dE/dx *
20C. * *
21C. * (1) Sandia parametrizsation is used; *
22C. * (2) GPHSG2 in Megabarns *
23C. * (3) E in GeV *
24C. * *
25C. * J. Chwastowski 31.03.93 *
26C. ******************************************************************
27C.
28#include "geant321/gcbank.inc"
29#include "geant321/gcjloc.inc"
30#include "geant321/gconsp.inc"
31#include "geant321/gcmate.inc"
32#include "geant321/gc10ev.inc"
33#if !defined(CERNLIB_SINGLE)
34 DOUBLE PRECISION EINV,ECUR,ONE,RES,ZERO
35#endif
36 PARAMETER (ONE=1,ZERO=0)
37C.
38C. ------------------------------------------------------------------
39C.
40 RES = 0.
41 IF(E.LT.G10EV) GO TO 30
42C Use Sandia data
43 JPHXS = LQ(JPHOT-1)
44 NZ = Q(JPHXS+1)
45 ECUR = E*1E6
46 EINV = ONE/ECUR
47 JWEIGH = JPHXS+2*NZ+1
48 DO 20 JZ=1,NZ
49 JPHFN = LQ(JPHXS-JZ)
50 IPOINT = JPHFN+1
51 IMAX = Q(IPOINT)
52 IPOINT = IPOINT-4
53 DO 10 I = 1,IMAX
54 IPOINT = IPOINT+5
55 IF(ECUR.LT.Q(IPOINT)) THEN
56 J = IPOINT+1
57 RES = RES+Q(JWEIGH+JZ)*
58 + EINV*(Q(J)+EINV*(Q(J+1)+EINV*(Q(J+2)+EINV*Q(J+3))))
59 GO TO 20
60 ENDIF
61 10 CONTINUE
62 20 CONTINUE
63C RES value is in cm**2/g
64C Now in Megabarns
65 30 GPHSG2 = MAX(RES,ZERO)*A/AVO*1E-6
66C
67 END