LHAPDF 5.2.2 source code.
[u/mrichter/AliRoot.git] / LHAPDF / lhapdf5.2.2 / 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.'CTEQ6ABgrid'           !*** added ***
50      +.or.NAME(nset).eq.'SASG'
51      +.or.NAME(nset).eq.'GRVG'
52      +.or.NAME(nset).eq.'DOG'
53      +.or.NAME(nset).eq.'DGG'
54      +.or.NAME(nset).eq.'LACG'
55      +.or.NAME(nset).eq.'GSG'
56      +.or.NAME(nset).eq.'GSG96'
57      +.or.NAME(nset).eq.'ACFGP'
58      +.or.NAME(nset).eq.'WHITG'
59      +.or.NAME(nset).eq.'OWP'
60      +.or.NAME(nset).eq.'SMRSP'
61      +.or.NAME(nset).eq.'GRVP'
62      +.or.NAME(nset).eq.'ABFKWP'
63 c     +.or.NAME.eq.'H12000'
64 c     +.or.NAME.eq.'GRV'
65      +) then
66         noe = nmem(nset)
67       else
68         noe=listN(nset)
69       endif
70      
71       return
72 *
73       entry InitListPDF(nset)
74       type=-1
75       read(1,*) s1,listN(nset),listP(nset)
76 c      print *,s1,listN,listP
77       if (index(s1,'list').eq.1) then
78          type=1
79          do i=0,listN(nset)
80             read(1,*) (parmL(nset,i,j),j=1,listP(nset))
81          enddo
82 c        print *,parmL(0,1)
83       endif
84       if (type.lt.0) then
85          write(*,*) 'File description error:'
86          write(*,*) 'Unknown parameter list type ',s1
87          stop
88       endif
89       return
90 *
91       end
92