| [2403] | 1 | * | 
|---|
|  | 2 | * $Id: mnpout.F,v 1.1.1.1 2003-06-11 14:18:29 cmv Exp $ | 
|---|
|  | 3 | * | 
|---|
|  | 4 | * $Log: not supported by cvs2svn $ | 
|---|
|  | 5 | * Revision 1.1.1.1  1996/03/07 14:31:31  mclareni | 
|---|
|  | 6 | * Minuit | 
|---|
|  | 7 | * | 
|---|
|  | 8 | * | 
|---|
|  | 9 | #include "minuit/pilot.h" | 
|---|
|  | 10 | SUBROUTINE MNPOUT(IUEXT,CHNAM,VAL,ERR,XLOLIM,XUPLIM,IUINT) | 
|---|
|  | 11 | #include "minuit/d506dp.inc" | 
|---|
|  | 12 | CC     User-called | 
|---|
|  | 13 | CC   Provides the user with information concerning the current status | 
|---|
|  | 14 | CC          of parameter number IUEXT. Namely, it returns: | 
|---|
|  | 15 | CC        CHNAM: the name of the parameter | 
|---|
|  | 16 | CC        VAL: the current (external) value of the parameter | 
|---|
|  | 17 | CC        ERR: the current estimate of the parameter uncertainty | 
|---|
|  | 18 | CC        XLOLIM: the lower bound (or zero if no limits) | 
|---|
|  | 19 | CC        XUPLIM: the upper bound (or zero if no limits) | 
|---|
|  | 20 | CC        IUINT: the internal parameter number (or zero if not variable, | 
|---|
|  | 21 | CC           or negative if undefined). | 
|---|
|  | 22 | CC  Note also:  If IUEXT is negative, then it is -internal parameter | 
|---|
|  | 23 | CC           number, and IUINT is returned as the EXTERNAL number. | 
|---|
|  | 24 | CC     Except for IUINT, this is exactly the inverse of MNPARM | 
|---|
|  | 25 | CC | 
|---|
|  | 26 | #include "minuit/d506cm.inc" | 
|---|
|  | 27 | CHARACTER*(*) CHNAM | 
|---|
|  | 28 | XLOLIM = 0. | 
|---|
|  | 29 | XUPLIM = 0. | 
|---|
|  | 30 | ERR = 0. | 
|---|
|  | 31 | IF (IUEXT .EQ. 0)  GO TO 100 | 
|---|
|  | 32 | IF (IUEXT .LT. 0)  THEN | 
|---|
|  | 33 | C                   internal parameter number specified | 
|---|
|  | 34 | IINT = -IUEXT | 
|---|
|  | 35 | IF (IINT .GT. NPAR) GO TO 100 | 
|---|
|  | 36 | IEXT = NEXOFI(IINT) | 
|---|
|  | 37 | IUINT = IEXT | 
|---|
|  | 38 | ELSE | 
|---|
|  | 39 | C                    external parameter number specified | 
|---|
|  | 40 | IEXT = IUEXT | 
|---|
|  | 41 | IF (IEXT .EQ. 0)   GO TO 100 | 
|---|
|  | 42 | IF (IEXT .GT. NU)  GO TO 100 | 
|---|
|  | 43 | IINT = NIOFEX(IEXT) | 
|---|
|  | 44 | IUINT = IINT | 
|---|
|  | 45 | ENDIF | 
|---|
|  | 46 | C                     in both cases | 
|---|
|  | 47 | NVL = NVARL(IEXT) | 
|---|
|  | 48 | IF (NVL .LT. 0) GO TO 100 | 
|---|
|  | 49 | CHNAM = CPNAM(IEXT) | 
|---|
|  | 50 | VAL = U(IEXT) | 
|---|
|  | 51 | IF (IINT .GT. 0)  ERR = WERR(IINT) | 
|---|
|  | 52 | IF (NVL .EQ. 4) THEN | 
|---|
|  | 53 | XLOLIM = ALIM(IEXT) | 
|---|
|  | 54 | XUPLIM = BLIM(IEXT) | 
|---|
|  | 55 | ENDIF | 
|---|
|  | 56 | RETURN | 
|---|
|  | 57 | C                parameter is undefined | 
|---|
|  | 58 | 100 IUINT = -1 | 
|---|
|  | 59 | CHNAM = 'undefined' | 
|---|
|  | 60 | VAL = 0. | 
|---|
|  | 61 | RETURN | 
|---|
|  | 62 | END | 
|---|