COSMOS v7.655  COSMOSv7655
(AirShowerMC)
mnexcm.f
Go to the documentation of this file.
1 *
2 * $Id: mnexcm.F,v 1.2 1996/03/15 18:02:45 james Exp $
3 *
4 * $Log: mnexcm.F,v $
5 * Revision 1.2 1996/03/15 18:02:45 james
6 * Modified Files:
7 * mnderi.F eliminate possible division by zero
8 * mnexcm.F suppress print on STOP when print flag=-1
9 * set FVAL3 to flag if FCN already called with IFLAG=3
10 * mninit.F set version 96.03
11 * mnlims.F remove arguments, not needed
12 * mnmigr.F VLEN -> LENV in debug print statement
13 * mnparm.F move call to MNRSET to after NPAR redefined, to zero all
14 * mnpsdf.F eliminate possible division by zero
15 * mnscan.F suppress printout when print flag =-1
16 * mnset.F remove arguments in call to MNLIMS
17 * mnsimp.F fix CSTATU so status is PROGRESS only if new minimum
18 * mnvert.F eliminate possible division by zero
19 *
20 * Revision 1.1.1.1 1996/03/07 14:31:29 mclareni
21 * Minuit
22 *
23 *
24  SUBROUTINE mnexcm(FCN,COMAND,PLIST,LLIST,IERFLG,FUTIL)
25 *
26 * $Id: d506dp.inc,v 1.1.1.1 1996/03/07 14:31:32 mclareni Exp $
27 *
28 * $Log: d506dp.inc,v $
29 * Revision 1.1.1.1 1996/03/07 14:31:32 mclareni
30 * Minuit
31 *
32 *
33 *
34 *
35 * d506dp.inc
36 *
37 C ************ DOUBLE PRECISION VERSION *************
38  IMPLICIT DOUBLE PRECISION (a-h,o-z)
39 CC Interprets a command and takes appropriate action,
40 CC either directly by skipping to the corresponding code in
41 CC MNEXCM, or by setting up a call to a subroutine
42 CC
43 *
44 * $Id: d506cm.inc,v 1.1.1.1 1996/03/07 14:31:32 mclareni Exp $
45 *
46 * $Log: d506cm.inc,v $
47 * Revision 1.1.1.1 1996/03/07 14:31:32 mclareni
48 * Minuit
49 *
50 *
51 *
52 *
53 * d506cm.inc
54 *
55  parameter(mne=100 , mni=50)
56  parameter(mnihl=mni*(mni+1)/2)
57  CHARACTER*10 CPNAM
58  COMMON
59  1/mn7nam/ cpnam(mne)
60  2/mn7ext/ u(mne) ,alim(mne) ,blim(mne)
61  3/mn7err/ erp(mni) ,ern(mni) ,werr(mni) ,globcc(mni)
62  4/mn7inx/ nvarl(mne) ,niofex(mne),nexofi(mni)
63  5/mn7int/ x(mni) ,xt(mni) ,dirin(mni)
64  6/mn7fx2/ xs(mni) ,xts(mni) ,dirins(mni)
65  7/mn7der/ grd(mni) ,g2(mni) ,gstep(mni) ,gin(mne) ,dgrd(mni)
66  8/mn7fx3/ grds(mni) ,g2s(mni) ,gsteps(mni)
67  9/mn7fx1/ ipfix(mni) ,npfix
68  a/mn7var/ vhmat(mnihl)
69  b/mn7vat/ vthmat(mnihl)
70  c/mn7sim/ p(mni,mni+1),pstar(mni),pstst(mni) ,pbar(mni),prho(mni)
71 C
72  parameter(maxdbg=10, maxstk=10, maxcwd=20, maxp=30, maxcpt=101)
73  parameter(zero=0.0, one=1.0, half=0.5)
74  COMMON
75  d/mn7npr/ maxint ,npar ,maxext ,nu
76  e/mn7iou/ isysrd ,isyswr ,isyssa ,npagwd ,npagln ,newpag
77  e/mn7io2/ istkrd(maxstk) ,nstkrd ,istkwr(maxstk) ,nstkwr
78  f/mn7tit/ cfrom ,cstatu ,ctitl ,cword ,cundef ,cvrsn ,covmes
79  g/mn7flg/ isw(7) ,idbg(0:maxdbg) ,nblock ,icomnd
80  h/mn7min/ amin ,up ,edm ,fval3 ,epsi ,apsi ,dcovar
81  i/mn7cnv/ nfcn ,nfcnmx ,nfcnlc ,nfcnfr ,itaur,istrat,nwrmes(2)
82  j/mn7arg/ word7(maxp)
83  k/mn7log/ lwarn ,lrepor ,limset ,lnolim ,lnewmn ,lphead
84  l/mn7cns/ epsmac ,epsma2 ,vlimlo ,vlimhi ,undefi ,bigedm,updflt
85  m/mn7rpt/ xpt(maxcpt) ,ypt(maxcpt)
86  n/mn7cpt/ chpt(maxcpt)
87  o/mn7xcr/ xmidcr ,ymidcr ,xdircr ,ydircr ,ke1cr ,ke2cr
88  CHARACTER CTITL*50, CWORD*(maxcwd), CUNDEF*10, CFROM*8,
89  + cvrsn*6, covmes(0:3)*22, cstatu*10, chpt*1
90  LOGICAL LWARN, LREPOR, LIMSET, LNOLIM, LNEWMN, LPHEAD
91  EXTERNAL fcn,futil
92  CHARACTER*(*) COMAND
93 C Cannot say DIMENSION PLIST(LLIST) since LLIST can be =0.
94  dimension plist(*)
95  parameter(mxpt=101)
96  dimension xptu(mxpt), yptu(mxpt)
97 C alphabetical order of command names!
98  CHARACTER*10 CNAME(40), CNEWAY, CHWHY*18, C26*30, CVBLNK*2
99  LOGICAL LTOFIX, LFIXED, LFREED
100 C
101  CHARACTER COMD*4
102  CHARACTER CLOWER*26, CUPPER*26
103  DATA clower/'abcdefghijklmnopqrstuvwxyz'/
104  DATA cupper/'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
105 C
106 C recognized MINUIT commands:
107  DATA cname( 1) / 'MINImize ' /
108  DATA cname( 2) / 'SEEk ' /
109  DATA cname( 3) / 'SIMplex ' /
110  DATA cname( 4) / 'MIGrad ' /
111  DATA cname( 5) / 'MINOs ' /
112  DATA cname( 6) / 'SET xxx ' /
113  DATA cname( 7) / 'SHOw xxx ' /
114  DATA cname( 8) / 'TOP of pag' /
115  DATA cname( 9) / 'FIX ' /
116  DATA cname(10) / 'REStore ' /
117  DATA cname(11) / 'RELease ' /
118  DATA cname(12) / 'SCAn ' /
119  DATA cname(13) / 'CONtour ' /
120  DATA cname(14) / 'HESse ' /
121  DATA cname(15) / 'SAVe ' /
122  DATA cname(16) / 'IMProve ' /
123  DATA cname(17) / 'CALl fcn ' /
124  DATA cname(18) / 'STAndard ' /
125  DATA cname(19) / 'END ' /
126  DATA cname(20) / 'EXIt ' /
127  DATA cname(21) / 'RETurn ' /
128  DATA cname(22) / 'CLEar ' /
129  DATA cname(23) / 'HELP ' /
130  DATA cname(24) / 'MNContour ' /
131  DATA cname(25) / 'STOp ' /
132  DATA cname(26) / 'JUMp ' /
133  DATA cname(27) / ' ' /
134  DATA cname(28) / ' ' /
135  DATA cname(29) / ' ' /
136  DATA cname(30) / ' ' /
137  DATA cname(31) / ' ' /
138  DATA cname(32) / ' ' /
139  DATA cname(33) / ' ' /
140 C obsolete commands:
141  DATA cname(34) / 'COVARIANCE' /
142  DATA cname(35) / 'PRINTOUT ' /
143  DATA cname(36) / 'GRADIENT ' /
144  DATA cname(37) / 'MATOUT ' /
145  DATA cname(38) / 'ERROR DEF ' /
146  DATA cname(39) / 'LIMITS ' /
147  DATA cname(40) / 'PUNCH ' /
148  DATA nntot/40/
149 C IERFLG is now (94.5) defined the same as ICONDN in MNCOMD
150 CC = 0: command executed normally
151 CC 1: command is blank, ignored
152 CC 2: command line unreadable, ignored
153 CC 3: unknown command, ignored
154 CC 4: abnormal termination (e.g., MIGRAD not converged)
155 CC 9: reserved
156 CC 10: END command
157 CC 11: EXIT or STOP command
158 CC 12: RETURN command
159  lk = len(comand)
160  IF (lk .GT. maxcwd) lk=maxcwd
161  cword = comand(1:lk)
162 C get upper case
163  DO 16 icol= 1, lk
164  DO 15 let= 1, 26
165  IF (cword(icol:icol) .EQ. clower(let:let))
166  + cword(icol:icol) = cupper(let:let)
167  15 CONTINUE
168  16 CONTINUE
169 C Copy the first MAXP arguments into COMMON (WORD7), making
170 C sure that WORD7(1)=0. if LLIST=0
171  DO 20 iw= 1, maxp
172  word7(iw) = zero
173  IF (iw .LE. llist) word7(iw) = plist(iw)
174  20 CONTINUE
175  icomnd = icomnd + 1
176  nfcnlc = nfcn
177  IF (cword(1:7).NE.'SET PRI' .OR. word7(1).GE.0.) THEN
178  IF (isw(5) .GE. 0) THEN
179  lnow = llist
180  IF (lnow .GT. 4) lnow=4
181  WRITE (isyswr,25) icomnd,cword(1:lk),(plist(i),i=1,lnow)
182  25 FORMAT (1h ,10(1h*)/' **',i5,' **',a,4g12.4)
183  inonde = 0
184  IF (llist .GT. lnow) THEN
185  kll = llist
186  IF (llist .GT. maxp) THEN
187  inonde = 1
188  kll = maxp
189  ENDIF
190  WRITE (cvblnk,'(I2)') lk
191  c26 = '(11H **********,'//cvblnk//'X,4G12.4)'
192  WRITE (isyswr,c26) (plist(i),i=lnow+1,kll)
193  ENDIF
194  WRITE (isyswr, '(1H ,10(1H*))' )
195  IF (inonde .GT. 0) WRITE (isyswr, '(1H ,10(1H*),A,I3,A)')
196  + ' ERROR: ABOVE CALL TO MNEXCM TRIED TO PASS MORE THAN ',
197  + maxp,' PARAMETERS.'
198  ENDIF
199  ENDIF
200  nfcnmx = word7(1)
201  IF (nfcnmx .LE. 0) nfcnmx = 200 + 100*npar + 5*npar**2
202  epsi = word7(2)
203  IF (epsi .LE. zero) epsi = 0.1 * up
204  lnewmn = .false.
205  lphead = .true.
206  isw(1) = 0
207  ierflg = 0
208 C look for command in list CNAME . . . . . . . . . .
209  DO 80 i= 1, nntot
210  IF (cword(1:3) .EQ. cname(i)(1:3)) GO TO 90
211  80 CONTINUE
212  WRITE (isyswr,'(11X,''UNKNOWN COMMAND IGNORED:'',A)') comand
213  ierflg = 3
214  GO TO 5000
215 C normal case: recognized MINUIT command . . . . . . .
216  90 CONTINUE
217  IF (cword(1:4) .EQ. 'MINO') i = 5
218  IF (i.NE.6 .AND. i.NE.7 .AND. i.NE.8 .AND. i.NE.23) THEN
219  cfrom = cname(i)
220  nfcnfr = nfcn
221  ENDIF
222 C 1 2 3 4 5 6 7 8 9 10
223  GO TO ( 400, 200, 300, 400, 500, 700, 700, 800, 900,1000,
224  1 1100,1200,1300,1400,1500,1600,1700,1800,1900,1900,
225  2 1900,2200,2300,2400,1900,2600,3300,3300,3300,3300,
226  3 3300,3300,3300,3400,3500,3600,3700,3800,3900,4000) , i
227 C . . . . . . . . . . seek
228  200 CALL mnseek(fcn,futil)
229  GO TO 5000
230 C . . . . . . . . . . simplex
231  300 CALL mnsimp(fcn,futil)
232  IF (isw(4) .LT. 1) ierflg = 4
233  GO TO 5000
234 C . . . . . . migrad, minimize
235  400 CONTINUE
236  nf = nfcn
237  apsi = epsi
238  CALL mnmigr(fcn,futil)
239  CALL mnwerr
240  IF (isw(4) .GE. 1) GO TO 5000
241  ierflg = 4
242  IF (isw(1) .EQ. 1) GO TO 5000
243  IF (cword(1:3) .EQ. 'MIG') GO TO 5000
244  nfcnmx = nfcnmx + nf - nfcn
245  nf = nfcn
246  CALL mnsimp(fcn,futil)
247  IF (isw(1) .EQ. 1) GO TO 5000
248  nfcnmx = nfcnmx + nf - nfcn
249  CALL mnmigr(fcn,futil)
250  IF (isw(4) .GE. 1) ierflg = 0
251  CALL mnwerr
252  GO TO 5000
253 C . . . . . . . . . . minos
254  500 CONTINUE
255  nsuper = nfcn + 2*(npar+1)*nfcnmx
256 C possible loop over new minima
257  epsi = 0.1 * up
258  510 CONTINUE
259  CALL mncuve(fcn,futil)
260  CALL mnmnos(fcn,futil)
261  IF (.NOT. lnewmn) GO TO 5000
262  CALL mnrset(0)
263  CALL mnmigr(fcn,futil)
264  CALL mnwerr
265  IF (nfcn .LT. nsuper) GO TO 510
266  WRITE (isyswr,'(/'' TOO MANY FUNCTION CALLS. MINOS GIVES UP''/)')
267  ierflg = 4
268  GO TO 5000
269 C . . . . . . . . . .set, show
270  700 CALL mnset(fcn,futil)
271  GO TO 5000
272 C . . . . . . . . . . top of page
273  800 CONTINUE
274  WRITE (isyswr,'(1H1)')
275  GO TO 5000
276 C . . . . . . . . . . fix
277  900 ltofix = .true.
278 C . . (also release) ....
279  901 CONTINUE
280  lfreed = .false.
281  lfixed = .false.
282  IF (llist .EQ. 0) THEN
283  WRITE (isyswr,'(A,A)') cword,': NO PARAMETERS REQUESTED '
284  GO TO 5000
285  ENDIF
286  DO 950 ilist= 1, llist
287  iext = plist(ilist)
288  chwhy = ' IS UNDEFINED.'
289  IF (iext .LE. 0) GO TO 930
290  IF (iext .GT. nu) GO TO 930
291  IF (nvarl(iext) .LT. 0) GO TO 930
292  chwhy = ' IS CONSTANT. '
293  IF (nvarl(iext) .EQ. 0) GO TO 930
294  iint = niofex(iext)
295  IF (ltofix) THEN
296  chwhy = ' ALREADY FIXED.'
297  IF (iint .EQ. 0) GO TO 930
298  CALL mnfixp(iint,ierr)
299  IF (ierr .EQ. 0) THEN
300  lfixed = .true.
301  ELSE
302  ierflg = 4
303  ENDIF
304  ELSE
305  chwhy = ' ALREADY VARIABLE.'
306  IF (iint .GT. 0) GO TO 930
307  krl = -iabs(iext)
308  CALL mnfree(krl)
309  lfreed = .true.
310  ENDIF
311  GO TO 950
312  930 WRITE (isyswr,'(A,I4,A,A)') ' PARAMETER',iext,chwhy,' IGNORED.'
313  950 CONTINUE
314  IF (lfreed .OR. lfixed) CALL mnrset(0)
315  IF (lfreed) THEN
316  isw(2) = 0
317  dcovar = 1.
318  edm = bigedm
319  isw(4) = 0
320  ENDIF
321  CALL mnwerr
322  IF (isw(5) .GT. 1) CALL mnprin(5,amin)
323  GO TO 5000
324 C . . . . . . . . . . restore
325  1000 it = word7(1)
326  IF (it.GT.1 .OR. it.LT.0) GO TO 1005
327  lfreed = (npfix .GT. 0)
328  CALL mnfree(it)
329  IF (lfreed) THEN
330  CALL mnrset(0)
331  isw(2) = 0
332  dcovar = 1.
333  edm = bigedm
334  ENDIF
335  GO TO 5000
336  1005 WRITE (isyswr,'(A,I4)') ' IGNORED. UNKNOWN ARGUMENT:',it
337  ierflg = 3
338  GO TO 5000
339 C . . . . . . . . . . release
340  1100 ltofix = .false.
341  GO TO 901
342 C . . . . . . . . . . scan . . .
343  1200 CONTINUE
344  iext = word7(1)
345  IF (iext .LE. 0) GO TO 1210
346  it2 = 0
347  IF (iext .LE. nu) it2 = niofex(iext)
348  IF (it2 .LE. 0) GO TO 1250
349  1210 CALL mnscan(fcn,futil)
350  GO TO 5000
351  1250 WRITE (isyswr,'(A,I4,A)') ' PARAMETER',iext,' NOT VARIABLE.'
352  ierflg = 3
353  GO TO 5000
354 C . . . . . . . . . . contour
355  1300 CONTINUE
356  ke1 = word7(1)
357  ke2 = word7(2)
358  IF (ke1 .EQ. 0) THEN
359  IF (npar .EQ. 2) THEN
360  ke1 = nexofi(1)
361  ke2 = nexofi(2)
362  ELSE
363  WRITE (isyswr,'(A,A)') cword,': NO PARAMETERS REQUESTED '
364  ierflg = 3
365  GO TO 5000
366  ENDIF
367  ENDIF
368  nfcnmx = 1000
369  CALL mncntr(fcn,ke1,ke2,ierrf,futil)
370  IF (ierrf .GT. 0) ierflg = 3
371  GO TO 5000
372 C . . . . . . . . . . hesse
373  1400 CONTINUE
374  CALL mnhess(fcn,futil)
375  CALL mnwerr
376  IF (isw(5) .GE. 0) CALL mnprin(2, amin)
377  IF (isw(5) .GE. 1) CALL mnmatu(1)
378  GO TO 5000
379 C . . . . . . . . . . save
380  1500 CONTINUE
381  CALL mnsave
382  GO TO 5000
383 C . . . . . . . . . . improve
384  1600 CONTINUE
385  CALL mncuve(fcn,futil)
386  CALL mnimpr(fcn,futil)
387  IF (lnewmn) GO TO 400
388  ierflg = 4
389  GO TO 5000
390 C . . . . . . . . . . call fcn
391  1700 iflag = word7(1)
392  nparx = npar
393  f = undefi
394  CALL fcn(nparx,gin,f,u,iflag,futil)
395  nfcn = nfcn + 1
396  nowprt = 0
397  IF (f .NE. undefi) THEN
398  IF (amin .EQ. undefi) THEN
399  amin = f
400  nowprt = 1
401  ELSE IF (f .LT. amin) THEN
402  amin = f
403  nowprt = 1
404  ENDIF
405  IF (isw(5).GE.0 .AND. iflag.LE.5 .AND. nowprt.EQ.1)
406  + CALL mnprin(5,amin)
407  IF (iflag .EQ. 3) fval3=f
408  ENDIF
409  IF (iflag .GT. 5) CALL mnrset(1)
410  GO TO 5000
411 C . . . . . . . . . . standard
412  1800 CALL stand
413  GO TO 5000
414 C . . . return, stop, end, exit
415  1900 it = word7(1)
416  IF (fval3 .NE. amin .AND. it .EQ. 0) THEN
417  iflag = 3
418  IF (isw(5) .GE. 0)
419  +WRITE (isyswr,'(/A/)') ' CALL TO USER FUNCTION WITH IFLAG = 3'
420  nparx = npar
421  CALL fcn(nparx,gin,f,u,iflag,futil)
422  nfcn = nfcn + 1
423  fval3 = f
424  ENDIF
425  ierflg = 11
426  IF (cword(1:3) .EQ. 'END') ierflg = 10
427  IF (cword(1:3) .EQ. 'RET') ierflg = 12
428  GO TO 5000
429 C . . . . . . . . . . clear
430  2200 CONTINUE
431  CALL mncler
432  IF (isw(5) .GE. 1) WRITE (isyswr,'(A)')
433  + ' MINUIT MEMORY CLEARED. NO PARAMETERS NOW DEFINED.'
434  GO TO 5000
435 C . . . . . . . . . . help
436  2300 CONTINUE
437 CCCC IF (INDEX(CWORD,'SHO') .GT. 0) GO TO 700
438 CCCC IF (INDEX(CWORD,'SET') .GT. 0) GO TO 700
439  kcol = 0
440  DO 2310 icol= 5,lk
441  IF (cword(icol:icol) .EQ. ' ') GO TO 2310
442  kcol = icol
443  GO TO 2320
444  2310 CONTINUE
445  2320 CONTINUE
446  IF (kcol .EQ. 0) THEN
447  comd = '* '
448  ELSE
449  comd = cword(kcol:lk)
450  ENDIF
451  CALL mnhelp(comd,isyswr)
452  GO TO 5000
453 C . . . . . . . . . . MNContour
454  2400 CONTINUE
455  epsi = 0.05 * up
456  ke1 = word7(1)
457  ke2 = word7(2)
458  IF (ke1.EQ.0 .AND. npar.EQ.2) THEN
459  ke1 = nexofi(1)
460  ke2 = nexofi(2)
461  ENDIF
462  nptu = word7(3)
463  IF (nptu .LE. 0) nptu=20
464  IF (nptu .GT. mxpt) nptu = mxpt
465  nfcnmx = 100*(nptu+5)*(npar+1)
466  CALL mncont(fcn,ke1,ke2,nptu,xptu,yptu,ierrf,futil)
467  IF (ierrf .LT. nptu) ierflg = 4
468  IF (ierrf .EQ. -1) ierflg = 3
469  GO TO 5000
470 C . . . . . . . . . . jump
471  2600 CONTINUE
472  step = word7(1)
473  IF (step .LE. zero) step = 2.
474  rno = 0.
475  izero = 0
476  DO 2620 i= 1, npar
477  CALL mnrn15(rno,izero)
478  rno = 2.0*rno - 1.0
479  2620 x(i) = x(i) + rno*step*werr(i)
480  CALL mninex(x)
481  CALL mnamin(fcn,futil)
482  CALL mnrset(0)
483  GO TO 5000
484 C . . . . . . . . . . blank line
485  3300 CONTINUE
486  WRITE (isyswr,'(10X,A)') ' BLANK COMMAND IGNORED.'
487  ierflg = 1
488  GO TO 5000
489 C . . . . . . . . obsolete commands . . . . . . . . . . . . . .
490 C . . . . . . . . . . covariance
491  3400 CONTINUE
492  WRITE (isyswr, '(A)') ' THE "COVARIANCE" COMMAND IS OSBSOLETE.',
493  + ' THE COVARIANCE MATRIX IS NOW SAVED IN A DIFFERENT FORMAT',
494  + ' WITH THE "SAVE" COMMAND AND READ IN WITH:"SET COVARIANCE"'
495  ierflg = 3
496  GO TO 5000
497 C . . . . . . . . . . printout
498  3500 CONTINUE
499  cneway = 'SET PRInt '
500  GO TO 3100
501 C . . . . . . . . . . gradient
502  3600 CONTINUE
503  cneway = 'SET GRAd '
504  GO TO 3100
505 C . . . . . . . . . . matout
506  3700 CONTINUE
507  cneway = 'SHOW COVar'
508  GO TO 3100
509 C . . . . . . . . . error def
510  3800 CONTINUE
511  cneway = 'SET ERRdef'
512  GO TO 3100
513 C . . . . . . . . . . limits
514  3900 CONTINUE
515  cneway = 'SET LIMits'
516  GO TO 3100
517 C . . . . . . . . . . punch
518  4000 CONTINUE
519  cneway = 'SAVE '
520 C ....... come from obsolete commands
521  3100 WRITE (isyswr, 3101) cword,cneway
522  3101 FORMAT (' OBSOLETE COMMAND:',1x,a10,5x,'PLEASE USE:',1x,a10)
523  cword = cneway
524  IF (cword .EQ. 'SAVE ') GO TO 1500
525  GO TO 700
526 C . . . . . . . . . . . . . . . . . .
527  5000 RETURN
528  END
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
nodes z
subroutine mnmnos(FCN, FUTIL)
Definition: mnmnos.f:10
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
subroutine mnexcm(FCN, COMAND, PLIST, LLIST, IERFLG, FUTIL)
Definition: mnexcm.f:25
nodes i
subroutine mnwerr
Definition: mnwerr.f:10
subroutine mnfree(K)
Definition: mnfree.f:10
subroutine mnrset(IOPT)
Definition: mnrset.f:10
block data cblkElemag data *AnihiE ! Eposi< 1 TeV, anihilation considered *X0/365.667/, ! radiation length of air in kg/m2 *Ecrit/81.e-3/, ! critical energy of air in GeV *MaxComptonE/1./, ! compton is considered below 1 GeV *MaxPhotoE/1.e-3/, ! above this, PhotoElectric effect neg. *MinPhotoProdE/153.e-3/, ! below 153 MeV, no gp --> hadrons ! scattering const not MeV *Knockon true
Definition: cblkElemag.h:7
subroutine mnmigr(FCN, FUTIL)
Definition: mnmigr.f:25
subroutine mnprin(INKODE, FVAL)
Definition: mnprin.f:10
subroutine mnimpr(FCN, FUTIL)
Definition: mnimpr.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
subroutine mnhelp(COMD, LOUT)
Definition: mnhelp.f:15
subroutine mnamin(FCN, FUTIL)
Definition: mnamin.f:10
********************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
subroutine mnhess(FCN, FUTIL)
Definition: mnhess.f:10
subroutine mncler
Definition: mncler.f:10
struct ob o[NpMax]
Definition: Zprivate.h:34
subroutine mncntr(FCN, KE1, KE2, IERRF, FUTIL)
Definition: mncntr.f:10
subroutine mninex(PINT)
Definition: mninex.f:10
subroutine mnsave
Definition: mnsave.f:10
dE dx *! Nuc Int sampling table d
Definition: cblkMuInt.h:130
subroutine mnsimp(FCN, FUTIL)
Definition: mnsimp.f:25
nodes a
subroutine mnmatu(KODE)
Definition: mnmatu.f:10
subroutine mnset(FCN, FUTIL)
Definition: mnset.f:25
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
subroutine mncont(FCN, KE1, KE2, NPTU, XPTU, YPTU, IERRF, FUTIL)
Definition: mncont.f:10
subroutine mnfixp(IINT, IERR)
Definition: mnfixp.f:10
subroutine stand
Definition: stand.f:10
block data cblkElemag data *AnihiE ! Eposi< 1 TeV, anihilation considered *X0/365.667/, ! radiation length of air in kg/m2 *Ecrit/81.e-3/, ! critical energy of air in GeV *MaxComptonE/1./, ! compton is considered below 1 GeV *MaxPhotoE/1.e-3/, ! above this, PhotoElectric effect neg. *MinPhotoProdE/153.e-3/, ! below 153 MeV, no gp --> hadrons ! scattering const not MeV *Knockon ! knockon is considered Obsolete *PhotoProd false
Definition: cblkElemag.h:7
dE dx *! Nuc Int sampling table h
Definition: cblkMuInt.h:130
dE dx *! Nuc Int sampling table g
Definition: cblkMuInt.h:130
subroutine mncuve(FCN, FUTIL)
Definition: mncuve.f:10
!onst int maxp
Definition: Zprivate.h:3
subroutine mnscan(FCN, FUTIL)
Definition: mnscan.f:25
subroutine mnseek(FCN, FUTIL)
Definition: mnseek.f:10
subroutine mnrn15(VAL, INSEED)
Definition: mnrn15.f:10
integer n
Definition: Zcinippxc.h:1
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