C C C This code is distributed under the terms and conditions of the C CCP4 licence agreement as `Part 2' (Annex 2) software. C A copy of the CCP4 licence can be obtained by writing to the C CCP4 Secretary, Daresbury Laboratory, Warrington WA4 4AD, UK. C c+++ rundef.fh +++ c Definitions of "run" c zmnrun, zmxrun(ipart, irun) limits on rotation for run irun c nptrun number of limits for this run c lptrun = .false. include, = .true. exclude c reflections within limits c irunbt internal run number for this batch c .lt. 0 reject c isrrbt batch serial number within run c irefrn internal run number of reference set c = 0 no reference set c numrun number of runs c irunum run numbers for each run c lactvrun current status of run c = .false. inactive, .true. active c nactvrun number of active runs c kdtsrn dataset serial number for this run c (serial number in output list) c = 0 if undefined c jbatrn list of all batch numbers for this run c nbatrn number of batches in this run c jmtxbt pointer to matrix for this batch c nmatxs number of matrices (=0 no orientation data) c kspnax spindle axis for this run c = 1,2,3 for h,k,l, =0 undefined c spnang angle (degress) between "spindle axis" c and spindle c dubmtxs setting matrices [UB] c (for diffractometer frame) c dumatxs [D][U] where [D] is datum matrix & c [U] is orientation matrix c e1e2matxs for phi scans in 3-axis goniostat c [E1][E2], else [I] c e1e2invmatxs [E1E2]^-1 c phi3scans !=0 for phi scans in 3-axis goniostat c +1 for positive, -1 negative c (ie sign of e3(3)) c wvlnxs corresponding wavelength c bmatxs unpermuted orthogonalization matrix [B] c bmatrn permuted orthogonalization matrix for run c (for crystal frame) c DUQinv [DUQ]**-1 for run, where [Q] is c "permutation" matrix [bmatxs] [bmatrn]**-1 c note that [Q] is only non-identity for c crystal frame absorption c s0xs direct beam vector c phibat phi1, phi2, delphi for each batch c philim phi stop & start for each batch c phirng phi range for each batch c phirngmin minimum phi range c phioffset offset in phi for each batch, ie c number to be added to phi: usually = 0.0 c but may = eg +-360.0 to avoid c discontinuity at phi=0 c timlim time range for each batch c negphi .true. if phi rotation is c backwards, time = -phi c wvlnmn, wvlnmx minimum & maximum wavelengths c if no information, wvlnmn>wvlnmx c common /rundef/ zmnrun(maxlmr,maxrun), zmxrun(maxlmr,maxrun), $ dubmtxs(3,3,maxmat), dumatxs(3,3,maxmat), $ e1e2matxs(3,3,maxmat), e1e2invmatxs(3,3,maxmat), $ wvlnxs(maxmat), bmatxs(3,3,maxmat), $ s0xs(3,maxmat), bmatrn(3,3,maxrun), DUQinv(3,3,maxrun), $ phibat(3,maxbat), philim(2,maxbat,maxrun), $ phirng(maxbat,maxrun), phirngmin, phioffset(maxbat), $ timlim(2,maxbat,maxrun), wvlnmn, wvlnmx, $ spnang(maxrun), $ nptrun(maxrun), $ numrun, irunum(maxrun), irunbt(maxbat), isrrbt(maxbat), $ jbatrn(maxbat,maxrun), nbatrn(maxrun), $ jmtxbt(maxbat,maxrun), irefrn, kspnax(maxrun), $ kdtsrn(maxrun), nactvrun, nmatxs, $ phi3scans(maxmat), $ lptrun(maxlmr,maxrun), lactvrun(maxrun), negphi(maxrun) real zmnrun, zmxrun, dubmtxs, dumatxs, $ e1e2matxs, e1e2invmatxs, wvlnxs, $ bmatxs, bmatrn, DUQinv, $ s0xs, phibat, philim, phirng, phirngmin, phioffset, $ timlim, spnang, wvlnmn, wvlnmx integer nptrun, irunbt, isrrbt, numrun, irunum, jbatrn, $ nbatrn, jmtxbt, irefrn, kspnax, kdtsrn, nactvrun, $ nmatxs, phi3scans logical lptrun, lactvrun, negphi c save /rundef/ c--- rundef.fh ---