ISICSoo: A class for the calculation of ionization cross sections from ECPSSR and PWBA theory

Abstract ISICS, originally a C language program for calculating K-, L- and M-shell ionization and X-ray production cross sections from ECPSSR and PWBA theory, has been reengineered into a C++ language class, named ISICSoo. The new software design enables the use of ISICS functionality in other software systems. The code, originally developed for Microsoft Windows operating systems, has been ported to Linux and Mac OS platforms to facilitate its use in a wider scientific environment. The reengineered software also includes some fixes to the original implementation, which ensure more robust computational results and a review of some physics parameters used in the computation. The paper describes the software design and the modifications to the implementation with respect to the previous version; it also documents the test process and provides some indications about the software performance. Program summary Program title: ISICSoo Catalogue identifier: AEKN_v1_0 Program summary URL: http://cpc.cs.qub.ac.uk/summaries/AEKN_v1_0.html Program obtainable from: CPC Program Library, Queenʼs University, Belfast, N. Ireland Licensing provisions: Standard CPC licence, http://cpc.cs.qub.ac.uk/licence/licence.html No. of lines in distributed program, including test data, etc.: 26 420 No. of bytes in distributed program, including test data, etc.: 459 548 Distribution format: tar.gz Programming language: C++ Computer: 80486 or higher-level PC or Mac Operating system: Any OS with gcc compiler version 4.1 (or newer); tested on Scientific Linux 5 (gcc 4.1.2), Mac OS X 10.6.5 (gcc 4.2.1) and Windows XP (MS Visual C++ 2010 Express) Classification: 16.7 Nature of problem: Ionization and X-ray production cross section calculations for ion–atom collisions. Solution method: Numerical integration of form factor using a logarithmic transform and Gaussian quadrature, plus exact integration limits. Additional comments: This program is a portable version of the program ADDS_v4_0. Reasons for the new version: Capability of using ISICS physics functionality in other software systems; porting the software to other platforms than Microsoft Windows; improved computational robustness and performance. Summary of revisions: Reengineering into a C++ class; several internal modifications to improve correctness and robustness; updated binding energies tabulations; performance improvements. Running time: The running time depends on the selected atomic shell and the number of polynomials used in the Gaussian quadrature integration. The examples provided only take seconds to run.

[1]  William H. Press,et al.  Numerical Recipes 3rd Edition: The Art of Scientific Computing , 2007 .

[2]  Sam J. Cipolla,et al.  ISICS2008: An expanded version of ISICS for calculating K-, L-, and M-shell cross sections from PWBA and ECPSSR theory , 2009, Comput. Phys. Commun..

[3]  M. G. Pia,et al.  Validation of Proton Ionization Cross Section Generators for Monte Carlo Particle Transport , 2011, IEEE Transactions on Nuclear Science.

[4]  Žiga Šmit,et al.  K-shell ECPSSR cross sections for analytical applications , 1989 .

[5]  G. Molnár Table of isotopes, 8th edn , 1998 .

[6]  Sam J. Cipolla,et al.  An improved version of ISICS: a program for calculating K-, L- and M-shell cross sections from PWBA and ECPSSR theory using a personal computer , 2007, Comput. Phys. Commun..

[7]  Ranjeet S. Sokhi,et al.  Experimental L-shell x-ray production and ionization cross sections for proton impact , 1984 .

[8]  Werner Brandt,et al.  Energy-loss effect in inner-shell Coulomb ionization by heavy charged particles , 1981 .

[9]  Sam J. Cipolla,et al.  ISICS2011, an updated version of ISICS: A program for calculation K-, L-, and M-shell cross sections from PWBA and ECPSSR theories using a personal computer , 2011, Comput. Phys. Commun..

[10]  Richard B. Firestone,et al.  Table of Isotopes , 1978 .

[11]  Ivar Jacobson,et al.  Object Design: Roles, Responsibilities, and Collaborations , 2002 .

[12]  Wolfgang Pauli,et al.  Handbuch der Physik , 1904, Nature.

[13]  Sam J. Cipolla,et al.  ISICS: A program for calculating K-, L- and M-shell cross sections from ECPSSR theory using a personal computer , 1996 .

[14]  Vladimir Horvat,et al.  ERCS08: A FORTRAN program equipped with a Windows graphics user interface that calculates ECPSSR cross sections for the removal of atomic electrons , 2009, Comput. Phys. Commun..

[15]  Michael S. Deutsch,et al.  Software verification and validation , 1982 .

[16]  G. T. Seaborg,et al.  Table of the Isotopes , 1948 .

[17]  Herb Sutter,et al.  C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (C++ in Depth Series) , 2004 .

[18]  Наталія Ігорівна Муліна,et al.  Programming language C , 2013 .

[19]  H. W. Lewis,et al.  X-ray Production by Heavy Charged Particles , 1958 .

[20]  Helmut Paul,et al.  Fitted empirical reference cross sections for K-shell ionization by protons , 1989 .

[21]  Oscar Nierstrasz,et al.  Object-oriented reengineering patterns , 2004, Proceedings. 26th International Conference on Software Engineering.

[22]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[23]  S. Incerti,et al.  Geant4 developments and applications , 2006, IEEE Transactions on Nuclear Science.

[24]  Robert C. Martin Clean Code - a Handbook of Agile Software Craftsmanship , 2008 .

[25]  J. H. Hubbell,et al.  Tables and graphs of atomic subshell and relaxation data derived from the LLNL Evaluated Atomic Data Library (EADL), Z=1-100 , 1991 .

[26]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[27]  J. Bearden,et al.  REEVALUATION OF X-RAY ATOMIC ENERGY LEVELS. , 1967 .

[28]  Kenneth D. Sevier,et al.  Atomic electron binding energies , 1979 .

[29]  William J. Teesdale,et al.  The Guelph PIXE software package II , 1989 .

[30]  Sam J. Cipolla,et al.  The united atom approximation option in the ISICS program to calculate K-, L- and M-shell cross sections from PWBA and ECPSSR theory , 2007 .

[31]  Homer D. Hagstrum,et al.  Photoelectron and Auger Spectroscopy , 1975 .

[32]  Gregory Lapicki,et al.  The status of theoretical K‐shell ionization cross sections by protons , 2005 .

[33]  Ieee Std,et al.  IEEE Standard for Software Verification and Validation , 2008 .

[34]  L. Quintieri,et al.  PIXE Simulation With Geant4 , 2009, IEEE Transactions on Nuclear Science.

[35]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[36]  Chan Hyeong Kim,et al.  Evaluation of Atomic Electron Binding Energies for Monte Carlo Particle Transport , 2011, IEEE Transactions on Nuclear Science.

[37]  William H. Press,et al.  Numerical recipes , 1990 .

[38]  Gregory Lapicki,et al.  Scaling of analytical cross sections for K-shell ionization by nonrelativistic protons to cross sections by protons at relativistic velocities , 2008 .