标题：egs4
简介
EGS4是英文 Electron-Gama Shower four的缩写，即电子伽马光子簇射模拟。它是一个用蒙特卡罗方法模拟电子（几个kev-Tev）-光子簇射过程的通用程序包。由美国斯坦福直线加速器中心（Stanford Linear Accelerator Center）提供。EGS于1978年公开发表，提供使用。EGS4是1986年的版本。 
EGS4的历史
EGS4之前的历史在1978年，EGS代码系统作为一个包（Package）正式发布了，一般将其称为EGS3。EGS3是设计用于模拟在任何几何形状中，能量上限到几千GeV，下限截止动能到0.1MeV（光子）和1MeV（电子）的粒子在电磁场中的联合输运过程的。EGS3公布之后获得了很大成功，并在许多关于电子光子在电磁场中联合输运的问题上获得很好的结果。由于其代码公开，使用方便，使其在医疗物理和高能物理领域之内获得广泛的使用。但是其本身也存在处理低能的限制——例如1keV（光子）和10keV（电子）。关于这一点在EGS4程序中获得了改进。
在EGS之前，已经存在了许多代码，其中具有代表性的是下列代码。
Messel and Crawford code ：该码在1958到1970年使用，由澳大利亚开发，其特点是首次使用计算机进行高能蒙特卡罗模拟，并且发表了极好的结果，但代码不可获得。
Zerby and Moran code ：该代码在1962年到1963年使用，是受SLAC的建造而由ORNL开发，在工程计算上极好地完成任务，但其代码在ORNL外并未发布。 
Berger and Seltzer code ：该代码从1964年一直使用到现在，由NIST开发，即ETRAN码。它是极好的物理学和蒙特卡罗代码，目前也可从得到用户界面友好的版本，即ITS和MCNP。在1966年之前对于粒子物理学界还不知道其存在。
Nagel code ：在1963年到1967年使用，由波恩大学开发。它是基于Negal的一篇博士论文，仅计算了圆柱几何体，而且材料仅限于铜和铅，但是可以很容易从DESY、MIT或SLAC得到，由Negal本人在大约1966年带到了SLAC。 
SHOWER code ：由Negal开发，并且成为了EGS3的种子代码，能量范围扩展到0.1MeV到几个GeV，能模拟100种元素中任一种，包括化合物或混合物，其中PEGS3代码使得EGS3输入数据变得容易，它比Negal代码更能有效抽样，而且加入了几个新的程序。 
在Negal 60年代中期开发的SHOWER1的基础上，Nicoli通过改进开发出SHOWER2；在1966年到1972年，SLAC模拟计算组在Nelson的领导下，将SHOWER2改进为PREPRO；到了1972年，SHOWER3/PREPRO进入实用阶段；1974年Ford和Nelson合作，把SHOWER3/PREPRO和SHOWER4/SHINP程序进行综合和改善，程序命名为EGS(Electron-Gamma-Shower)/PEGS(Preprocessor for EGS)；此后EGS不断更新，在1982年，SLAC 和KEK进行了合作，而NRCC的Rogers在使用EGS3方面相当深入，并且为低能Benchmarking（一种衡量计算机硬件及软件在给定配置下的运行性能的例程或程序）作出了很大的努力，以及在医疗物理应用、探测器响应、对电子步长的更新（ESTEPE）和去除了低能方面的一些bug等方面的努力，因此在1985年由美国斯坦福直线加速器中心（SLAC）、日本高能物理国家实验室（KEK）和加拿大国家研究所（NRCC）联合推出了一套模拟电子和光子在物质中输运过程的通用蒙特卡罗计算程序系统EGS4（Electron-Gamma-Shower, Version 4），并在1986年发表。EGS4是揭示电子和光子在物质中输运规律的有力而且方便的理论分析及模拟研究工具。由于其应用灵活性和通用性而被广泛应用于高能物理、低能物理和医学物理。EGS4公布之后的改进在EGS4公布之后，基于蒙特卡罗方法的代码受到很大欢迎。从1983年到1988年，论文数量增加了五倍，并且出版了很多关于蒙特卡罗方法的优秀图书，蒙特卡罗方法的代码被视为黑盒子。EGS4程序在其中起到了直接的作用。不但有很多硕士和博士论文是关于EGS4的，而且有许多关于EGS4的专题讨论会和研究组。在医疗物理杂志（Medical Physics Journal）上，有六篇文章获得了奖励。蒙特卡罗方法为什么能够受到大家的欢迎呢？可能的原因有：传统的分析方法受到了很大限制。 蒙特卡罗方法更直观，这一点尤其受到实验物理学家们的欢迎。 计算机变得更便宜和速度更快。 
EGS4程序自公布之后，又不断进行了更新和改进。主要包括：
推出了多平台版本。有面向PC版的，有UNIX版的，还有面向IBM/VM和VAX/VMS大型工作站版本的。 
推出了更多的开关（switch），可以通过控制开关来满足特定使用者的要求，并且允许用户在自己的程序中增加宏（macros）。 
对EGS4程序的增强主要在三个方面：
·         对EGS4物理模型的修改：为改善剂量精度，改进了物理模型，提供了一些特殊算法（如PRESTA，EDGSET等）和宏，并考虑了电磁场对正负电子的影响。PRESTA（the Parameter Reduced electron-Step Transport Algorithm）改善了电子路程的修正算法（PLC）、侧面相关算法（LCA）和边界穿越算法（BCA），解决了电子步长和计算精度的矛盾，在保持计算精度的情况下，增大了电子步长，提高了计算速度；EDGSET使EGS4考虑了物质K线和L线的荧光发射。 
·         工具和技术的改进：修正了截面数据库，并且为了提高计算精度，为PEGS4增加APRIM选项，以使电子在单位步长内能量损失（Electron radiative stopping power）符合ICRU-37标准。还开发了如绘图工具，PEGS工具，随机数产生器等。 
·         系统和其它的支持：例如更多的平台，教程，匿名FTP站点，使用者组。并提供了几何库和一些对计算结果进行数据处理及图形显示的工具，如EGS-Windows（NRCC1991）和EGS4PICT（KEK1994）等。 
所有这些，都对EGS4的发展作出了很大贡献。现在正有很多人在EGS4程序改进，应用领域扩展，以及EGS4宣传使用方面做很多工作。
EGS4的现状和未来
EGS4初期的发展主要是为了研究高能物理领域的问题，如设计六边形的复杂的大型探测器，计算光子探测效率，修正探测器所探测到的图象。随着它的推广，EGS4计算程序在国际上应用广泛，在辐射物理和医学物理等方面都有着越来越广泛的应用。在辐射物理方面，主要计算加速器各部位的辐射剂量，设计屏蔽系统，以及研制剂量测量仪等；在医学物理方面，模拟粒子在人体模型中产生的剂量分布及衰减，计算在医疗过程中器官所吸收的剂量，确定医疗方案等。在西欧和北美的一些国家，已被广泛应用在医院，用于辐射治疗和辐射检测中的剂量计算。EGS4还可以用于探矿和农业方面。其可靠性获得广泛证明，得到国际社会的高度评价，被认为是“参照模型（a reference mode）”、“公认的（recognized）”、“国际性的（international）”、“世界范围的（world-wide）”和“普遍标准（universal standard）”。
目前，国际上对EGS4的使用呈增长趋势，现在世界上至少有6000多个EGS研究组。在日本，每年都有一次关于EGS4的国际会议召开（从1992年开始），到现在已经召开了八次会议，并且都有会议论文集出版。在法国，也有EGS4的用户组，共有25个成员（到1994年止），并定期召开会议。在中国，EGS4的使用还处于起步阶段，还没有形成大的讨论组，只限于分散的用户。在国际上，在Lawrence H.Lanzl Insititute也经常有EGS培训。而且，Internet的发展也为EGS4的推广作出了贡献，世界上有很大站点专门介绍EGS4，并且定期发布最新的消息。很快，EGS5将会出现，并且功能会更强大，使用会更方便。随着世界各地的使用者和专家们对EGS4程序进行改进，随着人类对原子能的开发，随着人类对环境问题和自身健康的重视，相信EGS4的使用会越来越广泛、深入。