* * $Id: mnpint.F,v 1.1.1.1 1996/03/07 14:31:31 mclareni Exp $ * * $Log: mnpint.F,v $ * Revision 1.1.1.1 1996/03/07 14:31:31 mclareni * Minuit * * SUBROUTINE MNPINT(PEXTI,I,PINTI) * * $Id: d506dp.inc,v 1.1.1.1 1996/03/07 14:31:32 mclareni Exp $ * * $Log: d506dp.inc,v $ * Revision 1.1.1.1 1996/03/07 14:31:32 mclareni * Minuit * * * * * d506dp.inc * C ************ DOUBLE PRECISION VERSION ************* IMPLICIT DOUBLE PRECISION (A-H,O-Z) CC Calculates the internal parameter value PINTI corresponding CC to the external value PEXTI for parameter I. CC * * $Id: d506cm.inc,v 1.1.1.1 1996/03/07 14:31:32 mclareni Exp $ * * $Log: d506cm.inc,v $ * Revision 1.1.1.1 1996/03/07 14:31:32 mclareni * Minuit * * * * * d506cm.inc * PARAMETER (MNE=1000 , MNI=500) PARAMETER (MNIHL=MNI*(MNI+1)/2) CHARACTER*10 CPNAM COMMON 1/MN7NAM/ CPNAM(MNE) 2/MN7EXT/ U(MNE) ,ALIM(MNE) ,BLIM(MNE) 3/MN7ERR/ ERP(MNI) ,ERN(MNI) ,WERR(MNI) ,GLOBCC(MNI) 4/MN7INX/ NVARL(MNE) ,NIOFEX(MNE),NEXOFI(MNI) 5/MN7INT/ X(MNI) ,XT(MNI) ,DIRIN(MNI) 6/MN7FX2/ XS(MNI) ,XTS(MNI) ,DIRINS(MNI) 7/MN7DER/ GRD(MNI) ,G2(MNI) ,GSTEP(MNI) ,GIN(MNE) ,DGRD(MNI) 8/MN7FX3/ GRDS(MNI) ,G2S(MNI) ,GSTEPS(MNI) 9/MN7FX1/ IPFIX(MNI) ,NPFIX A/MN7VAR/ VHMAT(MNIHL) B/MN7VAT/ VTHMAT(MNIHL) C/MN7SIM/ P(MNI,MNI+1),PSTAR(MNI),PSTST(MNI) ,PBAR(MNI),PRHO(MNI) C PARAMETER (MAXDBG=10, MAXSTK=10, MAXCWD=20, MAXP=30, MAXCPT=101) PARAMETER (ZERO=0.0, ONE=1.0, HALF=0.5) COMMON D/MN7NPR/ MAXINT ,NPAR ,MAXEXT ,NU E/MN7IOU/ ISYSRD ,ISYSWR ,ISYSSA ,NPAGWD ,NPAGLN ,NEWPAG E/MN7IO2/ ISTKRD(MAXSTK) ,NSTKRD ,ISTKWR(MAXSTK) ,NSTKWR F/MN7TIT/ CFROM ,CSTATU ,CTITL ,CWORD ,CUNDEF ,CVRSN ,COVMES G/MN7FLG/ ISW(7) ,IDBG(0:MAXDBG) ,NBLOCK ,ICOMND H/MN7MIN/ AMIN ,UP ,EDM ,FVAL3 ,EPSI ,APSI ,DCOVAR I/MN7CNV/ NFCN ,NFCNMX ,NFCNLC ,NFCNFR ,ITAUR,ISTRAT,NWRMES(2) J/MN7ARG/ WORD7(MAXP) K/MN7LOG/ LWARN ,LREPOR ,LIMSET ,LNOLIM ,LNEWMN ,LPHEAD L/MN7CNS/ EPSMAC ,EPSMA2 ,VLIMLO ,VLIMHI ,UNDEFI ,BIGEDM,UPDFLT M/MN7RPT/ XPT(MAXCPT) ,YPT(MAXCPT) N/MN7CPT/ CHPT(MAXCPT) o/MN7XCR/ XMIDCR ,YMIDCR ,XDIRCR ,YDIRCR ,KE1CR ,KE2CR CHARACTER CTITL*50, CWORD*(MAXCWD), CUNDEF*10, CFROM*8, + CVRSN*6, COVMES(0:3)*22, CSTATU*10, CHPT*1 LOGICAL LWARN, LREPOR, LIMSET, LNOLIM, LNEWMN, LPHEAD CHARACTER CHBUFI*4, CHBUF2*30 PINTI = PEXTI IGO = NVARL(I) IF (IGO .EQ. 4) THEN C-- there are two limits ALIMI = ALIM(I) BLIMI = BLIM(I) YY=2.0*(PEXTI-ALIMI)/(BLIMI-ALIMI) - 1.0 YY2 = YY**2 IF (YY2 .GE. (1.0- EPSMA2)) THEN IF (YY .LT. 0.) THEN A = VLIMLO CHBUF2 = ' IS AT ITS LOWER ALLOWED LIMIT.' ELSE A = VLIMHI CHBUF2 = ' IS AT ITS UPPER ALLOWED LIMIT.' ENDIF PINTI = A PEXTI = ALIMI + 0.5* (BLIMI-ALIMI) *(SIN(A) +1.0) LIMSET = .TRUE. WRITE (CHBUFI,'(I4)') I IF (YY2 .GT. 1.0) CHBUF2 = ' BROUGHT BACK INSIDE LIMITS.' CALL MNWARN('W',CFROM,'VARIABLE'//CHBUFI//CHBUF2) ELSE PINTI = ASIN(YY) ENDIF ENDIF RETURN END