* *=== Spotcm ===========================================================* * * *----------------------------------------------------------------------* * * * Copyright (C) 2003-2019: CERN & INFN * * All Rights Reserved. * * * * Created on 27 April 2016 by Alfredo Ferrari * * CERN - EN * * * * Pmspot(i) = Energy/n (if < 0) or total momentum of the i_th * * spot * * Dpspot(i) = momentum spread of the i_th spot * * Wespot(i) = weight (eg n. of particles) of the i_th spot, it* * is transformed into a cumulative array at the * * first Mlspot call * * Dasptx(i) = (x) angular divergence of the i_th spot * * Daspty(i) = (y) angular divergence of the i_th spot * * Sxspot(i) = sigma_x (FWHM) of the i_th spot * * Syspot(i) = sigma_y (FWHM) of the i_th spot * * Xyzspt(j,i) = starting position for the i_th spot * * Uvwspt(j,i) = beam nominal direction (beam z-axis) for the * * i_th spot * * Xaxspt(j,i) = beam x-axis for the i_th spot * * Yazspt(j,i) = beam y-axis for the i_th spot * * Amspot(i) = mass of the i_th spot beam particle * * Ijspot(i) = id (Paprop numbering) of the i_th spot beam * * particle, or m, A and Z of the i_th spot beam * * particle, coded as usual * * Lfspot(i) = logical flags for the i_th spot coded as: * * Ldxgss = mod(lfspot(i),10) > 0 * * Ldygss = mod(lfspot(i),100)/10 > 0 * * Lbeamc = mod(lfspot(i),1000)/100 > 0 * * Lbaxis = mod(lfspot(i),10000)/1000 > 0 * * Dbkspt(i) = (backward) distance for backtracing the spot * * starting point * * Krtspt(j,i) = transformation matrix Krtspt(1,i) must be copied* * into transformation matrix Krtspt(2,i) when the * * i_th spot is processed * * Irtspt(i) = flag whether to apply Krtspt(1/2,j) to the i_th * * beam spot position and direction (0 = do not * * apply, +1 = apply the transformation, -1 = apply* * the inverse transformation * * Lbkspt(i) = logical flag for backtracing the spot starting * * point * * Nmspot = total number of spots * * Nsptcr = number of the current spot * * * *----------------------------------------------------------------------* * PARAMETER ( MXSPOT = 50000 ) LOGICAL LBKSPT, LPRSPT * COMMON / SPOTCM / PMSPOT (MXSPOT), DPSPOT (MXSPOT), & WESPOT (0:MXSPOT), AMSPOT (MXSPOT), & DASPTX (MXSPOT), DASPTY (MXSPOT), & SXSPOT (MXSPOT), SYSPOT (MXSPOT), & XYZSPT (3,MXSPOT), UVWSPT (3,MXSPOT), & XAXSPT (3,MXSPOT), YAXSPT (3,MXSPOT), & DBKSPT (MXSPOT), IJSPOT (MXSPOT), & KRTSPT (2,MXSPOT), IRTSPT (MXSPOT), & LFSPOT (MXSPOT), LBKSPT (MXSPOT), & NMSPOT, LPRSPT, NSPTCR SAVE / SPOTCM /