Last change
on this file since 3237 was 2403, checked in by cmv, 22 years ago |
Creation du module de code source de MINUIT (CERNLIB) extrait par CMV
cmv 11/06/2003
|
File size:
1.3 KB
|
Line | |
---|
1 | *
|
---|
2 | * $Id: mnpint.F,v 1.1.1.1 2003-06-11 14:18:28 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 MNPINT(PEXTI,I,PINTI)
|
---|
11 | #include "minuit/d506dp.inc"
|
---|
12 | CC Calculates the internal parameter value PINTI corresponding
|
---|
13 | CC to the external value PEXTI for parameter I.
|
---|
14 | CC
|
---|
15 | #include "minuit/d506cm.inc"
|
---|
16 | CHARACTER CHBUFI*4, CHBUF2*30
|
---|
17 | PINTI = PEXTI
|
---|
18 | IGO = NVARL(I)
|
---|
19 | IF (IGO .EQ. 4) THEN
|
---|
20 | C-- there are two limits
|
---|
21 | ALIMI = ALIM(I)
|
---|
22 | BLIMI = BLIM(I)
|
---|
23 | YY=2.0*(PEXTI-ALIMI)/(BLIMI-ALIMI) - 1.0
|
---|
24 | YY2 = YY**2
|
---|
25 | IF (YY2 .GE. (1.0- EPSMA2)) THEN
|
---|
26 | IF (YY .LT. 0.) THEN
|
---|
27 | A = VLIMLO
|
---|
28 | CHBUF2 = ' IS AT ITS LOWER ALLOWED LIMIT.'
|
---|
29 | ELSE
|
---|
30 | A = VLIMHI
|
---|
31 | CHBUF2 = ' IS AT ITS UPPER ALLOWED LIMIT.'
|
---|
32 | ENDIF
|
---|
33 | PINTI = A
|
---|
34 | PEXTI = ALIMI + 0.5* (BLIMI-ALIMI) *(SIN(A) +1.0)
|
---|
35 | LIMSET = .TRUE.
|
---|
36 | WRITE (CHBUFI,'(I4)') I
|
---|
37 | IF (YY2 .GT. 1.0) CHBUF2 = ' BROUGHT BACK INSIDE LIMITS.'
|
---|
38 | CALL MNWARN('W',CFROM,'VARIABLE'//CHBUFI//CHBUF2)
|
---|
39 | ELSE
|
---|
40 | PINTI = ASIN(YY)
|
---|
41 | ENDIF
|
---|
42 | ENDIF
|
---|
43 | RETURN
|
---|
44 | END
|
---|
Note:
See
TracBrowser
for help on using the repository browser.