-- -- Patricia Fasel -- Los Alamos National Laboratory -- 1990 August -- module Output (outGamteb) where import GamtebType import Consts import Utils import InitTable import Array--1.3 outGamteb :: Int -> [Stat] -> [Result] -> [Char] outGamteb nPart stats results = "Number of particles " ++ show nPart ++ "\n" ++ outXsectTbl ++ outResultsRaw results ++ outStats stats ++ outResults results -- output the result of particle transformations -- outResults :: [Result] -> [Char] outResults results = "\nScatter, Escape, Transit tables:\n" ++ show resArray where resArray = accumArray (+) 0 ((1, 1), (numExit, numLev)) results -- print statistics -- outStats :: [Stat] -> [Char] outStats stats = showStats titles statList where statArray = accumArray (+) 0 (1, numStat) stats statList = elems statArray titles = ["Number of escapes: ", "Number of transits: ", "Number of scatters: ", "Number of energy kills: ", "Number of weight kills: ", "Number of roulettes: ", "Number of splits: ", "Number of collisions: ", "Number of noncollisions: ", "Number of roulettes kills: ", "Weight of roulette kills: ", "Weight of roulette gains: "] showStats [] [] = "" showStats (t:ts) (s:ss) = t ++ show s ++ "\n" ++ showStats ts ss -- output result list outResultsRaw :: [Result] -> [Char] outResultsRaw [] = [] outResultsRaw (((i, t), w):rs) = "Result: index " ++ show i ++ " type " ++ show t ++ " weight " ++ show w ++ "\n" ++ outResultsRaw rs -- print cross section tables of constant data outXsectTbl :: [Char] outXsectTbl = "\nEnergy table:\n" ++ show (ergs!1) ++ "\nCompton table:\n" ++ show (xComp!1) ++ "\nPair table:\n" ++ show (xPair!1) ++ "\nPhoto table:\n" ++ show (xPhot!1) ++ "\n"