INTRODUCTION                                                                    Download

Software package FOTELP was developed to simulate the transport of photons, electrons and positrons by Monte Carlo method for numerical experiments in dosimetry, radiation shielding, radiotherapy, detector and counter efficiency evaluation, for computing the absorbed energy in the layers of microelectronics components, materials radiation damage estimation, and other numerical experiments concerning the mentioned particles. Codes from this package perform calculations in 3D geometries with random spectra of particles having energy in the range from 1 keV to 100 MeV, and material zones for which geometry can be described by planes and surfaces of second order (RFG and PENGEOM modelers, including NEW ray testing by RFGTEST/PENTEST and viewing by RDGVIEWER/PENVIEWER). FOTELP codes apply transition probabilities from the previous to the next state of phase space which are prepared by FEPDAT code. The experience with a many versions of the FOTELP and FEPDAT codes has resulted in the two program versions: general transport simulation of photon, electron and positrons, and  dose distribution calculation for photon or electron therapy.

Photon transport is based on the imitation model [1]. During the photon history, from one to other collision, random values are chosen from the corresponding distributions for the following parameters : distance, target (atom, shell), collision type, type of secondary particles, energies and angles of particles after collision. FOTELP code treats photoelectric absorption, incoherent scattering, electron-positron pairs production and coherent scattering. Secondary photons from bremsstrahlung radiation, fluorescent photons and photons from positron annihilation are included as photons from the source. As an option, code includes the some variance reduction techniques.

 Electron and positron transport is based on the theory of condensed history [1,2,3] on the part (step) of the particle range. Mean energy loss is determined in this range with its fluctuation from Landau [4], i.e. Blunck-Leizegang distribution [5]. Under the conditions of the multiple scattering theory, particle deviation angle is chosen from Moliere [6] or Goudsmit-Saunderson [7] distribution. Number of bremsstrahlung photons is modeled from Poisson distribution, and its energies from photon emission spectrum of this process. Delta electrons production is modeled from Poisson distribution and energy distribution based on Moller [8] i.e. Bhabha [9] cross section. Angles of secondary particles in electron-positron transport are chosen from relevant distributions. Photoelectric absorption and impact ionization are followed by simulation of atomic transitions on 6 levels; generated fluorescent photons and Auger electrons are treated as relevant particles from the source.

The FOTELP codes simulates time independent coupled transport of photons, electrons and positrons regardless which particle is emitted from the source. Software package FOTELP is developed and tested on IBM compatibile PC computers. All versions of FOTELP codes running  under MS FORTRAN PowerStation  or Lahey Fortran  at WINDOWS or LINUX operating systems. The FOTELP code is distributed on a single CD or as ZIP file. Such characteristic of FOTELP code enabled development of FOTART and FOTLEKS packages. According to contemporary knowledge of nuclear and atomic physics and especially knowledge of cross sections for photons, electrons and positrons interaction with known elements, the FOTELP code package can be considered to be in accordance with physical representation of these interactions. Numerical simulation of collision processes by Monte Carlo techniques applied in the FOTELP code package obeys the methodology and good experience of Monte Carlo method application in these and related fields. Codes in FOTELP package are written applying the best properties of Fortran-77 and at the same time they are high readably.


The FEPDAT code prepares transition probabilities by successive run of its subroutines according to input data in REAL*8 accuracy. Each routine performs numerical integration of differential cross sections or distributions in order to create database with inverse distributions or probabilities after accomplishing the run. Separate databases for each process are easier for control and more suitable for  new models implementation.

Integration of differential cross section and probability density functions is performed by Gauss-Legendre adapted formulae. Numerical data for approximate formulae in numerical form are approximated by cubic splines. Computed transition probabilities are standardized and inverted into a database with constant or logarithmic steps of probability. Condensed histories demand decrease of particle energies according to the CSDA model. Logarithmic scale for energy decrease of electrons and positrons is adopted in the FEPDAT code.  of  for Gamma interaction cross sections properties allow application of logarithmic scale as well.


