src/restrax.inc

Fortran project RESTRAX, source module src/restrax.inc.

Source module last modified on Fri, 5 May 2006, 19:42;
HTML image of Fortran source automatically generated by for2html on Mon, 29 May 2006, 15:06.


      INCLUDE 'ness_common.inc'

#/// program switches
      integer*4 swplot,swraytr
      common /switches/ swplot,swraytr

#/// flow control
      logical*4 needbefore
      common /flowctr/ needbefore

#/// measured spectra
      real*4 dspx(maxd),spx(maxd),spy(maxd),spz(maxd)
      real*4 qe0(4,mdat),dqe0(6,mdat)
      integer*4 ipt(maxd),npt(0:mdat)
      common /spectrum/ dspx,spx,spy,spz,ipt,npt,qe0,dqe0    

#/// Histograms and related variables
      real*4 rhist(maxd),xhist(maxd),dhist(6,maxd),erhist(maxd)
      integer*4 nhist(0:mdat), ihist(maxd),whathis
      common /histogram/ xhist,rhist,erhist,dhist,ihist,nhist,whathis
# Note:
# WHATHIS is a flag with histogram status:
# bit1 ... RHIST has been updated
# bit2 ... resolution was taken from ray-tracing (otherwise from TRAX)
# bit4 ... S(Q,w) is from EXCI module (otherwise planar dispersion)

#/// Factors for normalizing data
      real*8 reltr(mdat),relmc(mdat),sumamc(mdat),hnorm(mdat)
      real*8 shist(mdat) 
      common /norms/ reltr,relmc,sumamc,hnorm,shist

#/// Variables for fitting      
      real*4 chisqr,dchisq(mdat),fittol,fitlam0
      real*4 fpar(mpar),fpari(mpar),fparmi(mpar),fparma(mpar)
      real*4 sigmaa(mpar),covar(mpar,mpar)
      integer*4 jfixed(mpar),nfpar,jfit,mode
      common /fit/ chisqr,fittol,fitlam0,dchisq,fpar,fpari,fparmi,fparma,sigmaa,covar,
     1             jfixed,nfpar,jfit,mode
     
#/// Variables for TAS optimisation      
      integer*4 optpar,optfpar,optmerit,optev
      real*8 optdpar
      common /mcoptim/ optpar,optfpar,optmerit,optev,optdpar

#***************************************
#
#  arrays for managing multiple data   *
#
#***************************************
      

#// RESCAL parameters for MDAT exp. data sets
            
      real*8 mf_par(res_nvar,mdat)            

#// Arrays describing TAS setup for Monte Carlo 
      
      byte mf_device(ldev,mdat),mf_setup(lset,mdat) 
      integer*4 mf_chksum(mdat),mf_cfgmode(mdat)            

#// Storage of multiple exp. data

      character*32 mf_name(mdat) 

#// resloution matrices
      real*8 mf_a(4,4,mdat),mf_amc(4,4,mdat),mf_amean(4,mdat)   
      real*8 mf_mrc(4,4,mdat),mf_mcr(4,4,mdat)
      real*8 atrax(4,4),aness(4,4),amean(4)
      real*8 mf_vki(mdat),mf_vkf(mdat),mf_vtot(mdat)
      real*8 mf_mvki(mdat),mf_mvkf(mdat),mf_mvtot(mdat)
      real*8 relness,vkiness,vkfness
      common/matrix/atrax
      common/nessif/aness,amean,relness,vkiness,vkfness

#// field pointers and tags
      integer*4 mf_max,mf_cur  
      logical*4 mf_loaded(mdat),mf_active(mdat),mf_done(mdat),
     *          mf_changed(mdat)

       
      common /mfit/ mf_device,mf_setup,mf_par,
     *              mf_name,
     *              mf_a,mf_amc,mf_amean,mf_mrc,mf_mcr,
     *              mf_vki,mf_vkf,mf_vtot,mf_mvki,mf_mvkf,mf_mvtot,
     *              mf_max,mf_cur, mf_loaded,mf_active,mf_done,
     *              mf_changed, mf_chksum, mf_cfgmode