-- -- Patricia Fasel -- Los Alamos National Laboratory -- 1990 August -- module PhotoElec (photoElec) where import GamtebType import Consts import Utils photoElec :: Particle -> Probability -> (Particle, Value, Bool) photoElec p prob = if (w' > wgtCut2) then (Part pos dir w' e eIndx cell seed', absorb, False) else -- terminate particle because of weight cutoff if ((w' * fromIntegral cell) < (r1 * wgtCut)) then (Part pos dir w' e eIndx cell seed', absorb, True) else (Part pos dir w'' e eIndx cell seed', absorb, False) where (Part pos dir w e eIndx cell seed) = p (pComp,pPair,pPhot,pTot) = prob (seed', r2) = genRand seed (r1, r3) = genRand r2 w' = w * (1 - pPhot/pTot) w'' = wgtCut/fromIntegral cell absorb = w - w'