The FOTELP.FOR code is written in Fortran-77 in double precision and. The code is organized as main program, modules, sections, routines, functions and auxiliary codes. Most of these units communicate applying labeled COMMONs without the list of arguments. All the parameters have the same meanings and same values have unique names in all the parts of the FOTELP code. This is achieved by a file called FOTCOM in which maximum dimensions of fields and constants are defined by the PARAMETER statement and by labeled COMMONs. Such organization implies a hierarchy in code run in accordance with the input data and lexical flow of the particles history from the source, its secondary particles and their descendants. Each part includes comments at the beginning and between them, enabling the insight in the whole code run.

Choice of random values of the distribution

Numerical simulation of particles transport by Monte Carlo techniques demands a huge number of choices of random value series from their distributions. Acceptable statistical error demands simulation of transport of a huge number of particles. Hence, the quick and simple algorithm for random values generation is needed.  FOTELP code applies two models for choosing random values from their distributions. The first on is the Neumann's rejecting model. It is applied for distributions dependent on one random value which have high efficiency. The other random values are chosen from inverse distributions prepared by FEPDAT code. Inverse distributions are written index manner as solution for the chosen distribution per variable. Model of probability constant increment from zero to one is applied for calculating most of inverse distributions. Number of increments is chosen according to properties and flow of the distribution.

Organization of the FOTELP code

The FOTELP code is organized to enable following on particle from the source till the end of its "destiny", leave from the material zones or absorption. On its way this particle creates secondary particles of the same or different type (delta electrons, photons from bremsstrahlung radiation, fluorescent photons, Auger electrons). Secondary particles "are allowed" to pass through the material region after the source particle transport is terminated, in an order opposite to the order of their creation. The new particle from the source is then followed according to this model.

This brief review cannot include description of all sections and routines, especially description of all  sections connecting the routines. However, delicate processes and applied models demand the user to be informed about them to be able to explain correctly the results obtained by simulation.

Ionization (excitation)

Ionization occurs along the electron or positron step. These particles lose energy ED along this step. This energy loss includes also an energy of delta electrons. Fluctuation EFCL is determined from Landau distribution. Random energy loss is EQF=ED+EFLC. If step is greater than the distance to the next zone boundary, EL, this loss is multiplied by FAK=EL/RR.

 Delta electrons

Delta electrons are created along the step and their number is modeled from Poisson distribution in which the mean number of events is equal to the product of macroscopic cross section for creation of delta electrons and the step length. Energy of each delta electron is subtracted from EQF=(ED+EFLC)*FAK. The point of creation is a random choice along the step and it is written in the delta electron file together with other data.

 Bremsstrahlung radiation

Bremsstrahlung radiation is a rare event, there is one or a few bremsstrahlung photons along the step. Energy of each photon is subtracted from the energy of electron (positron) and written in the bremsstrahlung radiation file together with other data. The point of emission is chosen randomly along the step.

 Relaxation of excited atom

After the photo effect or impact ionization, some atoms along the step are excited. Energy of the typical emitted radiation (fluorescent photons) and Auger electrons is subtracted from EQF in the point where EQF is lost because these energies are included in EQF energy.  If step is greater than distance to the next zone, the number of events is decreased by factor FAK.

 Photoelectric effect

Photoelectric effect occurs at the end of the photon free path. In this point the absorbed energy is equal to binding energy of the ionized level. Relaxation of this atom is the same as relaxation after the impact ionization.

Subtracting the energy of delta electrons, fluorescent photons and Auger electrons from the random energy loss EQF, and subsequent transport of these descendants contribute to more realistic value of the space distribution of the absorbed energy. These effects have decisive role in dosimetry, spectroscopy of Auger electrons and none the less in radiation damage of electronics components.


The FOTELP codes use two type of geometry modules. The first type, RFG code, belongs to the code family [19] for describing the geometry of material regions and calculating geometry parameters of the particle which moves linearly between the two collisions. The RFG is applied in FOTELP codes as a geometry module to calculate the distance between the point of particle position and the boundary of the nearest geometry zone, and to determine the index of the starting geometry zone. This version is called FOTELP-2KG. The next types up to FOTELP-2009, with latest photon XCOM cross sectiona, uses both the RFG modeler [19] and PENGEOM geometry package from PENELOPE code [21]. The nest type is a voxel geometry using CT data for modeling density variation in patient body. The relation between CT numbers and materials and theirs elementary contents gives possibility for transition probabilities preparation by FEPDAT code. One geometry voxel corresponding to all voxels in CT data is a moving voxel in a virtual rectangular grid for particles transport. The routine for transport of particles through virtual voxel grid works very fast. Therefore, this version is named as FOTELP-VOX.


