source: Sophya/trunk/SophyaExt/CodeMinuit/code/mnpint.F

Last change on this file 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
RevLine 
[2403]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"
12CC Calculates the internal parameter value PINTI corresponding
13CC to the external value PEXTI for parameter I.
14CC
15#include "minuit/d506cm.inc"
16 CHARACTER CHBUFI*4, CHBUF2*30
17 PINTI = PEXTI
18 IGO = NVARL(I)
19 IF (IGO .EQ. 4) THEN
20C-- 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.