Version update.
[u/mrichter/AliRoot.git] / LHAPDF / lhapdf5.3.1 / parameter.f
1       subroutine numberPDF(noe)
2       implicit none
3       integer nset,noe
4       nset = 1
5       call numberPDFM(nset,noe)
6       return
7       end
8 c      
9       subroutine listPDF(nset,imem,parm)
10       implicit none
11       include 'parmsetup.inc'
12       character*16 name(nmxset)
13       integer nmem(nmxset),ndef(nmxset)
14       common/NAME/name,nmem,ndef,mem
15       character*16 s1
16       integer i,j,mem,imem,noe,nop,listN(nmxset),listP(nmxset),type
17       real*8 parmL(nmxset,0:noemax,nopmax),parm(nopmax)
18       integer nset
19       save listN,listP,parmL
20 *
21        mem=imem
22       if (mem.gt.listN(nset)) then
23          write(*,*) 'Maximum number of PDFs in list exceeded: ',
24      .              mem,' > ',listN
25          write(*,*) 'Returning most likely PDF'
26          mem=0
27       endif
28       if (mem.lt.0) then
29          write(*,*) 'Negative PDF member requested: ',mem
30          write(*,*) 'Returning most likely PDF'
31          mem=0
32       endif
33       do i=1,listP(nset)
34          parm(i)=parmL(nset,mem,i)
35       enddo
36       return
37 *
38       entry nopPDF(nset,nop)
39       nop=listP(nset)
40       return
41 *
42       entry numberPDFM(nset,noe)
43       if(NAME(nset).eq.'MRSTgrid'
44      +.or.NAME(nset).eq.'MRST98grid'
45      +.or.NAME(nset).eq.'A02'
46      +.or.NAME(nset).eq.'A02M'
47      +.or.NAME(nset).eq.'CTEQ5grid'
48      +.or.NAME(nset).eq.'CTEQ6grid'
49      +.or.NAME(nset).eq.'CTEQ65grid'
50      +.or.NAME(nset).eq.'CTEQ65cgrid'
51      +.or.NAME(nset).eq.'CTEQ6ABgrid'
52      +.or.NAME(nset).eq.'SASG'
53      +.or.NAME(nset).eq.'GRVG'
54      +.or.NAME(nset).eq.'DOG'
55      +.or.NAME(nset).eq.'DGG'
56      +.or.NAME(nset).eq.'LACG'
57      +.or.NAME(nset).eq.'GSG'
58      +.or.NAME(nset).eq.'GSG96'
59      +.or.NAME(nset).eq.'ACFGP'
60      +.or.NAME(nset).eq.'WHITG'
61      +.or.NAME(nset).eq.'OWP'
62      +.or.NAME(nset).eq.'SMRSP'
63      +.or.NAME(nset).eq.'GRVP'
64      +.or.NAME(nset).eq.'ABFKWP'
65 c     +.or.NAME.eq.'H12000'
66 c     +.or.NAME.eq.'GRV'
67      +) then
68         noe = nmem(nset)
69       else
70         noe=listN(nset)
71       endif
72      
73       return
74 *
75       entry InitListPDF(nset)
76       type=-1
77       read(1,*) s1,listN(nset),listP(nset)
78 c      print *,s1,listN,listP
79       if (index(s1,'list').eq.1) then
80          type=1
81          do i=0,listN(nset)
82             read(1,*) (parmL(nset,i,j),j=1,listP(nset))
83          enddo
84 c        print *,parmL(0,1)
85       endif
86       if (type.lt.0) then
87          write(*,*) 'File description error:'
88          write(*,*) 'Unknown parameter list type ',s1
89          stop
90       endif
91       return
92 *
93       end
94