During the development and applications of the FOTELP codes  a many different random generators were used. Last versions of the FOTELP code use the function Dlaran(Iseed) from Lapack library. This random number generator is corrected to give a random number in open interval (e,1-e).


This part shows some numerical experiments performed with FOTELP codes. Each picture have a brief legend to inform readers about material, energy and conditions for simulation.






              CT data used in simulation                      Dose distribution from 12 MeV electron
                                                                              beam with 2.4 cm diameter.

X-Rays spectra from tungsten

[1] Berger,M.J, Monte Carlo calculation of the penetration and diffusion of fast charged particles, in Methods in computational physics, Vol I, (1963) p.135, Accad. Press, N.Y.
[2] Akkerman A.F., Modelirovanie traektorij zar]`ennwh ~astic v ve\öestve, >nergoatomizdat, Moskva 1991.
[3] Ilic, R.D.,Tehnike Monte Carlo u transportu ~estica, Nauna knjiga, Beograd. 1991.
[4] Landau.,L. On the energy loss of fast particles by ionization, J.Phys.(USSR) 8. (1940) p.201. Borsch-Supan, W., On the evaluation of the function …., J.Res.NBS 65B (1961) p.245.
[5] Blunck,O., Westphal,K., Zum Energieverlust energiereicher Elektronen in dinnen Schichten,Z.Phys 130 (1951) p.641.
[6] Moliere, G., Theorie der Streuung schneller geladener Teilchen II: Mehrfach - und Vielfachstreuung. Z.Naturforsch 3a (1948) p.78. ; Bethe,H.A.,Moliere’s theory of multiple scattering, Phys.Rev.89 (1953) p.1256.
[7] Goudsmit,S.,Saunderson,J.L., Multiple scattering of electrons, Phys.Rev. 57 (1940) p.24.
[8] Moller,C., Zur Theorie des Durchgang schneller Elektronen durch Materie, Ann. Phys. 14 (1932) p.568.
[9] Bhabha,H.J., The scattering of positrons by electrons with exchange on Dirac’s theory of the positron, Proc.Roy.Soc. (London) A154 (1936) p.195.
[10] Berger, M.J., Seltzer, S.M. , Stopping powers and ranges of electrons and positrons, National Bureau of Standards Report (1982) NBSIR 82-2550.
[11] Halbleib J.A., The Integrated TIGER Series of Coupled Electron/Photon Monte Carlo Transport Codes, RSIC Code Collection CCC-467.
[13] Yang,C.N., Actual path length of electron in foils, Phys.Rev. 84, (1951) p.599.
[14] Ilic R.D., Numerical experiments with photons, electrons and positrons by Monte Carlo, VIN^A Institute of Nuclear Sciences Report 1609 (1996).
[15] Colbert,H.M., SANDYL - A computer program for calculating combined photon-electron transport in complex systems, Sandia Lab.,Livermore, (1974) SLL-74-012.
[16] Seltzer,S.M., Berger, M.J.,Bremsstrhlung spectra from electron interactions with screened atomic nuclei and orbital electrons, Nucl. Instr. and Methods B12 (1985) p.95.
[17] Koch,H.W., Motz,J.W., Bremsstrahlung cross section formulas and related data, Rev.Mod.Phys. 31 (1959) p.920.
[18] Seltzer, S.M., Electron-photon Monte Carlo calculation- The ETRAN Codes, Appl.Rad.Isot. Vol 42. (1991) p.917.
[19] Altiparmakov,D.V., Beli~ev, P., An efficiency study of the R-function method applied as solid modeler for Monte Carlo calculations, Progress in Nuclear Energy, vol.24. (1990) p.77.
[20] Ili} R.D., Computational simulation of electron penetration trough material by Monte Carlo techniques, In 100 years since discovery of electron, Serbian Academy of Sciences and Arts, Beograd (1997)
[21] Salvat F., Fernandez-Vera J. M., Acosta E. and Sempau J. PENELOPE - A Code System for Monte Carlo Simulation of Eelectron and Photon Transport, Workshop Proceedings, Issy-Ies-Moulineaux, France, 5-7 Nov. 2001, NEA OECD

Last WEB modification: January 17, 2009                                                BACK