Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / GEANT321 / gphys / gfshls.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:21:25  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/02 29/03/94  15.41.21  by  S.Giani
11 *-- Author :
12       SUBROUTINE GFSHLS(Z,GSHPOT,NSHELL)
13 C.
14 C.    ******************************************************************
15 C.    *                                                                *
16 C.    *       Fetch the shells' potentials for e given Z               *
17 C.    *       The potentials are in eV !!!                             *
18 C.    *                                                                *
19 C.    *    ==>Called by : GPHXSI,GFSHDC                                *
20 C.    *       Author    J. Chwastowski                                 *
21 C.    *                                                                *
22 C.    ******************************************************************
23 C.
24       IMPLICIT NONE
25 #include "geant321/gcpmxz.inc"
26 #include "geant321/gcshpt.inc"
27 #include "geant321/gcunit.inc"
28       REAL ZZ,Z,GSHPOT(*)
29       INTEGER I,IZ,NSHELL
30       ZZ = Z
31       IF(ZZ.LT.1.OR.ZZ.GT.MAXELZ) THEN
32          IF(ZZ.LT. 1) WRITE(CHMAIL,10000) ZZ
33          IF(ZZ.GT.MAXELZ) WRITE(CHMAIL,10100) ZZ
34          CALL GMAIL(0,0)
35       ELSE
36          IZ = IFIX(ZZ)
37          NSHELL = NSHLLS(IZ)
38          DO 10 I = 1,NSHLLS(IZ)
39             GSHPOT(I) = ESHELL(N1ST(IZ)-1+I)
40    10    CONTINUE
41       ENDIF
42 10000 FORMAT(' ***** GFSHLS ERROR:',
43      +       '  Z of the material is less than   1.',
44      +       ' Actual Z =',I5,'.')
45 10100 FORMAT(' ***** GFSHLS ERROR:',
46      +       '  Z of the material is bigger than 100.',
47      +       ' Actual Z =',I5,' (I5).')
48       END