*$ CREATE FLUSCW.FOR *COPY FLUSCW * * *=== fluscw ===========================================================* * * DOUBLE PRECISION FUNCTION FLUSCW ( IJ , PLA , TXX , TYY , & TZZ , WEE , XX , YY , & ZZ , NREG , IOLREG, LLO , & NSURF ) INCLUDE '(DBLPRC)' INCLUDE '(DIMPAR)' INCLUDE '(IOUNIT)' * *----------------------------------------------------------------------* * * * Copyright (C) 1989-2015 by Alfredo Ferrari & Paola Sala * * All Rights Reserved. * * * * New version of Fluscw for FLUKA9x-FLUKA20xy: * * * * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * * !!! This is a completely dummy routine for Fluka9x/200x. !!! * * !!! The name has been kept the same as for older Fluka !!! * * !!! versions for back-compatibility, even though Fluscw !!! * * !!! is applied only to estimators which didn't exist be- !!! * * !!! fore Fluka89. !!! * * !!! User developed versions can be used for weighting !!! * * !!! flux-like quantities at runtime !!! * * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * * * * Input variables: * * * * Ij = (generalized) particle code (Paprop numbering) * * Pla = particle laboratory momentum (GeV/c) (if > 0), * * or kinetic energy (GeV) (if <0 ) * * Txx,yy,zz = particle direction cosines * * Wee = particle weight * * Xx,Yy,Zz = position * * Nreg = (new) region number * * Iolreg = (old) region number * * Llo = particle generation * * Nsurf = transport flag (ignore!) * * * * Output variables: * * * * Fluscw = factor the scored amount will be multiplied by * * Lsczer = logical flag, if true no amount will be scored * * regardless of Fluscw * * * * Useful variables (common SCOHLP): * * * * Flux like binnings/estimators (Fluscw): * * ISCRNG = 1 --> Boundary crossing estimator * * ISCRNG = 2 --> Track length binning * * ISCRNG = 3 --> Track length estimator * * ISCRNG = 4 --> Collision density estimator * * ISCRNG = 5 --> Yield estimator * * JSCRNG = # of the binning/estimator * * * *----------------------------------------------------------------------* * INCLUDE '(SCOHLP)' * CHARACTER*20 FILNAM LOGICAL LFCOPE SAVE LFCOPE DATA LFCOPE / .FALSE. / IF (NOT. LFCOPE ) THEN OPEN ( UNIT = 88, FILE="dire.dat",STATUS ='UNKNOWN') OPEN ( UNIT = 89, FILE="redi.dat",STATUS ='UNKNOWN') LFCOPE =.TRUE. END IF FLUSCW = ONEONE LSCZER = .FALSE. IF (JSCRNG .EQ. 1 ) THEN WRITE(88,998) IJ, PLA, TXX, TYY, TZZ, XX, YY, ZZ ELSE IF (JSCRNG .EQ. 2 ) THEN WRITE(89,998) IJ, PLA, TXX, TYY, TZZ, XX, YY, ZZ END IF 998 FORMAT (I10, 7(E15.5)) RETURN *=== End of function Fluscw ===========================================* END