EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
lminto.F
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file lminto.F
1 
2 C **********************************************************************
3 
4  SUBROUTINE lminto(PINT)
5 
6  IMPLICIT NONE
7 
8 C...This is the MINUIT routine INTOEX.
9 CC TRANSFORMS FROM INTERNAL COORDINATES (PINT) TO EXTERNAL
10 CC PARAMETERS (U). THE MINIMIZING ROUTINES WHICH WORK IN
11 CC INTERNAL COORDINATES CALL THIS ROUTINE BEFORE CALLING FCN.
12 
13  COMMON
14  1/lmmine/ erp(30) ,ern(30)
15  2/lmpari/ x(15) ,xt(15) ,dirin(15) ,maxint ,npar
16  3/lmpare/ u(30) ,werr(30) ,maxext ,nu
17  4/lmlimi/ alim(30) ,blim(30) ,lcode(30) ,lcorsp(30) ,limset
18  5/lmvari/ v(15,15)
19  7/lmfix / ipfix(15),xs(15) ,xts(15) ,dirins(15) ,npfix
20  7/lmfix2/ grds(15) ,g2s(15) ,gsteps(15),aberfs(15)
21  c/lmcasc/ y(16) ,jh ,jl
22  f/lmderi/ gin(30) ,grd(15) ,g2(15) ,gstep(15) ,aberf(15)
23  g/lmsimv/ p(15,16) ,pstar(15),pstst(15) ,pbar(15) ,prho(15)
24  j/lmvart/ vt(15,15)
25  COMMON
26  6/lmunit/ isysrd ,isyswr ,isyspu
27  8/lmtitl/ title(13),date(2) ,isw(7) ,nblock
28  9/lmconv/ epsi ,apsi ,vtest ,nstepq ,nfcn ,nfcnmx
29  a/lmcard/ cword ,cword2 ,cword3 ,word7(7)
30  b/lmmini/ amin ,up ,newmin ,itaur ,sigma,epsmac
31 
32  REAL erp,ern
33  INTEGER maxint,npar
34  REAL x,xt,dirin
35  INTEGER maxext ,nu
36  REAL u,werr
37  INTEGER lcode,lcorsp,limset
38  REAL alim,blim
39  REAL v
40  INTEGER ipfix,npfix
41  REAL xs,xts,dirins
42  REAL grds,g2s,gsteps,aberfs
43  REAL y
44  INTEGER jh,jl
45  REAL gin,grd,g2,gstep,aberf
46  REAL p,pstar,pstst,pbar,prho
47  REAL vt
48 ***** COMMON
49  INTEGER isysrd ,isyswr ,isyspu
50  REAL title,date
51  INTEGER isw,nblock
52  REAL epsi ,apsi ,vtest
53  INTEGER nstepq ,nfcn ,nfcnmx
54  REAL cword ,cword2 ,cword3 ,word7
55  REAL amin ,up ,sigma,epsmac
56  INTEGER newmin ,itaur
57  INTEGER i,j
58  REAL pint,al
59 
60  dimension pint(2)
61 
62  DO 100 i= 1, nu
63  j = lcorsp(i)
64  IF ( j ) 100,100,50
65  50 CONTINUE
66  IF (lcode(i) .EQ. 1) go to 80
67  al = alim(i)
68  u(i) = al + 0.5 *(sin(pint(j)) +1.0) * (blim(i) -al)
69  go to 100
70  80 u(i) = pint(j)
71  100 CONTINUE
72  RETURN
73  END