]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/neutron/matiso.F
This commit was generated by cvs2svn to compensate for changes in r1018,
[u/mrichter/AliRoot.git] / GEANT321 / neutron / matiso.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:22:00 cernlib
6* Geant
7*
8*
9#include "geant321/pilot.h"
10*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani
11*-- Author :
12 SUBROUTINE MATISO(IZ,IA,NI,IDISO,FSINGL,NUNIT)
13C
14C Search array MATIDS for the isotopes which have to be taken
15C into account for the element described by IZ and IA
16C
17#include "geant321/mmicap.inc"
18#include "geant321/minput.inc"
19C
20 DIMENSION IDISO(20,2)
21 LOGICAL FSINGL
22C
23 IF(IZ.GT.0.AND.IZ.LE.100.and.MATIDS(IZ,1,1).GT.0) THEN
24 ID = IZ*1000+IA
25 IF = 0
26 IC = 0
27 IDIFF = 1000000
28C
29C check first if selected isotope available
30 DO 10 I=2,MATIDS(IZ,1,1)+1
31 IF( MATIDS(IZ,I,1).EQ.ID .AND.
32 + (MATIDS(IZ,I,2).EQ.100 .OR. FSINGL)) IF = I
33 IF( IABS(MATIDS(IZ,I,1)-ID).LT.IDIFF) THEN
34 IDIFF = IABS(MATIDS(IZ,I,1)-ID)
35 IC = I
36 ENDIF
37 IDISO(I-1,1) = MATIDS(IZ,I,1)
38 IDISO(I-1,2) = MATIDS(IZ,I,2)
39 10 CONTINUE
40 NI = 1
41C the unit number on which the x-section is stored
42 NUNIT = MATIDS(IZ,1,2)
43 IF(.NOT. FSINGL) THEN
44 IF(IF .EQ. 0) THEN
45C no matching isotope found. Look for closest one
46 IF(MATIDS(IZ,2,2).NE.100) NI = MATIDS(IZ,1,1)
47 ELSE
48C matching isotope found
49 IDISO(1,1) = MATIDS(IZ,IF,1)
50 IDISO(1,2) = 100
51 ENDIF
52 ELSE
53 IDISO(1,1) = MATIDS(IZ,IC,1)
54 IDISO(1,2) = 100
55 ENDIF
56 ELSE
57 WRITE(IOUT,'('' MATISO: Error in neutron x-section '',
58 + ''file detected - Z = '',I4)') IZ
59 WRITE(6,'('' MICAP : Error in x-section file '',
60 + '' detected -> STOP '')')
61 STOP
62 ENDIF
63 RETURN
64 END