COSMOS v7.655  COSMOSv7655
(AirShowerMC)
mnfree.f
Go to the documentation of this file.
1 *
2 * $Id: mnfree.F,v 1.1.1.1 1996/03/07 14:31:29 mclareni Exp $
3 *
4 * $Log: mnfree.F,v $
5 * Revision 1.1.1.1 1996/03/07 14:31:29 mclareni
6 * Minuit
7 *
8 *
9  SUBROUTINE mnfree(K)
10 *
11 * $Id: d506dp.inc,v 1.1.1.1 1996/03/07 14:31:32 mclareni Exp $
12 *
13 * $Log: d506dp.inc,v $
14 * Revision 1.1.1.1 1996/03/07 14:31:32 mclareni
15 * Minuit
16 *
17 *
18 *
19 *
20 * d506dp.inc
21 *
22 C ************ DOUBLE PRECISION VERSION *************
23  IMPLICIT DOUBLE PRECISION (a-h,o-z)
24 CC Restores one or more fixed parameter(s) to variable status
25 CC by inserting it into the internal parameter list at the
26 CC appropriate place.
27 CC
28 *
29 * $Id: d506cm.inc,v 1.1.1.1 1996/03/07 14:31:32 mclareni Exp $
30 *
31 * $Log: d506cm.inc,v $
32 * Revision 1.1.1.1 1996/03/07 14:31:32 mclareni
33 * Minuit
34 *
35 *
36 *
37 *
38 * d506cm.inc
39 *
40  parameter(mne=100 , mni=50)
41  parameter(mnihl=mni*(mni+1)/2)
42  CHARACTER*10 CPNAM
43  COMMON
44  1/mn7nam/ cpnam(mne)
45  2/mn7ext/ u(mne) ,alim(mne) ,blim(mne)
46  3/mn7err/ erp(mni) ,ern(mni) ,werr(mni) ,globcc(mni)
47  4/mn7inx/ nvarl(mne) ,niofex(mne),nexofi(mni)
48  5/mn7int/ x(mni) ,xt(mni) ,dirin(mni)
49  6/mn7fx2/ xs(mni) ,xts(mni) ,dirins(mni)
50  7/mn7der/ grd(mni) ,g2(mni) ,gstep(mni) ,gin(mne) ,dgrd(mni)
51  8/mn7fx3/ grds(mni) ,g2s(mni) ,gsteps(mni)
52  9/mn7fx1/ ipfix(mni) ,npfix
53  a/mn7var/ vhmat(mnihl)
54  b/mn7vat/ vthmat(mnihl)
55  c/mn7sim/ p(mni,mni+1),pstar(mni),pstst(mni) ,pbar(mni),prho(mni)
56 C
57  parameter(maxdbg=10, maxstk=10, maxcwd=20, maxp=30, maxcpt=101)
58  parameter(zero=0.0, one=1.0, half=0.5)
59  COMMON
60  d/mn7npr/ maxint ,npar ,maxext ,nu
61  e/mn7iou/ isysrd ,isyswr ,isyssa ,npagwd ,npagln ,newpag
62  e/mn7io2/ istkrd(maxstk) ,nstkrd ,istkwr(maxstk) ,nstkwr
63  f/mn7tit/ cfrom ,cstatu ,ctitl ,cword ,cundef ,cvrsn ,covmes
64  g/mn7flg/ isw(7) ,idbg(0:maxdbg) ,nblock ,icomnd
65  h/mn7min/ amin ,up ,edm ,fval3 ,epsi ,apsi ,dcovar
66  i/mn7cnv/ nfcn ,nfcnmx ,nfcnlc ,nfcnfr ,itaur,istrat,nwrmes(2)
67  j/mn7arg/ word7(maxp)
68  k/mn7log/ lwarn ,lrepor ,limset ,lnolim ,lnewmn ,lphead
69  l/mn7cns/ epsmac ,epsma2 ,vlimlo ,vlimhi ,undefi ,bigedm,updflt
70  m/mn7rpt/ xpt(maxcpt) ,ypt(maxcpt)
71  n/mn7cpt/ chpt(maxcpt)
72  o/mn7xcr/ xmidcr ,ymidcr ,xdircr ,ydircr ,ke1cr ,ke2cr
73  CHARACTER CTITL*50, CWORD*(maxcwd), CUNDEF*10, CFROM*8,
74  + cvrsn*6, covmes(0:3)*22, cstatu*10, chpt*1
75  LOGICAL LWARN, LREPOR, LIMSET, LNOLIM, LNEWMN, LPHEAD
76 C-- K = 0 means restore all parameters
77 C-- K = 1 means restore the last parameter fixed
78 C-- K = -I means restore external parameter I (if possible)
79 C-- IQ = fix-location where internal parameters were stored
80 C-- IR = external number of parameter being restored
81 C-- IS = internal number of parameter being restored
82  IF (k .GT. 1) WRITE (isyswr,510)
83  IF (npfix .LT. 1) WRITE (isyswr,500)
84  IF (k.EQ.1 .OR. k.EQ.0) GO TO 40
85 C release parameter with specified external number
86  ka = iabs(k)
87  IF (niofex(ka) .EQ. 0) GO TO 15
88  WRITE (isyswr,540)
89  540 FORMAT (' IGNORED. PARAMETER SPECIFIED IS ALREADY VARIABLE.')
90  RETURN
91  15 IF (npfix .LT. 1) GO TO 21
92  DO 20 ik= 1, npfix
93  IF (ipfix(ik) .EQ. ka) GO TO 24
94  20 CONTINUE
95  21 WRITE (isyswr,530) ka
96  530 FORMAT (' PARAMETER',i4,' NOT FIXED. CANNOT BE RELEASED.')
97  RETURN
98  24 IF (ik .EQ. npfix) GO TO 40
99 C move specified parameter to end of list
100  ipsav = ka
101  xv = xs(ik)
102  xtv = xts(ik)
103  dirinv = dirins(ik)
104  grdv = grds(ik)
105  g2v = g2s(ik)
106  gstepv = gsteps(ik)
107  DO 30 i= ik+1,npfix
108  ipfix(i-1) = ipfix(i)
109  xs(i-1) = xs(i)
110  xts(i-1) = xts(i)
111  dirins(i-1) = dirins(i)
112  grds(i-1) = grds(i)
113  g2s(i-1) = g2s(i)
114  gsteps(i-1) = gsteps(i)
115  30 CONTINUE
116  ipfix(npfix) = ipsav
117  xs(npfix) = xv
118  xts(npfix) = xtv
119  dirins(npfix) = dirinv
120  grds(npfix) = grdv
121  g2s(npfix) = g2v
122  gsteps(npfix) = gstepv
123 C restore last parameter in fixed list -- IPFIX(NPFIX)
124  40 CONTINUE
125  IF (npfix .LT. 1) GO TO 300
126  ir = ipfix(npfix)
127  is = 0
128  DO 100 ik= nu, ir, -1
129  IF (niofex(ik) .GT. 0) THEN
130  lc = niofex(ik) + 1
131  is = lc - 1
132  niofex(ik) = lc
133  nexofi(lc) = ik
134  x(lc) = x(lc-1)
135  xt(lc) = xt(lc-1)
136  dirin(lc) = dirin(lc-1)
137  werr(lc) = werr(lc-1)
138  grd(lc) = grd(lc-1)
139  g2(lc) = g2(lc-1)
140  gstep(lc) = gstep(lc-1)
141  ENDIF
142  100 CONTINUE
143  npar = npar + 1
144  IF (is .EQ. 0) is = npar
145  niofex(ir) = is
146  nexofi(is) = ir
147  iq = npfix
148  x(is) = xs(iq)
149  xt(is) = xts(iq)
150  dirin(is) = dirins(iq)
151  werr(is) = dirins(iq)
152  grd(is) = grds(iq)
153  g2(is) = g2s(iq)
154  gstep(is) = gsteps(iq)
155  npfix = npfix - 1
156  isw(2) = 0
157  dcovar = 1.
158  IF (isw(5)-itaur .GE. 1) WRITE(isyswr,520) ir,cpnam(ir)
159  IF (k.EQ.0) GO TO 40
160  300 CONTINUE
161 C if different from internal, external values are taken
162  CALL mnexin(x)
163  400 RETURN
164  500 FORMAT (' CALL TO MNFREE IGNORED. THERE ARE NO FIXED PA',
165  + 'RAMETERS'/)
166  510 FORMAT (' CALL TO MNFREE IGNORED. ARGUMENT GREATER THAN ONE'/)
167  520 FORMAT (20x, 9hparameter,i4,2h, ,a10,' RESTORED TO VARIABLE.')
168  END
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
nodes z
block data include Zlatfit h c fitting region data data data data data d0 data data d0 data data h g *is for param c g data up(2, 1)/7.0d0/
dE dx *! Nuc Int sampling table e
Definition: cblkMuInt.h:130
nodes i
subroutine mnfree(K)
Definition: mnfree.f:10
! constants thru Cosmos real ! if multiplied to deg radian Torad ! light velocity m sec ! infinty ! kg m2 *Togpcm2 g cm2 ! g cm2 *Tokgpm2 kg m2 ! cm *Tom m ! m *Tocm cm ! g cm3 *Tokgpm3 kg m3 ! kg m3 *Togpcm3 g cm3 ! sec *Tonsec nsec ! Tesla m ! Avogadro *A2deninv ! mfp *n * xs
Definition: Zglobalc.h:18
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
Definition: cblkHeavy.h:7
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code kiron data j
Definition: cblkHeavy.h:36
struct ob o[NpMax]
Definition: Zprivate.h:34
dE dx *! Nuc Int sampling table d
Definition: cblkMuInt.h:130
nodes a
dE dx *! Nuc Int sampling table b
Definition: cblkMuInt.h:130
block data include Zlatfit h c fitting region data data data data data d0 data data d0 data data m
Definition: ZlatfitBD.h:35
dE dx *! Nuc Int sampling table h
Definition: cblkMuInt.h:130
dE dx *! Nuc Int sampling table g
Definition: cblkMuInt.h:130
!onst int maxp
Definition: Zprivate.h:3
subroutine mnexin(PINT)
Definition: mnexin.f:10
integer n
Definition: Zcinippxc.h:1
block data cblkIncident data *Za1ry is
Definition: cblkIncident.h:5
integer, parameter half
Definition: csoftenPiK.f:108
! structure defining a particle at production ! Basic idea of what is to be contained in ! the particle structue is that dynamical ones should be included those derivable from the particle code ! is not included ******************************************************type fmom momentum sequence union map real e endmap map real * x
Definition: Zptcl.h:21
dE dx *! Nuc Int sampling table f
Definition: cblkMuInt.h:130
dE dx *! Nuc Int sampling table c
Definition: cblkMuInt.h:130