| 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 | 
|---|