*$ CREATE USPLC.ADD *COPY USPLC * *=== usplc ============================================================* * *----------------------------------------------------------------------* * * * Copyright (C) 1989-2005 by Alfredo Ferrari & Paola Sala * * All Rights Reserved. * * * * * * Common Usplc for the new plc and lca correction in Emf and Fluka * * created by A. Ferrari & P. Sala on 23-oct-1989 * * * * Last change on 05 september 1997 by Alfredo Ferrari * * * * included in: * * bdmuls * * electr (new version) * * emsnsc * * fixtmx (new version) * * fluka * * hmsnsc * * mulemf * * mulhad * * omegae * * stepop * * tmxmol * * * *----------------------------------------------------------------------* * PARAMETER ( NBUCIN = 300 ) PARAMETER ( PISQRD = 9.8696044010893585D+00 ) PARAMETER ( AP0782 = 7.8152099123863686D-02 ) PARAMETER ( AP158 = 0.1583818043657366D+00 ) * *----------------------------------------------------------------------* * The following number should be e, but it was slightly increased * * to be sure to get blc > 1 in the scattering routine * *----------------------------------------------------------------------* * * PARAMETER ( A2P72 = 2.718281828459045 D+00 ) PARAMETER ( A2P72 = 2.720000000000000 D+00 ) PARAMETER ( A1P49 = 1.487919357153952 D+00 ) PARAMETER ( A3P18 = 3.181183579549088 D+00 ) PARAMETER ( A1P79 = 1.787977237735012 D+00 ) PARAMETER ( A4P27 = 4.266960033369870 D+00 ) PARAMETER ( A1P67 = 1.672042454693153 D+00 ) PARAMETER ( A1P56 = 1.557182904603876 D+00 ) PARAMETER ( A3P71 = 3.70518458839024 D+00 ) PARAMETER ( A3P57 = 3.56952768907613 D+00 ) PARAMETER ( A7P70 = 7.69852999760397 D+00 ) PARAMETER ( A11P2 = 11.2277672735772 D+00 ) PARAMETER ( A3P32 = 3.32238673227802 D+00 ) PARAMETER ( A3P81 = 3.81210471399911 D+00 ) * PARAMETER ( B4P52 = A3P18 - A7P70 ) PARAMETER ( B6P96 = A4P27 - A11P2 ) PARAMETER ( A2P22 = A3P71 - A1P49 ) PARAMETER ( A1P78 = A3P57 - A1P79 ) PARAMETER ( A1P65 = A3P32 - A1P67 ) PARAMETER ( A2P25 = A3P81 - A1P56 ) * PARAMETER ( BUC1P5 = 1.5D+00 ) PARAMETER ( OME1P5 = 2.987792713558710D+00 ) PARAMETER ( BLC1P5 = 1.094534891891836D+00 ) PARAMETER ( BUC2P0 = 2.0D+00 ) PARAMETER ( OME2P0 = 3.694528049465325D+00 ) PARAMETER ( BLC2P0 = 1.306852819440055D+00 ) PARAMETER ( BUC3P0 = 3.0D+00 ) PARAMETER ( OME3P0 = 6.695178974395889D+00 ) PARAMETER ( BLC3P0 = 1.901387711331890D+00 ) PARAMETER ( BUC4P0 = 4.0D+00 ) PARAMETER ( OME4P0 = 13.64953750828606D+00 ) PARAMETER ( BLC4P0 = 2.613705638880109D+00 ) PARAMETER ( BUC5P0 = 5.0D+00 ) PARAMETER ( OME5P0 = 29.68263182051532D+00 ) PARAMETER ( BLC5P0 = 3.390562087565900D+00 ) * The following 4 parameters are used for the approximation of the * correction to the Moliere single scattering cross section PARAMETER ( NCORIN = 50 ) PARAMETER ( DBETAC = 2.000000000000000D-02 ) PARAMETER ( BETG35 = 9.583148474999099D-01 ) PARAMETER ( BE2G35 = 9.183673469387755D-01 ) * *----------------------------------------------------------------------* * * * Now the parameters defining the minimum and maximum step conditions * * * * Atmin is the minimum omega0 allowed for using the Moliere's * * theory: at the moment it is set to A2p72 for the egsN(ew) * * version and to Ome1p5 for the egsX version * * Btmin is the upper case B corresponding to omega0 = Atmin: at * * the moment it is set = 1 for the egsN(ew) version and to * * Buc1p5 for the egsX version * * Atmax is the maximum allowed value for the chi-sub-c**2 * B, at * * the moment it is set to 1 ( Bethe criterion ) for the * * egsN(ew) version and to 1.8 for the egsX version. * * Atmnm is the minimum "meaningful" omega0, it is used only in * * egsX and is set to Ome3p0 * * Btmnm is the upper case B corresponding to omega0 = Atmnm, it is * * used only in egsX and is set to Buc3p0 * * Atmxa is the maximum "acceptable" value for the chi-sub-c**2 * B,* * it is used only in egsX and at the moment it is set to 1 * * Thmx0 is the reduced angle besides which the distribution can be * * considered = to the single scattering one, for B = 1. It * * set to 5 * * Thmxh is 8 ( Thmx0**2 - 2 ) * * Ldomrn logical flag for randomly distributed domega sampling * * Leocrr logical flag for correlated randomly distributed eta and * * domega sampling * * Laclrg logical flag for using a modified expression for large * * a_c's * * Nesnsc (Global) number of allowed single scatterings for e+/e- * * Nhsnsc (Global) number of allowed single scatterings for hadrons * * and muons * * Mesnsc(m) number of allowed single scatterings for e+/e- for m_th * * Fluka medium * * Mhsnsc(m) number of allowed single scatterings for hadrons and muons * * for m_th Fluka medium * * Lesnsc logical flag for single scattering for e+/e- * * Lhsnsc logical flag for single scattering for hadrons * * and muons * * Leplgn logical flag for the "polygonal" approach for e+/e- * * Lhplgn logical flag for the "polygonal" approach for hadrons * * and muons * * * *----------------------------------------------------------------------* * * PARAMETER ( ATMIN = A2P72 ) PARAMETER ( ATMIN = OME1P5 ) * PARAMETER ( BTMIN = 1.D+00 ) PARAMETER ( BTMIN = BUC1P5 ) * PARAMETER ( ATMAX = 1.D+00 ) PARAMETER ( ATMAX = 1.8D+0 ) PARAMETER ( ATMNM = OME3P0 ) PARAMETER ( BTMNM = BUC3P0 ) PARAMETER ( ATMXA = 1.D+00 ) PARAMETER ( THMX0 = 5.D+00 ) PARAMETER ( THMXH = 8.D+00 * ( THMX0 * THMX0 - 2.D+00 ) ) PARAMETER ( TMSDFL = 20.D+00 * OME5P0 / ATMNM ) * PARAMETER ( DLTBLC = -0.4319456220014430D+00 ) LOGICAL LESNSC, LESNTH, LHSNSC, LHSNTH, LEXMCS, LHXMCS, LEPLGN, & LHPLGN, LDOMRN, LEOCRR, LACLRG * COMMON / USPLC / BUCINT ( 0:NBUCIN ), SINDOM ( 0:NBUCIN ), & TAU1NT ( 0:NBUCIN ), TAU2NT ( 0:NBUCIN ), & TAU3NT ( 0:NBUCIN ), P0UINT ( 0:NBUCIN ), & P1UINT ( 0:NBUCIN ), P2UINT ( 0:NBUCIN ), & ETRNCR ( 0:NCORIN ), DBLC, DBLCI, BLCMAX, & OMEMNM, TMSOPT, ATMNE , BTMNE , ATMXE , ATMNH , & BTMNH , ATMXH , JFC0RH, JP1CFL, JP2CFL, JP22CF, & IOPSNS, LDOMRN, LEOCRR, LACLRG, LESNSC, LESNTH, & NESNSC, MESNSC(MXXMDF), LHSNSC, LHSNTH, NHSNSC, & MHSNSC(MXXMDF), LEXMCS, LHXMCS, LEPLGN, LHPLGN SAVE / USPLC /