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

Last change on this file since 3359 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"
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.