diff --git a/.devcontainer/README.md b/.devcontainer/README.md
new file mode 100644
index 000000000..85948d038
--- /dev/null
+++ b/.devcontainer/README.md
@@ -0,0 +1,92 @@
+# EGSnrc Development Container
+
+Development Containers is an open standard that is supported by a number of
+[development tools](https://containers.dev/supporting). A supporting tool allows
+you to develop from your local IDE, such as VS Code and connect to a "remote"
+development container that hosts the tools and applications for your code.
+In this case, EGSnrc builds and runs in a Linux container but you can be working on a Windows
+or MacOS Desktop.
+
+## Supported Environments
+
+The following environments are all known to work, but any tool that support the development container
+specification should work.
+
+### GitHub Codespaces
+
+This is a paid feature, but if you have access to it then running EGSnrc is as simple as clicking
+the **Code** button in GitHub and choosing to open your repository in GitHub Codespaces. Codespaces
+runs VS Code right inside your web browser but you also have the option of using Codespaces from
+a desktop installation of VS Code. When you are using Codespaces, the remote development container runs
+in the cloud and is hosted by GitHub.
+
+### VS Code
+
+This requires [VS Code](https://code.visualstudio.com/) on Windows or MacOS with
+[Docker Desktop](https://www.docker.com/products/docker-desktop) installed or VS Code on
+Linux with [Docker CE/EE](https://docs.docker.com/install/#supported-platforms). You also need
+the VS Code [Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
+installed. When using these options, the development container runs on your local machine using Docker.
+
+To use this option, once the above requirements are installed, you simply clone your Git repository and
+open it in VS Code. It will detect that there is a devcontainer configuration and ask if you want to open
+your folder in the development container. Say yes and this will build and launch a docker container that
+is running the code you have cloned.
+
+### Windows Notes
+
+When running locally on Windows using Docker there is an issue with line-endings in files. When you clone
+the repository by default git will convert the line endings in all files to CRLF which is the windows standard.
+Since we are going to be running the code on Linux inside a container, we need the files to have the Unix
+standard LF line endings. There are a couple of ways to handle this:
+
+1. Run these commands before you clone your repository so that git does not convert line endings and treats
+LF as the default.
+
+```
+git config --global core.eol lf
+git config --global core.autocrlf input
+```
+
+These are global settings and if you work on other Git repositories you may not want to do this. But
+if you only are using git for this one repository then this is the easy way to do it.
+
+2. Enable these settings when you clone the repository:
+
+```
+git clone -c core.autocrlf=false -c core.eol=lf https://github.com/nrc-cnrc/EGSnrc
+```
+
+3. Fix the settings and the line endings in all the files after cloning the repository. Run these from the
+root of the cloned repository. If you have made any changes you will lose them, so save them somewhere before
+running these commands.
+
+```
+git config core.eol lf
+git config core.autocrlf input
+git add --update --renormalize
+git rm -rf --cached .
+git reset --hard HEAD
+```
+
+## Runtime Experience
+
+Regardless of which option you use, when the development container starts for the first time it
+needs to download the base Docker image, install the EGSnrc-specific required packages, and then
+configure and build EGSnrc for the first time. Subsequent starts of the development container will
+skip these steps and start faster. Once the container is running you use and run EGSrnc the same
+as you would on any platform. In other words, just follow the standard documentation.
+
+The development container configuration includes building and running the GUI apps. The container
+configuration installs a lightweight GUI desktop that you can access in your browser. Access to
+this desktop will open in your browser automatically when you first start the container but you can open
+it at any time from the **Ports** tab in VS Code. You can run commands like `egs_view` that launch
+GUI applications from the VS Code terminal and they will appear in the UI in the lightweight desktop
+once you open it. You can also run a terminal inside the GUI desktop if preferred.
+
+The default password to login to the GUI is `vscode`.
+
+## Reference Information
+
+* https://containers.dev/
+* [VSCode: Developing inside a Container](https://code.visualstudio.com/docs/devcontainers/containers)
diff --git a/.devcontainer/build-gui-apps.sh b/.devcontainer/build-gui-apps.sh
new file mode 100755
index 000000000..eb43f3c1e
--- /dev/null
+++ b/.devcontainer/build-gui-apps.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+# If EGS_HOME is not set then source ~/.bashrc
+if [ -z "$EGS_HOME" ]; then
+ source ~/.bashrc
+fi
+
+# Build the GUI Applications
+echo "::step::Building the EGSnrc GUI applications..."
+
+export QTDIR=/usr/lib/qt5
+export EGS_BASE=$(pwd)
+cd ${EGS_BASE}/HEN_HOUSE/gui/ && make --quiet --print-directory
+cd ${EGS_BASE}/HEN_HOUSE/egs++/view/ && make --quiet --print-directory
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 000000000..a695972ab
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,18 @@
+{
+ "image": "debian:bookworm",
+ "features": {
+ "ghcr.io/devcontainers/features/common-utils:2": {
+ "username": "devcontainer"
+ },
+ "ghcr.io/devcontainers/features/desktop-lite:1": {}
+ },
+ "onCreateCommand": ".devcontainer/setup.sh",
+ "postCreateCommand": ".devcontainer/build-gui-apps.sh",
+ "forwardPorts": [6080],
+ "portsAttributes": {
+ "6080": {
+ "label": "desktop",
+ "onAutoForward": "openBrowser"
+ }
+ }
+ }
diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh
new file mode 100755
index 000000000..818015f9d
--- /dev/null
+++ b/.devcontainer/setup.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+# This runs when the devcontainer is being created
+
+# Install required packages
+echo "::step::Installing required packages for EGSnrc ..."
+sudo apt update
+sudo apt install -y git gcc g++ gfortran make tk wish grace libmotif-dev expect qtbase5-dev
+
+# Build the application
+echo "::step::Building EGSnrc ..."
+export USER=devcontainer
+export EGS_BASE=$(pwd)
+./HEN_HOUSE/scripts/configure.expect devcontainer.conf 3 || true
+
+# Configure .bashrc
+echo "export EGS_HOME=${EGS_BASE}/egs_home/" >> ~/.bashrc
+echo "export EGS_CONFIG=${EGS_BASE}/HEN_HOUSE/specs/devcontainer.conf" >> ~/.bashrc
+echo "source ${EGS_BASE}/HEN_HOUSE/scripts/egsnrc_bashrc_additions" >> ~/.bashrc
diff --git a/.gitignore b/.gitignore
index 27b6595e3..d6c0723e4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,6 +42,7 @@ html
.obj/
.moc/
.ui/
+.qmake.stash
### ignore OS generated files
*~
@@ -53,3 +54,7 @@ html
.Trashes
ehthumbs.db
Thumbs.db
+
+### ignore devcontainer files
+*devcontainer*
+
diff --git a/HEN_HOUSE/cutils/egs_c_utils.c b/HEN_HOUSE/cutils/egs_c_utils.c
index f9fb0a6a5..541cbf05d 100644
--- a/HEN_HOUSE/cutils/egs_c_utils.c
+++ b/HEN_HOUSE/cutils/egs_c_utils.c
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2004
#
-# Contributors:
+# Contributors: Cody Crewson
#
###############################################################################
#
@@ -86,7 +86,11 @@ void egsOpenControlFile(const char *fname, int *status, int len) {
if (__my_fd > 0) {
break;
}
- _sleep(1000);
+ #ifdef WIN32
+ Sleep(1000);
+ #else
+ _sleep(1000);
+ #endif
}
if (__my_fd < 0) {
*status = __my_fd;
@@ -208,7 +212,12 @@ void egsReadControlFile(char *buf, const int *n, int *status, int len) {
void egsSleep(const int *secs) {
unsigned int msecs = *secs * 1000;
- _sleep(msecs);
+
+ #ifdef WIN32
+ Sleep(msecs);
+ #else
+ _sleep(msecs);
+ #endif
}
void egsPerror(const char *str, int len) {
perror(str);
diff --git a/HEN_HOUSE/doc/src/Makefile b/HEN_HOUSE/doc/src/Makefile
index a7d2e534f..fe3ca43a5 100644
--- a/HEN_HOUSE/doc/src/Makefile
+++ b/HEN_HOUSE/doc/src/Makefile
@@ -23,7 +23,7 @@
#
# Author: Frederic Tessier, 2015
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
diff --git a/HEN_HOUSE/doc/src/getting-started/getting-started.tex b/HEN_HOUSE/doc/src/getting-started/getting-started.tex
index 9e2052ad2..a018f3b02 100644
--- a/HEN_HOUSE/doc/src/getting-started/getting-started.tex
+++ b/HEN_HOUSE/doc/src/getting-started/getting-started.tex
@@ -2501,7 +2501,7 @@ \subsection{Build a new BEAMnrc accelerator}
Create a new text file, that will provide the dynamic motion of the jaws. There are examples for all of the syncronized CMs in \,\Verb|$HEN_HOUSE/omega/beamnrc/CMs/sample_sequences/|. Copy the text at the end of this section and save the file as \,\Verb|example.sequence|\, in \\
\,\Verb|$EGS_HOME/BEAM_syncjaws|\,. Now go back to the settings of the SYNCJAWS CM, click the \,\Verb|Browse|\, button and select the file (make sure the mode is set to \,\Verb|Dynamic|\,). Click \,\Verb|Preview|\, to view the first position of the jaws, before motion begins.
-The format of the sequence file is described in section 15.3.8 of the BEAMnrc Users Manual (\href{https://nrc-cnrc.github.io/EGSnrc/doc/pirs509a-beamnrc.pdf}{PIRS509a}). Using this file, it is possible to model motion like jaw tracking, based on the the \textit{index} parameter (i.e. fractional MU or cumulative meterset weight). If multiple SYNC CMs are included, the index is used to synchronize motion. Use a repeated index to simulate motion with the beam off.
+The format of the sequence file is described in section 15.3.8 of the BEAMnrc Users Manual (\href{https://nrc-cnrc.github.io/EGSnrc/doc/pirs509a-beamnrc.pdf}{PIRS509a}). Using this file, it is possible to model motion like jaw tracking, based on the \textit{index} parameter (i.e. fractional MU or cumulative meterset weight). If multiple SYNC CMs are included, the index is used to synchronize motion. Use a repeated index to simulate motion with the beam off.
In the following, we define 2 static fields and 1 dynamic field in 6 steps. The upper y-jaws are at $40 \le z \le 50$ and x-jaws at $51 \le z \le 61$. From index 0.0 to 3.0 (30\% of the simulation), the jaws are statically positioned. Similarly from 0.3 to 0.6. The repeated indices, 0.3 and 0.6, result in simulated collimator shifts while the beam is off. Finally, from index 0.6 to 1.0 (40\%) there is a motion of the x-jaws from a nearly-closed position to a $2 \times 2$ opening.
diff --git a/HEN_HOUSE/doc/src/makedoc.sh b/HEN_HOUSE/doc/src/makedoc.sh
index e3a2476c2..3f0aa60b6 100755
--- a/HEN_HOUSE/doc/src/makedoc.sh
+++ b/HEN_HOUSE/doc/src/makedoc.sh
@@ -23,7 +23,7 @@
#
# Author: Frederic Tessier, 2015
#
-# Contributors:
+# Contributors: Ernesto Mainegra-Hing
#
###############################################################################
@@ -130,5 +130,3 @@ else
fi
exit
fi
-
-
diff --git a/HEN_HOUSE/doc/src/pirs3100-g-app/g_template.f b/HEN_HOUSE/doc/src/pirs3100-g-app/g_template.f
index 4914b4c3b..0a882a08e 100644
--- a/HEN_HOUSE/doc/src/pirs3100-g-app/g_template.f
+++ b/HEN_HOUSE/doc/src/pirs3100-g-app/g_template.f
@@ -5832,7 +5832,7 @@ subroutine get_media_inputs(ounit)
IPLOTE=0
MEDIUM=i
XAXIS = 'kinetic energy / MeV'
- YAXISE = 'dE/drhoX MeV/g/cm\\S2\\N'
+ YAXISE = 'dE/drhoX MeV/g/cm\S2\N'
YAXISEmfp = 'mean free path / cm'
YAXISPmfp = 'mean free path / cm'
write(GRAPHTITLE,'(24a1)')(media(j,i),j=1,24)
diff --git a/HEN_HOUSE/doc/src/pirs509a-beamnrc/inputformats/BEAM28.inp b/HEN_HOUSE/doc/src/pirs509a-beamnrc/inputformats/BEAM28.inp
index 380c6cd59..5f086c68c 100644
--- a/HEN_HOUSE/doc/src/pirs509a-beamnrc/inputformats/BEAM28.inp
+++ b/HEN_HOUSE/doc/src/pirs509a-beamnrc/inputformats/BEAM28.inp
@@ -19,7 +19,7 @@
[ pair_nrc ]
Photoelectron angular sampling= Off or On (Default is On)
If Off, photo-electrons get the direction of the
- `mother' photon, with On, Sauter's furmula is
+ `mother' photon, with On, Sauter's formula is
used (which is, strictly speaking, valid only for
K-shell photo-absorption).
If the user has a better approach, replace the macro
diff --git a/HEN_HOUSE/doc/src/pirs509a-beamnrc/pirs509a-beamnrc.tex b/HEN_HOUSE/doc/src/pirs509a-beamnrc/pirs509a-beamnrc.tex
index ea3afe440..5b0e13c8b 100644
--- a/HEN_HOUSE/doc/src/pirs509a-beamnrc/pirs509a-beamnrc.tex
+++ b/HEN_HOUSE/doc/src/pirs509a-beamnrc/pirs509a-beamnrc.tex
@@ -5976,7 +5976,7 @@ \subsection{ {\tt Pair angular sampling} ({\tt IPRDST})}
by Motz et al\cite{Mo69} is used to determine the positron/electron emission
angles. This option is similar to the sampling technique used by
EGS4/BEAM. Finally if {\tt Pair angular sampling= Simple} (the default), then only
-the first term in the the Motz et al equation 3D-2003 is used. The {\tt KM} option
+the first term in the Motz et al equation 3D-2003 is used. The {\tt KM} option
becomes less efficient with increasing accelerator energies and, moreover, involves
assumptions that are questionable at low energy. For these reasons, the default
setting is {\tt Simple}.
@@ -6082,7 +6082,7 @@ \subsection{{\tt Photon cross sections} ({\tt photon\_xsections})}
\& Salvat's renormalized cross sections when simulating photoelectric events,
with either the XCOM ({\tt mcdf-xcom}) or Evaluated Photon Data Library ({\tt
mcdf-epdl}) used for all other cross sections. The more accurate modeling of
-photoelectric events allowed by the the Sabbatucci \& Salvat cross sections does
+photoelectric events allowed by the Sabbatucci \& Salvat cross sections does
incur a CPU time penalty (up to 6\% for a 30 kV beam) and so this option is only
of interest for low energy simulations. Use of these renormalized cross sections
is necessary for agreement with PENELOPE results in ICRU90\cite{ICRU90}.
@@ -7486,7 +7486,7 @@ \subsubsection{SYNCJAWS}
that used by any other synchronized CMs in the accelerator. {\tt MU\_RND} is generated by the first (most upstream) synchronized
CM (which could be SYNCJAWS) and is then passed on to any downstream synchronized CMs.
Thus, the dynamic motion of the jaws can be coordinated (synchronized) with the dynamic motion of all other synchronized CMs
-in the the accelerator. Moreover, if an accelerator with synchronized CMs has been compiled as a shared library for use
+in the accelerator. Moreover, if an accelerator with synchronized CMs has been compiled as a shared library for use
in DOSXYZnrc source 20
(synchronized phase space source) or source 21 (synchronized BEAM treatment head simulation), then {\tt MU\_RND} is passed from the
accelerator simulation to DOSXYZnrc. This allows the dynamic motion of the source plane in DOSXYZnrc sources 20 and 21 to be synchronized with
@@ -9013,7 +9013,7 @@ \subsection{Creating additional cross section data}
\index{PEGS4!input file}
where {\tt inputfile} omits the {\tt .pegs4inp} extention and
{\tt densityfile} omits the {\tt .density} extension. The {\tt .pegs4inp}
-file specifies whether the the medium is an element ({\tt ELEM}),
+file specifies whether the medium is an element ({\tt ELEM}),
compound ({\tt COMP}) or mixture ({\tt MIXT}); the composition of
the medium (by mass, {\tt RHOZ}, in the case of {\tt MIXT} and
number of atoms, {\tt PZ}, in the case of {\tt COMP}); the density ({\tt RHO};
@@ -9225,8 +9225,8 @@ \subsection{Pegsless Mode}
correction to apply to calculated bremsstrahlung cross-sections.
Options are:
\begin{itemize}
-\item {\tt KM} $[$IAPRIM=0$]$ (the default): Apply Koch and Motz\cite{KM59} empirical corrections.
-\item {\tt NRC} $[$IAPRIM=1$]$: Apply NRC corrections based on NIST/ICRU\cite{Ro89a}. These corrections are read from the file
+\item {\tt KM} $[$IAPRIM=0$]$ : Apply Koch and Motz\cite{KM59} empirical corrections.
+\item {\tt NRC} $[$IAPRIM=1$]$: (the default) Apply NRC corrections based on NIST/ICRU\cite{Ro89a}. These corrections are read from the file
{\tt \$HEN\_HOUSE/pegs4/aprime.data}.
\item {\tt None} $[$IAPRIM=2$]$: No corrections applied.
\end{itemize}
@@ -10428,7 +10428,7 @@ \subsection{Changes from {\tt BEAM00} to {\tt BEAMnrc02}}
space source incident from multiple, user-selected angles. This allows
modelling of arc therapy.
-\item Added an option to DOSXYZnrc which allows the the user to output a
+\item Added an option to DOSXYZnrc which allows the user to output a
{\tt .egsphant} file from non-CT data. This allows you to display isodose
contours using {\tt dosxyz\_show} in non-CT phantoms.
diff --git a/HEN_HOUSE/doc/src/pirs623-gui/pirs623-gui.tex b/HEN_HOUSE/doc/src/pirs623-gui/pirs623-gui.tex
index f4bf2890d..ca9ee8408 100644
--- a/HEN_HOUSE/doc/src/pirs623-gui/pirs623-gui.tex
+++ b/HEN_HOUSE/doc/src/pirs623-gui/pirs623-gui.tex
@@ -413,7 +413,7 @@ \subsection{The fast track}
accelerator defined in {\em modulename}{\tt .module}.
Alternatively, if the accelerator has already been compiled and the input file exists
-in the the {\tt \$EGS\_HOME/BEAM\_accelname} directory, you can specify the input file
+in the {\tt \$EGS\_HOME/BEAM\_accelname} directory, you can specify the input file
(and accompanying PEGS4 data) as command line arguments. Within the
{\tt \$EGS\_HOME/BEAM\_accelname} directory type:
\begin{verbatim}
@@ -699,7 +699,7 @@ \subsection{Defining the phantom voxel-by-voxel}
in the group, for as many groups as is required.
The second step is to define the media used in the phantom. The number
-of media that you intend to use must be entered first, the the {\sf
+of media that you intend to use must be entered first, the {\sf
Define media} button selected. On this new window, an option menu is
used to select each medium. The first entry,
medium 1, is the default medium. Once these have been specified, click
diff --git a/HEN_HOUSE/doc/src/pirs624-dosxyzshow/pirs624-dosxyzshow.tex b/HEN_HOUSE/doc/src/pirs624-dosxyzshow/pirs624-dosxyzshow.tex
index 6ccfb8d0e..675a75ecd 100644
--- a/HEN_HOUSE/doc/src/pirs624-dosxyzshow/pirs624-dosxyzshow.tex
+++ b/HEN_HOUSE/doc/src/pirs624-dosxyzshow/pirs624-dosxyzshow.tex
@@ -212,7 +212,7 @@ \section{\sffamily Compiling and running}
i_{\rm gray} = {\sqrt{\rho} - \sqrt{\rho_{min}} \over
\sqrt{\rho_{max}} - \sqrt{\rho_{min}}} N_{\rm gray}
\end{displaymath}
-where $\rho$ is the the actual voxel density, $\rho_{min}$ and
+where $\rho$ is the actual voxel density, $\rho_{min}$ and
$\rho_{max}$ the minimum and maximum density of the specified
displayable density window (see below) and $N_{\rm gray}$ the
number of gray shades allocated. Note that the
diff --git a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/chapter2_2.tex b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/chapter2_2.tex
index 364e9b437..c3969067e 100644
--- a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/chapter2_2.tex
+++ b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/chapter2_2.tex
@@ -1122,7 +1122,7 @@ \subsubsection{Incoherent (Compton) scattering}
time when electron transport is included. Binding effects and
Doppler broadening for coherent scattering are therefore turned
on by default in the {\tt block data} sub-program (the switch
-{\tt IBCMP} is set to unity).
+{\tt IBCMP} is set to 3, {\tt norej}).
\index{IBCMP}
Since the 2009 release of EGSnrc, the user has the option to change
@@ -1268,7 +1268,7 @@ \subsubsection{Photo-electric absorption}
(in the {\tt COMIN/EDGE} common block-see Section~\ref{common_blocks}). If {\tt IEDGFL} of the
region is non-zero, a detailed simulation is performed,
otherwise a simplified treatment of the photo-absorption process
-is undertaken. The default setting of {\tt IEDGFL} is one.
+is undertaken. The default setting of {\tt IEDGFL} is 1.
\index{IEDGFL}
\paragraph{Detailed simulation of photo-electric absorption}\hfill
@@ -1726,7 +1726,7 @@ \subsubsection{Changing photon cross sections}
In the current version of EGSnrc, the user has the option to use
photon cross section data other than the default
-Storm \& Israel data. To do this, the user must
+XCOM data. To do this, the user must
set the character variable {\tt photon\_xsections} (part of the
{\tt COMIN/MEDIA} common block) to the name of the cross section
data to use. Cross sections included with the EGSnrc distribution
@@ -2046,4 +2046,3 @@ \subsection{Atomic Relaxations}
\index{AUSGAB}
\index{IARG!25,26,27:}
%\clearpage
-
diff --git a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/chapter2_3.tex b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/chapter2_3.tex
index 4fd0a7fde..24f6d760a 100644
--- a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/chapter2_3.tex
+++ b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/chapter2_3.tex
@@ -606,7 +606,7 @@ \subsubsection{Bremsstrahlung}
$\tilde{f}_c(E,Z)$ have the same definitions as for the
pair production process (see section \ref{pair}),
and $A'(E,Z)$ is an empirical correction factor (see below).
-For compounds and mixture the the cross section can be
+For compounds and mixture the cross section can be
approximated in the same form with the replacements given
by Eq. (\ref{pair_replace}) in section \ref{pair} (page~\pageref{pair}).
@@ -1326,7 +1326,7 @@ \subsubsection{Two Photon Positron-Electron Annihilation}
has a maximum
of $1$ for $\epsilon = 1/(\tau+2)$ and
thus is a valid rejection function\footnote{Note that our $g(\varepsilon)$ is
-the $g(\varepsilon)$ defined in Eq (2.12.26) of the the EGS4 manual
+the $g(\varepsilon)$ defined in Eq (2.12.26) of the EGS4 manual
divided by its maximum.}. The sampling algorithm is then as follows:
\begin{enumerate}
\item
diff --git a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/egsnrc_system_considerations.tex b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/egsnrc_system_considerations.tex
index 3693c513d..5ad75c2ea 100644
--- a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/egsnrc_system_considerations.tex
+++ b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/egsnrc_system_considerations.tex
@@ -526,7 +526,7 @@ \subsection{Execution}
\index{execution in batch}
If \verb+queue+ is not specified when the batch option ``{\tt b}'' is being
-used, then the default que on your system is used.
+used, then the default queue on your system is used.
\index{interactive execution}
\index{debug}
diff --git a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/mortran3_man.tex b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/mortran3_man.tex
index b0ea04b19..90cb95a5c 100644
--- a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/mortran3_man.tex
+++ b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/mortran3_man.tex
@@ -740,8 +740,8 @@ \section{EGS User Guide to MORTRAN3}
but not
Y = DUMPX;
- Normally, the text generated by a macro is itself elegible
- for replacement by other macros, or even by the the same macro
+ Normally, the text generated by a macro is itself eligible
+ for replacement by other macros, or even by the same macro
that generated the text.
\end{verbatim}
diff --git a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/new_um_app2.tex b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/new_um_app2.tex
index 095c721cc..6a0e4307a 100644
--- a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/new_um_app2.tex
+++ b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/new_um_app2.tex
@@ -431,7 +431,7 @@ \subsection{ The COMMON Blocks}
% it is never turned off in default EGSnrc.\\
&IRAYLR &Array(\$MXREG) of flags for turning on (=1)
coherent (Rayleigh) scattering in
- various regions (default=0$\Rightarrow$ off).\\
+ various regions (default=1$\Rightarrow$ on).\\
&&\\
\hline
\multicolumn{3}{c}{$^*$ NOSCAT is no longer available since there is
@@ -1233,7 +1233,7 @@ \subsubsection{Pre-HATCH Call Initialisation (Step 2)}
\item[IRAYLR] The elements of this integer array (dimensioned {\tt
IRAYLR(\$MXREG)} and passed in\\ {\tt COMMON/MISC/)} are to be set to 1
prior to calling {\tt HATCH} if coherent (Rayleigh) scattering is to be done
-in a particular region. The default values are 0.
+in a particular region. The default values are 1.
See section~\ref{rayleigh}(page~\pageref{rayleigh}).
Execution is only terminated if set to 1, user wants to use photon data
from PEGS4 file, and Rayleigh data are not included.
@@ -1334,7 +1334,7 @@ \subsubsection{Pre-HATCH Call Initialisation (Step 2)}
The cross section data must be contained in file
{\tt \$HEN\_HOUSE/data/comp\_xsections\_compton.data}. If the user does
not supply a name for {\tt comp\_xsections}, then the default Compton
-data used with {\tt IBCMP}=2 is in {\tt \$HEN\_HOUSE/data/compton\_sigma.data}.
+data used with {\tt IBCMP}=3 is in {\tt \$HEN\_HOUSE/data/compton\_sigma.data}.
See section~\ref{comp_xsect} (page~\pageref{comp_xsect}).
If using {\tt get\_transport\_parameter}, then {\tt comp\_xsections} can be
@@ -1395,10 +1395,10 @@ \subsubsection{Pre-HATCH Call Initialisation (Step 2)}
\item[photon\_xsections] A character variable ({\tt character*16}) defined
in {\tt COMMON/MEDIA} which must be defined prior to calling {\tt HATCH}
if the user wants to use photon cross section data other than the default
-(Storm \& Israel\cite{SI70}) data. Current possible settings of
+XCOM data. Current possible settings of
{\tt photon\_xsections} are: {\tt epdl} (the Evaluated Photon Data
-Library\cite{Cu90}), {\tt xcom} (XCOM from Berger \& Hubbell\cite{BH87}),
-{\tt si} (Storm \& Israel--also the default if not set),
+Library\cite{Cu90}), {\tt xcom} (XCOM from Berger \& Hubbell\cite{BH87}, default),
+{\tt si} (Storm \& Israel),
and {\tt pegs4} (to use PEGS4 photon data).
The user can supply their own cross section data. For a user-supplied data
set, {\tt photon\_xsections}, the cross section data for photoelectric,
@@ -1422,7 +1422,7 @@ \subsubsection{Pre-HATCH Call Initialisation (Step 2)}
be set to 1 prior to calling {\tt HATCH} if the user wants to output a summary
of the photon cross section data. The default value is 0. Cross section
data is written to the file\\ {\tt \$EGS\_HOME/user\_code/inputfile.xsections}.
-Prior to the current EGSnrc release, the default was to print this file and
+Previously, the default was to print this file and
there was no input for turning it off.
If using {\tt get\_transport\_parameter}, then {\tt xsec\_out} can be set
diff --git a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/pegs4_um.tex b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/pegs4_um.tex
index e9864bb79..b836aaca7 100644
--- a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/pegs4_um.tex
+++ b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/pegs4_um.tex
@@ -117,12 +117,10 @@ \subsubsection{Photon data for EGSnrc}
grid with {\tt \$MXGE} energy points. However, EGSnrc still needs the
PEGS4 data file for material information, photon threshold energies
({\tt AP, UP}), and a fraction of the electron data.
-By default data is read from the
-Storm and Israel\cite{SI70} photon cross section compilation
-({\tt si\_pair.data, si\_photo.data, si\_rayleigh.data and
-si\_triplet.data}).
-As alternative, EGSnrc offers such cross section data files
-for the XCOM\cite{HS95} ({\tt xcom\_*.data}) and EPDL97\cite{Cu89}
+By default data is read from the XCOM\cite{HS95} photon cross section
+compilation ({\tt xcom\_pair.data, xcom\_photo.data, xcom\_rayleigh.data and
+xcom\_triplet.data}). As alternatives, EGSnrc offers cross section data files
+for the Storm and Israel\cite{SI70}({\tt si\_*.data}) and EPDL97\cite{Cu89}
({\tt epdl\_*.data}) photon cross section compilations.
New photon cross section compilations can be added following the
same format as above, \ie, {\tt prefix\_*.data}.
@@ -132,7 +130,7 @@ \subsubsection{Photon data for EGSnrc}
:start MC transport parameter:
. # This entry is case sensitive
- Photon cross sections = xcom # xcom, epdl, si(default) or any_prefix
+ Photon cross sections = xcom # xcom (default), epdl, si or any_prefix
.
:stop MC transport parameter:
diff --git a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/pegsless_um.tex b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/pegsless_um.tex
index e1cb228b9..3454b7105 100644
--- a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/pegsless_um.tex
+++ b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/pegsless_um.tex
@@ -23,7 +23,7 @@
%
% Author: Blake Walters, 2013
%
-% Contributors:
+% Contributors: Frederic Tessier
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -135,8 +135,8 @@ \subsection{User Code Inputs for Pegsless Mode}
correction to apply to calculated bremsstrahlung cross-sections.
Options are:
\begin{itemize}
-\item {\tt KM} $[$IAPRIM=0$]$ (the default): Apply Koch and Motz\cite{KM59} empirical corrections.
-\item {\tt NRC} $[$IAPRIM=1$]$: Apply NRC corrections based on NIST/ICRU\cite{Ro89a}. These corrections are read from the file
+\item {\tt KM} $[$IAPRIM=0$]$: Apply Koch and Motz\cite{KM59} empirical corrections.
+\item {\tt NRC} $[$IAPRIM=1$]$: (the default) Apply NRC corrections based on NIST/ICRU\cite{Ro89a}. These corrections are read from the file
{\tt \$HEN\_HOUSE/pegs4/aprime.data}.
\item {\tt None} $[$IAPRIM=2$]$: No corrections applied.
\end{itemize}
diff --git a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/transport_parameters.tex b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/transport_parameters.tex
index b24f539ab..fadc739fc 100644
--- a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/transport_parameters.tex
+++ b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/transport_parameters.tex
@@ -31,14 +31,14 @@
\index{ECUT}
\begin{verbatim}
Global ECUT= Global (in all regions) electron transport cut
- off energy (in MeV). If this imput is missing,
+ off energy (in MeV). If this input is missing,
AE(medium) will be used.
[ ECUT ]
\end{verbatim}
\index{PCUT}
\begin{verbatim}
Global PCUT= Global (in all regions) photon transport cut
- off energy (in MeV). If this imput is missing,
+ off energy (in MeV). If this input is missing,
AP(medium) will be used.
[ PCUT ]
\end{verbatim}
@@ -59,7 +59,7 @@
ESTEPE= Maximum fractional energy loss per step.
Note that this is a global option only, no
region-by-region setting is possible. If missing,
- the defualt is 0.25 (25%).
+ the default is 0.25 (25%).
[ ESTEPE ]
\end{verbatim}
\index{XImax}
@@ -74,8 +74,8 @@
\index{exact\_bca}
\index{transport\_algorithm}
\begin{verbatim}
- Boundary crossing algorithm=
- There are two selections possible: EXACT, means
+ Boundary crossing algorithm= EXACT (default), PRESTA-I
+ There are two selections possible: EXACT means
the algorithm will cross boundaries in a single
scattering (SS) mode, the distance from a boundary
at which the transition to SS mode is made is
@@ -93,23 +93,21 @@
Determines the distance from a boundary (in elastic
MFP) at which the algorithm will go into single
scattering mode (if EXACT boundary crossing) or
- swith off lateral correlations (if PRESTA-I boundary
+ switch off lateral correlations (if PRESTA-I boundary
crossing). Default value is 3 for EXACT or
exp(BLCMIN)/BLCMIN for PRESTA-I (see the PRESTA paper
for a definition of BLCMIN). Note that if you choose
EXACT boundary crossing and set Skin depth for BCA
to a very large number (e.g. 1e10), the entire
- calculation will be in SS mode. If you choose
- PRESTA-I boundary crossing and make Skin depth for BCA
- large, you will get default EGS4 behavious (no PRESTA)
+ calculation will be in single-scattering mode. If you
+ choose PRESTA-I boundary crossing and make Skin depth
+ for BCA large, you will get default EGS4 behaviour
+ (no PRESTA).
[ skindepth_for_bca ]
\end{verbatim}
\index{electron step algorithm}
\begin{verbatim}
- Electron-step algorithm=
- PRESTA-II (the default), the name is
- used for historical reasons
- or PRESTA-I
+ Electron-step algorithm= PRESTA-II (default), PRESTA-I (legacy)
Determines the algorithm used to take into account
lateral and longitudinal correlations in a
condensed history step.
@@ -118,7 +116,7 @@
\index{spin effects}
\index{spin\_effects}
\begin{verbatim}
- Spin effects= Off, On, default is On
+ Spin effects= Off, On (default)
Turns off/on spin effects for electron elastic
scattering. Spin On is ABSOLUTELY necessary for
good backscattering calculations. Will make a
@@ -130,10 +128,10 @@
\index{brems angular sampling}
\index{IBRDST}
\begin{verbatim}
- Brems angular sampling= Simple, KM, default is KM
+ Brems angular sampling= Simple, KM (default)
If Simple, use only the leading term of the Koch-Motz
distribution to determine the emission angle of
- bremsstrahlung photons. If On, complete
+ bremsstrahlung photons. If KM, complete
modified Koch-Motz 2BS is used (modifications
concern proper handling of kinematics at low energies,
makes 2BS almost the same as 2BN at low energies).
@@ -142,7 +140,7 @@
\index{brems cross section}
\index{ibr\_nist}
\begin{verbatim}
- Brems cross sections= BH, NIST, NRC default is BH
+ Brems cross sections= BH (default), NIST, NRC
If BH is selected, the Bethe-Heitler bremsstrahlung
cross sections (Coulomb corrected above 50 MeV)
will be used. If NIST is selected, the NIST brems
@@ -186,7 +184,7 @@
\index{radiative Compton corrections}
\index{radc\_flag}
\begin{verbatim}
- Radiative Compton corrections= On or Off (default). If on, then
+ Radiative Compton corrections= On or Off (default). If On, then
include radiative corrections for Compton scattering.
Equations are based on original Brown & Feynman
equations (Phys. Rev. 85, p 231--1952). Requires
@@ -216,14 +214,14 @@
\index{pair angular sampling}
\index{IPRDST}
\begin{verbatim}
- Pair angular sampling= Off, Simple, KM.
+ Pair angular sampling= Off, Simple (default), KM.
If off, pairs are set in motion at an angle m/E
relative to the photon direction (m is electron rest
energy, E the photon energy). Simple turns on
the leading term of the angular distribution
(this is sufficient for most applications),
KM (comes from Koch and Motz) turns on using 2BS
- from the article by Koch and Motz. Uniform
+ from the article by Koch and Motz.
Default is Simple, make sure you always use
Simple or KM
[ IPRDST ]
@@ -236,7 +234,7 @@
to NRC, then use NRC pair production cross-sections
(in file $HEN_HOUSE/data/pair_nrc1.data). Only
of interest at low energies, where the NRC cross-
- sections take into account the assymmetry in the
+ sections take into account the asymmetry in the
positron-electron energy distribution.
[ pair_nrc ]
\end{verbatim}
@@ -244,19 +242,24 @@
\index{photon\_xsections}
\begin{verbatim}
Photon cross sections= Photon cross-section data. Current options are
- si (Storm-Israel--the default), epdl (Evaluated Photon
- Data Library), and xcom. Allows the user to use photon
- cross-sections other than the default PEGS4 (Storm-
- Israel) values. Note that the user can supply their
- own cross-section data as well. The requirement is
- that the files
+ si (Storm-Israel), epdl (Evaluated Photon Data
+ Library), xcom (default), pegs4, mcdf-xcom and
+ mcdf-epdl:
+ Allows the use of photon cross-sections other than
+ from the PEGS4 file (unless the pegs4 option is
+ specified). Options mcdf-xcom and mcdf-epdl use
+ Sabbatucci and Salvat's renormalized photoelectric
+ cross sections with either xcom or epdl for all other
+ cross sections. These are more accurate but can
+ increase CPU time by up to 6 %.
+ Note that the user can supply their own cross-section
+ data as well. The requirement is that the files
photon_xsections_photo.data,
photon_xsections_pair.data,
photon_xsections_triplet.data, and
photon_xsections_rayleigh.data exist in the
$HEN_HOUSE/data directory, where photon_xsections
- is the name specified.
- Entry is case-sensitive except for the pegs4 option.
+ is the name specified. This entry is case-sensitive.
[ photon_xsections ]
\end{verbatim}
\index{photon cross sections!output}
@@ -284,14 +287,13 @@
\index{Rayleigh scattering!custom form factors}
\index{IRAYLR}
\begin{verbatim}
- Rayleigh scattering= Off, On, custom
- If On, turned on coherent (Rayleigh) scattering.
- Default is Off. Should be turned on for low energy
+ Rayleigh scattering= Off, On (default), custom
+ If On, turns on coherent (Rayleigh) scattering.
+ Default is On. Should be turned on for low energy
applications. If custom, user must provide media names
and form factor files for each desired medium. The
rest of the media use the default atomic form factors.
- Not set to On by default for historical reasons since
- a PEGS4 data set is not required anymore.
+ A PEGS4 data set is not required anymore.
[ IRAYLR ]
\end{verbatim}
\index{iray\_ff\_media}
@@ -313,53 +315,82 @@
$HEN_HOUSE/data/molecular_form_factors.
[ iray_ff_file($MXMED) ]
\end{verbatim}
+\index{photonuclear attenuation}
+\index{IPHOTONUCR}
+\begin{verbatim}
+ Photonuclear attenuation= Off (default) or On
+ If On, models the photonuclear effect. Current
+ implementation is crude. Available on a
+ region-by-region basis (see below)
+ [ IPHOTONUCR ]
+\end{verbatim}
+\index{photonuclear cross sections}
+\index{photonuc\_xsections}
+\begin{verbatim}
+ Photonuclear cross sections= Total photonuclear cross sections. User-
+ supplied total photonuclear cross-sections in
+ $HEN_HOUSE/data/photonuc_xsections_photonuc.data,
+ where photonuc_xsections is the name supplied for
+ this input (case sensitive). In the absence of
+ any user-supplied data, or if photonuc_xsections
+ is set to 'default', the default file is
+ iaea_photonuc.data.
+ [ photonuc_xsections ]
+\end{verbatim}
\index{photoelectron angular sampling}
\index{IPHTER}
\begin{verbatim}
- Photoelectron angular sampling= Off or On
+ Photoelectron angular sampling= Off or On (default)
If Off, photo-electrons get the direction of the
- `mother' photon, with On, Sauter's furmula is
- used (which is, striktly speaking, valid only for
+ `mother' photon, with On, Sauter's formula is
+ used (which is, strictly speaking, valid only for
K-shell photo-absorption).
If the user has a better approach, replace the macro
$SELECT-PHOTOELECTRON-DIRECTION;
- The only application that
- I encountered until now where this option made a
- small difference was a big ion chamber (cavity size
- comparable with electron range) with high-Z walls
- in a low energy photon beam.
- Default is On
+ The only application encountered where this option
+ made a small difference was a big ion chamber
+ (cavity size comparable with electron range)
+ with high-Z walls in a low energy photon beam.
[ IPHTER ]
\end{verbatim}
\index{atomic relaxations}
\index{IEDGFL}
\begin{verbatim}
- Atomic relaxations= Off, On
- Default is On. The effect of using On is twofold:
+ Atomic relaxations= Off, On, eadl (default), simple
+ On defaults to eadl.
+ When simulating atomic relaxations:
- In photo-electric absorption events, the element
(if material is mixture) and the shell the photon
is interacting with are sampled from the appropriate
- cross seections
- - Shell vacancies created in photo-absorption events
+ cross sections
+ - Shell vacancies created in photoelectric,
+ compton and electron impact ionization events
are relaxed via emission of fluorescent X-Rays,
Auger and Koster-Cronig electrons.
- Make sure to turn this option on for low energy
- applications.
- [ IEDGFL ]
+ The eadl option features a more accurate treatment
+ of relaxation events and uses binding energies
+ consistent with those in of the photon cross sections
+ used in the simulation. If using mcdf-xcom or
+ mcdf-epdl photon cross sections, you cannot use
+ the simple option and this will automatically get
+ reset to eadl. Make sure to use eadl or simple for
+ low energy applications.
+ [ IEDGFL ]
\end{verbatim}
\noindent
-Atomic relaxations, Rayleigh scattering, Photoelectron angular sampling
-and Bound Compton scattering can also be turned On/Off on a
-region-by-region basis. An example for Atomic relaxations on a region-
-by-region basis is:
+Atomic relaxations, Rayleigh scattering, Photoelectron angular sampling,
+Bound Compton scattering and photonuclear effect
+can also be turned On/Off on a region-by-region basis. An example for
+Atomic relaxations on a region-by-region basis is:
\begin{verbatim}
Atomic relaxations= On in Regions or
Atomic relaxations= Off in regions
\end{verbatim}
-Then define the regions in which you want the feature to be turned on:
+Then define the regions in which you want
+the feature to be turned on:
\begin{verbatim}
Bound Compton start region=
@@ -374,8 +405,9 @@
PE sampling start region=
PE sampling stop region=
\end{verbatim}
-each followed by a list of one or more start and stop regions
-separated by commas. Example:
+each followed by a list of one or more
+start and stop regions separated by commas.
+Example:
\begin{verbatim}
Atomic relaxations= On in Regions
Relaxations start region= 1, 40
@@ -383,8 +415,8 @@
\end{verbatim}
will first turn off relaxations everywhere and
then turn on in regions 1-10 and 40-99.
-Note that the input is checked against minimum and maximum
-region number and ignored if
+Note that the input is checked against minimum
+and maximum region numbers and ignored if
\verb+start region < 1+ or \verb+stop_region > $MXREG+ or
\verb+start region > stop region+.
diff --git a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/tutorials.tex b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/tutorials.tex
index 01c96444c..681d6d3f7 100644
--- a/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/tutorials.tex
+++ b/HEN_HOUSE/doc/src/pirs701-egsnrc/inputs/tutorials.tex
@@ -69,13 +69,11 @@
User Codes are presented. The complete source for each (and the
corresponding Fortran 77 code) is found on the EGSnrc Distribution.
-Note that we changed the default parameters in EGSnrc after this section of
-the manual was written so there will be some minor differences when you run
-the calculations (e.g. bound Compton scattering and atomic relaxations are
-modelled by default, \$REAL now defaults to real*8). Also, use of the MP
-system requires a Step 0: {\tt call egs\_init;} and a Step 9: {\tt call
-egs\_finish;} which are in the distributed versions but not updated here.
-\index{\$REAL}
+Note that default parameters in EGSnrc may change from time to time, in which
+case there could be some minor differences when you run the calculations. Also,
+use of the MP system requires a Step 0: {\tt call egs\_init;} and a Step 9:
+{\tt call egs\_finish;} which are in the distributed versions but not updated
+here. \index{\$REAL}
% To see the expected output, see
% {\tt \$HEN\_HOUSE/test\_distribution\_outputs/}.
@@ -648,4 +646,3 @@ \subsection{Sophisticated User Codes}
statistical analysis etc. The BEAM system is for
modelling linear accelerators and doing dose calculations in a CT-based patient
phantom\cite{Ro95,Ro98a,Ma01b}.
-
diff --git a/HEN_HOUSE/doc/src/pirs702-egsnrc-codes/inputs/transport_parameters.tex b/HEN_HOUSE/doc/src/pirs702-egsnrc-codes/inputs/transport_parameters.tex
index 12e9fbc20..17dbb0e3c 100644
--- a/HEN_HOUSE/doc/src/pirs702-egsnrc-codes/inputs/transport_parameters.tex
+++ b/HEN_HOUSE/doc/src/pirs702-egsnrc-codes/inputs/transport_parameters.tex
@@ -32,14 +32,14 @@
\index{ECUT}
\begin{verbatim}
Global ECUT= Global (in all regions) electron transport cut
- off energy (in MeV). If this imput is missing,
+ off energy (in MeV). If this input is missing,
AE(medium) will be used.
[ ECUT ]
\end{verbatim}
\index{PCUT}
\begin{verbatim}
Global PCUT= Global (in all regions) photon transport cut
- off energy (in MeV). If this imput is missing,
+ off energy (in MeV). If this input is missing,
AP(medium) will be used.
[ PCUT ]
\end{verbatim}
@@ -60,7 +60,7 @@
ESTEPE= Maximum fractional energy loss per step.
Note that this is a global option only, no
region-by-region setting is possible. If missing,
- the defualt is 0.25 (25%).
+ the default is 0.25 (25%).
[ ESTEPE ]
\end{verbatim}
\index{XImax}
@@ -75,8 +75,8 @@
\index{exact\_bca}
\index{transport\_algorithm}
\begin{verbatim}
- Boundary crossing algorithm=
- There are two selections possible: EXACT, means
+ Boundary crossing algorithm= EXACT (default), PRESTA-I
+ There are two selections possible: EXACT means
the algorithm will cross boundaries in a single
scattering (SS) mode, the distance from a boundary
at which the transition to SS mode is made is
@@ -94,23 +94,21 @@
Determines the distance from a boundary (in elastic
MFP) at which the algorithm will go into single
scattering mode (if EXACT boundary crossing) or
- swith off lateral correlations (if PRESTA-I boundary
+ switch off lateral correlations (if PRESTA-I boundary
crossing). Default value is 3 for EXACT or
exp(BLCMIN)/BLCMIN for PRESTA-I (see the PRESTA paper
for a definition of BLCMIN). Note that if you choose
EXACT boundary crossing and set Skin depth for BCA
to a very large number (e.g. 1e10), the entire
- calculation will be in SS mode. If you choose
- PRESTA-I boundary crossing and make Skin depth for BCA
- large, you will get default EGS4 behavious (no PRESTA)
+ calculation will be in single-scattering mode. If you
+ choose PRESTA-I boundary crossing and make Skin depth
+ for BCA large, you will get default EGS4 behaviour
+ (no PRESTA).
[ skindepth_for_bca ]
\end{verbatim}
\index{electron step algorithm}
\begin{verbatim}
- Electron-step algorithm=
- PRESTA-II (the default), the name is
- used for historical reasons
- or PRESTA-I
+ Electron-step algorithm= PRESTA-II (default), PRESTA-I (legacy)
Determines the algorithm used to take into account
lateral and longitudinal correlations in a
condensed history step.
@@ -119,7 +117,7 @@
\index{spin effects}
\index{spin\_effects}
\begin{verbatim}
- Spin effects= Off, On, default is On
+ Spin effects= Off, On (default)
Turns off/on spin effects for electron elastic
scattering. Spin On is ABSOLUTELY necessary for
good backscattering calculations. Will make a
@@ -131,10 +129,10 @@
\index{brems angular sampling}
\index{IBRDST}
\begin{verbatim}
- Brems angular sampling= Simple, KM, default is KM
+ Brems angular sampling= Simple, KM (default)
If Simple, use only the leading term of the Koch-Motz
distribution to determine the emission angle of
- bremsstrahlung photons. If On, complete
+ bremsstrahlung photons. If KM, complete
modified Koch-Motz 2BS is used (modifications
concern proper handling of kinematics at low energies,
makes 2BS almost the same as 2BN at low energies).
@@ -143,7 +141,7 @@
\index{brems cross section}
\index{ibr\_nist}
\begin{verbatim}
- Brems cross sections= BH, NIST, NRC default is BH
+ Brems cross sections= BH (default), NIST, NRC
If BH is selected, the Bethe-Heitler bremsstrahlung
cross sections (Coulomb corrected above 50 MeV)
will be used. If NIST is selected, the NIST brems
@@ -187,7 +185,7 @@
\index{radiative Compton corrections}
\index{radc\_flag}
\begin{verbatim}
- Radiative Compton corrections= On or Off (default). If on, then
+ Radiative Compton corrections= On or Off (default). If On, then
include radiative corrections for Compton scattering.
Equations are based on original Brown & Feynman
equations (Phys. Rev. 85, p 231--1952). Requires
@@ -199,7 +197,6 @@
\end{verbatim}
\index{electron impact ionization}
\index{eii\_flag}
-\index{eii\_xfile}
\begin{verbatim}
Electron Impact Ionization= Off (default), On, casnati, kolbenstvedt,
gryzinski or penelope. If set to On or ik, then
@@ -218,14 +215,14 @@
\index{pair angular sampling}
\index{IPRDST}
\begin{verbatim}
- Pair angular sampling= Off, Simple, KM.
+ Pair angular sampling= Off, Simple (default), KM.
If off, pairs are set in motion at an angle m/E
relative to the photon direction (m is electron rest
energy, E the photon energy). Simple turns on
the leading term of the angular distribution
(this is sufficient for most applications),
KM (comes from Koch and Motz) turns on using 2BS
- from the article by Koch and Motz. Uniform
+ from the article by Koch and Motz.
Default is Simple, make sure you always use
Simple or KM
[ IPRDST ]
@@ -238,7 +235,7 @@
to NRC, then use NRC pair production cross-sections
(in file $HEN_HOUSE/data/pair_nrc1.data). Only
of interest at low energies, where the NRC cross-
- sections take into account the assymmetry in the
+ sections take into account the asymmetry in the
positron-electron energy distribution.
[ pair_nrc ]
\end{verbatim}
@@ -246,19 +243,24 @@
\index{photon\_xsections}
\begin{verbatim}
Photon cross sections= Photon cross-section data. Current options are
- si (Storm-Israel--the default), epdl (Evaluated Photon
- Data Library), xcom, and pegs4. Allows the use of photon
- cross-sections other than from the PEGS4 file unless
- the pegs4 option is specified.
+ si (Storm-Israel), epdl (Evaluated Photon Data
+ Library), xcom (default), pegs4, mcdf-xcom and
+ mcdf-epdl:
+ Allows the use of photon cross-sections other than
+ from the PEGS4 file (unless the pegs4 option is
+ specified). Options mcdf-xcom and mcdf-epdl use
+ Sabbatucci and Salvat's renormalized photoelectric
+ cross sections with either xcom or epdl for all other
+ cross sections. These are more accurate but can
+ increase CPU time by up to 6 %.
Note that the user can supply their own cross-section
- data as well. The requirement is that the files
+ data as well. The requirement is that the files
photon_xsections_photo.data,
photon_xsections_pair.data,
photon_xsections_triplet.data, and
photon_xsections_rayleigh.data exist in the
$HEN_HOUSE/data directory, where photon_xsections
- is the name specified.
- Entry is case-sensitive except for the pegs4 option.
+ is the name specified. This entry is case-sensitive.
[ photon_xsections ]
\end{verbatim}
\index{photon cross sections!output}
@@ -286,14 +288,13 @@
\index{Rayleigh scattering!custom form factors}
\index{IRAYLR}
\begin{verbatim}
- Rayleigh scattering= Off, On, custom
- If On, turned on coherent (Rayleigh) scattering.
- Default is Off. Should be turned on for low energy
+ Rayleigh scattering= Off, On (default), custom
+ If On, turns on coherent (Rayleigh) scattering.
+ Default is On. Should be turned on for low energy
applications. If custom, user must provide media names
and form factor files for each desired medium. The
rest of the media use the default atomic form factors.
- Not set to On by default for historical reasons since
- a PEGS4 data set is not required anymore.
+ A PEGS4 data set is not required anymore.
[ IRAYLR ]
\end{verbatim}
\index{iray\_ff\_media}
@@ -315,53 +316,82 @@
$HEN_HOUSE/data/molecular_form_factors.
[ iray_ff_file($MXMED) ]
\end{verbatim}
+\index{photonuclear attenuation}
+\index{IPHOTONUCR}
+\begin{verbatim}
+ Photonuclear attenuation= Off (default) or On
+ If On, models the photonuclear effect. Current
+ implementation is crude. Available on a
+ region-by-region basis (see below)
+ [ IPHOTONUCR ]
+\end{verbatim}
+\index{photonuclear cross sections}
+\index{photonuc\_xsections}
+\begin{verbatim}
+ Photonuclear cross sections= Total photonuclear cross sections. User-
+ supplied total photonuclear cross-sections in
+ $HEN_HOUSE/data/photonuc_xsections_photonuc.data,
+ where photonuc_xsections is the name supplied for
+ this input (case sensitive). In the absence of
+ any user-supplied data, or if photonuc_xsections
+ is set to 'default', the default file is
+ iaea_photonuc.data.
+ [ photonuc_xsections ]
+\end{verbatim}
\index{photoelectron angular sampling}
\index{IPHTER}
\begin{verbatim}
- Photoelectron angular sampling= Off or On
+ Photoelectron angular sampling= Off or On (default)
If Off, photo-electrons get the direction of the
- `mother' photon, with On, Sauter's furmula is
- used (which is, striktly speaking, valid only for
+ `mother' photon, with On, Sauter's formula is
+ used (which is, strictly speaking, valid only for
K-shell photo-absorption).
If the user has a better approach, replace the macro
$SELECT-PHOTOELECTRON-DIRECTION;
- The only application that
- I encountered until now where this option made a
- small difference was a big ion chamber (cavity size
- comparable with electron range) with high-Z walls
- in a low energy photon beam.
- Default is On
+ The only application encountered where this option
+ made a small difference was a big ion chamber
+ (cavity size comparable with electron range)
+ with high-Z walls in a low energy photon beam.
[ IPHTER ]
\end{verbatim}
\index{atomic relaxations}
\index{IEDGFL}
\begin{verbatim}
- Atomic relaxations= Off, On
- Default is On. The effect of using On is twofold:
+ Atomic relaxations= Off, On, eadl (default), simple
+ On defaults to eadl.
+ When simulating atomic relaxations:
- In photo-electric absorption events, the element
(if material is mixture) and the shell the photon
is interacting with are sampled from the appropriate
- cross seections
- - Shell vacancies created in photo-absorption events
+ cross sections
+ - Shell vacancies created in photoelectric,
+ compton and electron impact ionization events
are relaxed via emission of fluorescent X-Rays,
Auger and Koster-Cronig electrons.
- Make sure to turn this option on for low energy
- applications.
- [ IEDGFL ]
+ The eadl option features a more accurate treatment
+ of relaxation events and uses binding energies
+ consistent with those in of the photon cross sections
+ used in the simulation. If using mcdf-xcom or
+ mcdf-epdl photon cross sections, you cannot use
+ the simple option and this will automatically get
+ reset to eadl. Make sure to use eadl or simple for
+ low energy applications.
+ [ IEDGFL ]
\end{verbatim}
\noindent
-Atomic relaxations, Rayleigh scattering, Photoelectron angular sampling
-and Bound Compton scattering can also be turned On/Off on a
-region-by-region basis. An example for Atomic relaxations on a region-
-by-region basis is:
+Atomic relaxations, Rayleigh scattering, Photoelectron angular sampling,
+Bound Compton scattering and photonuclear effect
+can also be turned On/Off on a region-by-region basis. An example for
+Atomic relaxations on a region-by-region basis is:
\begin{verbatim}
Atomic relaxations= On in Regions or
Atomic relaxations= Off in regions
\end{verbatim}
-Then define the regions in which you want the feature to be turned on:
+Then define the regions in which you want
+the feature to be turned on:
\begin{verbatim}
Bound Compton start region=
@@ -375,18 +405,25 @@
or
PE sampling start region=
PE sampling stop region=
+ or
+ Photonuclear start region=
+ Photonuclear stop region=
\end{verbatim}
-each followed by a list of one or more start and stop regions
-separated by commas. Example:
+
+each followed by a list of one or more
+start and stop regions separated by commas.
+Example:
+
\begin{verbatim}
Atomic relaxations= On in Regions
Relaxations start region= 1, 40
Relaxations stop region= 10, 99
\end{verbatim}
+
will first turn off relaxations everywhere and
then turn on in regions 1-10 and 40-99.
-Note that the input is checked against minimum and maximum
-region number and ignored if
+Note that the input is checked against minimum
+and maximum region numbers and ignored if
\verb+start region < 1+ or \verb+stop_region > $MXREG+ or
\verb+start region > stop region+.
diff --git a/HEN_HOUSE/doc/src/pirs702-egsnrc-codes/pirs702-egsnrc-codes.tex b/HEN_HOUSE/doc/src/pirs702-egsnrc-codes/pirs702-egsnrc-codes.tex
index 87ecda6b4..e36dc2978 100644
--- a/HEN_HOUSE/doc/src/pirs702-egsnrc-codes/pirs702-egsnrc-codes.tex
+++ b/HEN_HOUSE/doc/src/pirs702-egsnrc-codes/pirs702-egsnrc-codes.tex
@@ -974,7 +974,7 @@ \subsubsection{previewRZ}
\htmladdnormallink{{\tt http://www.scriptics.com/software/8.4.html}}{http://www.scriptics.com/software/8.4.html} or \\
\htmladdnormallink{{\tt http://www.activestate.com/Products/ActiveTcl}}
{http://www.activestate.com/Products/ActiveTcl}. We recommend using
-the the ``ActiveTcl'' site, since it includes a wizard
+the ``ActiveTcl'' site, since it includes a wizard
which makes installation much easier (especially on Windows systems).
Once you have installed {\tt Tcl/Tk} you must ensure that the directory
{\tt /(directory where Tcl/Tk was installed)/bin} is included in your
@@ -2563,8 +2563,8 @@ \subsubsection{Pegsless Inputs}
correction to apply to calculated bremsstrahlung cross-sections.
Options are:
\begin{itemize}
-\item {\tt KM} $[$IAPRIM=0$]$ (the default): Apply Koch and Motz\cite{KM59} empirical corrections.
-\item {\tt NRC} $[$IAPRIM=1$]$: Apply NRC corrections based on NIST/ICRU\cite{Ro89a}. These corrections are read from the file
+\item {\tt KM} $[$IAPRIM=0$]$ Apply Koch and Motz\cite{KM59} empirical corrections.
+\item {\tt NRC} $[$IAPRIM=1$]$: (the default) Apply NRC corrections based on NIST/ICRU\cite{Ro89a}. These corrections are read from the file
{\tt \$HEN\_HOUSE/pegs4/aprime.data}.
\item {\tt None} $[$IAPRIM=2$]$: No corrections applied.
\end{itemize}
@@ -3373,7 +3373,7 @@ \subsection{Photon cross section enhancement (DOSRZnrc)}
where $\rho$ is the mass density in the region. If C is selected
so that $C_e \le 1$ (eg if the attenuation coefficient is very large),
cross section enhancement is turned off. This is exactly the desired
-behaviour: if the the photon already interacts at a very high rate due
+behaviour: if the photon already interacts at a very high rate due
to its large attenuation coefficient, there is no need of an additional
increase in the interaction density.
diff --git a/HEN_HOUSE/doc/src/pirs794-dosxyznrc/inputs/dosxyznrc.inp b/HEN_HOUSE/doc/src/pirs794-dosxyznrc/inputs/dosxyznrc.inp
index 3dd735626..4a725b54a 100644
--- a/HEN_HOUSE/doc/src/pirs794-dosxyznrc/inputs/dosxyznrc.inp
+++ b/HEN_HOUSE/doc/src/pirs794-dosxyznrc/inputs/dosxyznrc.inp
@@ -855,9 +855,12 @@ Record SC1-20a and SC1-21a (required for sources 20 and 21)
generator, INSEED1 is the luxury level and should
have a value >0 and <=4. Otherwise, a default
luxury level of 1 will be used.
- BEAM_SIZE Beam size for a square field for the dose calculation
- This parameter is only used by sources 2,3 and 4
- (default to 100 cm for a 100x100 cm square field)
+ BEAM_SIZE Size of maximum square beam field for the dose
+ calculation. This parameter is only used by phase
+ space sources (sources 2, 8, 20), BEAM simulation
+ sources (sources 9, 10, 21) and the beam model source
+ (source 4).
+ (Defaults to 100 cm for a 100x100 cm square field)
ISMOOTH =1 re-distribute particles when re-start a ph-sp file
and/or recycle an individual particle
=0 re-use the ph-sp data once run out (no redistribution)
@@ -1028,7 +1031,7 @@ Record SC1-20a and SC1-21a (required for sources 20 and 21)
All input associated with selection of EGSnrc transport parameter
is not crucial for the execution as there are default values set.
Therefore, if some of the input options in this section are
- missing/misspelled, this will be ignored and defualt parameter assumed
+ missing/misspelled, this will be ignored and default parameter assumed
As the transport parameter input routine uses get_inputs, a lot
of error/warning messages may be produced on UNIT 15, though.
If you don't have the intention of changing default settings,
@@ -1040,19 +1043,19 @@ Record SC1-20a and SC1-21a (required for sources 20 and 21)
:stop mc transport parameter:
Currently, the following options are available (case does not matter and
- the internal variables are shown in [ ] brackets):
+ the internal variables are shown in [ ] brackets):
Global ECUT= Global (in all regions) electron transport cut
- off energy (in MeV). If this imput is missing,
+ off energy (in MeV). If this input is missing,
or is < ECUTIN from the main DOSXYZnrc inputs
(See above) then ECUTIN is used for global ECUT.
- ECUT defaults to AE(medium).
+ If this input is missing, AE(medium) will be used.
[ ECUT ]
Global PCUT= Global (in all regions) photon transport cut
- off energy (in MeV). If this imput is missing,
+ off energy (in MeV). If this input is missing,
or is < PCUTIN from the main DOSXYZnrc inputs
(See above) then PCUTIN is used for global PCUT.
- PCUT defaults to AP(medium).
+ If this input is missing, AP(medium) will be used.
[ PCUT ]
Global SMAX= Global (in all regions) maximum step-size
restriction for electron transport (in cm).
@@ -1062,30 +1065,28 @@ Record SC1-20a and SC1-21a (required for sources 20 and 21)
will default to 1e10. However, if either
Electron-step algorithm= PRESTA-I
or
- Boundary crossing algorithm= PRESTA-I (the default),
- then a step-size restriction is necessary, and
- SMAX will default to 5 cm.
+ Boundary crossing algorithm= PRESTA-I (the default in
+ DOSXYZnrc), then a step-size restriction is necessary,
+ and SMAX will default to 5 cm.
[ SMAXIR ]
ESTEPE= Maximum fractional energy loss per step.
Note that this is a global option only, no
region-by-region setting is possible. If missing,
- the defualt is 0.25 (25%).
+ the default is 0.25 (25%).
[ ESTEPE ]
XImax= Maximum first elastic scattering moment per step.
Default is 0.5, NEVER use value greater than 1 as
this is beyond the range of MS data available.
[ XIMAX ]
- Boundary crossing algorithm=
- There are two selections possible: EXACT and
- PRESTA-I. PRESTA-I means that boundaries will
- be crossed a la PRESTA. That is, with lateral
- correlations turned off at a distance given by
- `Skin depth for BCA' (see below) from the boundary
- and MS forced at the boundary. EXACT means
+ Boundary crossing algorithm= EXACT, PRESTA-I (default in DOSXYZnrc)
+ There are two selections possible: EXACT means
the algorithm will cross boundaries in a single
scattering (SS) mode, the distance from a boundary
at which the transition to SS mode is made is
- determined by `Skin depth for BCA' (see below).
+ determined by 'Skin depth for BCA' (see below).
+ The second option is PRESTA-I, if selected boundaries
+ will be crossed a la PRESTA, i.e. with lateral
+ correlations turned off and MS forced at boundaries.
Default is PRESTA-I for efficiency reasons. This
is known not to be exactly correct, and when charged
particle equilibrium does not hold or when there is
@@ -1095,25 +1096,22 @@ Record SC1-20a and SC1-21a (required for sources 20 and 21)
cases, swich to EXACT BCA.
[ bca_algorithm, exact_bca ]
Skin depth for BCA=
- If Boundary crossing algorithm= PRESTA-I (default)
- then this is the distance from the boundary (in
- elastic MFP) at which lateral correlations will be
- switched off. The default in this case is to
- calculate a value based on the scattering power at
- ECUT (same as PRESTA in EGS4). If
- Boundary crossing algorithm= EXACT then this is
- the distance from the boundary (in elastic
+ Determines the distance from a boundary (in elastic
MFP) at which the algorithm will go into single
- scattering mode and defaults to 3 mfp.
- Note that if you choose EXACT boundary crossing and
- set Skin depth for BCA to a very large number (e.g.
- 1e10), the entire calculation will be in SS mode.
- If you choose PRESTA-I boundary crossing and make
- Skin depth for BCA large, you will get default EGS4
- behaviour (no PRESTA).
+ scattering mode (if EXACT boundary crossing) or
+ switch off lateral correlations (if PRESTA-I boundary
+ crossing). Default value is 3 for EXACT or
+ exp(BLCMIN)/BLCMIN for PRESTA-I (see the PRESTA paper
+ for a definition of BLCMIN). Note that if you choose
+ EXACT boundary crossing and set Skin depth for BCA
+ to a very large number (e.g. 1e10), the entire
+ calculation will be in single-scattering mode.
+ If you choose PRESTA-I boundary crossing (default
+ in DOSXYZnrc) and make Skin depth for BCA large,
+ you will get default EGS4 behaviour (no PRESTA).
[ skindepth_for_bca ]
- Note that the above defaults have been choosen as a compromise
+ Note that the above defaults have been chosen as a compromise
between accuracy (EXACT BCA) and efficiency (PRESTA-I BCA)
since the PRESTA-I BCA algorithm has proven to generally
produce satisfactory results. Note that the new transport
@@ -1121,15 +1119,12 @@ Record SC1-20a and SC1-21a (required for sources 20 and 21)
that one always has the option of verifying the accuracy
by doing a long run with the EXACT BCA.
- Electron-step algorithm=
- PRESTA-II (the default), the name is
- used for historical reasons
- or PRESTA-I
+ Electron-step algorithm= PRESTA-II (default), PRESTA-I (legacy)
Determines the algorithm used to take into account
lateral and longitudinal correlations in a
condensed history step.
[ transport_algorithm ]
- Spin effects= Off, On, default is On
+ Spin effects= Off, On (default)
Turns off/on spin effects for electron elastic
scattering. Spin On is ABSOLUTELY necessary for
good backscattering calculations. Will make a
@@ -1137,47 +1132,47 @@ Record SC1-20a and SC1-21a (required for sources 20 and 21)
(e.g. depth dose curves for RTP energy range
electrons).
[ spin_effects ]
- Brems angular sampling= Simple, KM, default is Simple
+ Brems angular sampling= Simple, KM (default)
If Simple, use only the leading term of the Koch-Motz
distribution to determine the emission angle of
bremsstrahlung photons. If KM, complete
modified Koch-Motz 2BS is used (modifications
- concern proper handling of kinematics at low
- energies, makes 2BS almost the same as 2BN at low
- energies).
+ concern proper handling of kinematics at low energies,
+ makes 2BS almost the same as 2BN at low energies).
[ IBRDST ]
- Brems cross sections= BH, NIST, NRC, default is BH
+ Brems cross sections= BH (default), NIST, NRC
If BH is selected, the Bethe-Heitler bremsstrahlung
cross sections (Coulomb corrected above 50 MeV)
will be used. If NIST is selected, the NIST brems
cross section data base (which is the basis for
the ICRU radiative stopping powers) will be employed.
Differences are negligible for E > ,say, 10 MeV,
- but signifficant in the keV energy range. If NRC is
- selected, NIST data including corrections for
- electron-electron brems will be used (typically only
+ but significant in the keV energy range. If NRC is
+ selected, the NRC brems cross-section data base will
+ be used, which is a version of the NIST data base
+ with corrected electron-electron brems contributions
+ (corrections to the NIST data is typically only
significant for low values of the atomic number Z
and for k/T < 0.005).
- Bound Compton scattering= On, Off or Norej (Default is On)
+ [ ibr_nist ]
+ Triplet production= On or Off (default). Turns on/off simulation
+ of triplet production. If On, then Borsellino's
+ first Born approximation is used to sample triplet
+ events based on the triplet cross-section data.
+ [ itriplet ]
+ Bound Compton scattering= On, Off, Simple or norej (default)
If Off, Compton scattering will be treated with
Klein-Nishina, with On Compton scattering is
treated in the Impulse approximation.
+ With Simple, the impulse approximation incoherent
+ scattering function will be used (i.e., no Doppler
+ broadenning). With norej the actual total bound
+ Compton cross section is used and there are no
+ rejections at run time.
Make sure to turn on for low energy applications,
- not necessary above, say, 1 MeV. Option Norej
- uses full bound Compton cross section data
- supplied in input below and does not reject
- interactions.
+ not necessary above, say, 1 MeV.
[ IBCMP ]
- Compton cross sections= Bound Compton cross-section data. User-
- supplied bound Compton cross-sections in the file
- $HEN_HOUSE/data/comp_xsections_compton.data, where
- comp_xsections is the name supplied for this input.
- This is only used if Bound Compton scattering= Simple
- and is not available on a region-by-region basis
- (see below). The default file (ie in the absence
- of any user-supplied data) is compton_sigma.data.
- [ comp_xsections ]
- Radiative Compton corrections= On or Off (default). If on, then
+ Radiative Compton corrections= On or Off (default). If On, then
include radiative corrections for Compton scattering.
Equations are based on original Brown & Feynman
equations (Phys. Rev. 85, p 231--1952). Requires
@@ -1186,7 +1181,20 @@ Record SC1-20a and SC1-21a (required for sources 20 and 21)
SOURCES (just before
$(EGS_SOURCEDIR)get_inputs.mortran).
[ radc_flag ]
- Pair angular sampling= Off, Simple or KM
+ Electron Impact Ionization= Off (default), On, casnati, kolbenstvedt,
+ gryzinski or penelope. If set to On or ik, then
+ use Kawrakow's theory to derive EII cross-sections.
+ If set to casnati, then use the cross-sections of
+ Casnati (from file $HEN_HOUSE/data/eii_casnati.data).
+ Similar for kolbenstvedt, gryzinski and penelope.
+ This is only of interest in kV X-ray calculations.
+ Note that the user can supply their own EII
+ cross-section data as well. The requirement is that
+ the file eii_suffix.data exists in the $HEN_HOUSE/data
+ directory, where suffix is the name specified.
+ Entry is case-sensitive except for Off, On or ik.
+ [ eii_flag, eii_xfile ]
+ Pair angular sampling= Off, Simple (default), KM.
If off, pairs are set in motion at an angle m/E
relative to the photon direction (m is electron rest
energy, E the photon energy). Simple turns on
@@ -1202,83 +1210,120 @@ Record SC1-20a and SC1-21a (required for sources 20 and 21)
to NRC, then use NRC pair production cross-sections
(in file $HEN_HOUSE/data/pair_nrc1.data). Only
of interest at low energies, where the NRC cross-
- sections take into account the assymmetry in the
+ sections take into account the asymmetry in the
positron-electron energy distribution.
[ pair_nrc ]
- Photoelectron angular sampling= Off or On
+ Photon cross sections= Photon cross-section data. Current options are
+ si (Storm-Israel), epdl (Evaluated Photon Data
+ Library), xcom (default), pegs4, mcdf-xcom and
+ mcdf-epdl:
+ Allows the use of photon cross-sections other than
+ from the PEGS4 file (unless the pegs4 option is
+ specified). Options mcdf-xcom and mcdf-epdl use
+ Sabbatucci and Salvat's renormalized photoelectric
+ cross sections with either xcom or epdl for all other
+ cross sections. These are more accurate but can
+ increase CPU time by up to 6 %.
+ Note that the user can supply their own cross-section
+ data as well. The requirement is that the files
+ photon_xsections_photo.data,
+ photon_xsections_pair.data,
+ photon_xsections_triplet.data, and
+ photon_xsections_rayleigh.data exist in the
+ $HEN_HOUSE/data directory, where photon_xsections
+ is the name specified. This entry is case-sensitive.
+ [ photon_xsections ]
+ Photon cross-sections output= Off (default) or On. If On, then
+ a file $EGS_HOME/user_code/inputfile.xsections is
+ output containing photon cross-section data used.
+ [ xsec_out ]
+ Compton cross sections= Bound Compton cross-section data. User-
+ supplied bound Compton cross-sections in the file
+ $HEN_HOUSE/data/comp_xsections_compton.data, where
+ comp_xsections is the name supplied for this input.
+ This is only used if Bound Compton scattering= Simple
+ and is not available on a region-by-region basis
+ (see below). The default file (ie in the absence
+ of any user-supplied data) is compton_sigma.data.
+ [ comp_xsections ]
+ Rayleigh scattering= Off, On (default), custom
+ If On, turns on coherent (Rayleigh) scattering.
+ Default is On. Should be turned on for low energy
+ applications. If custom, user must provide media names
+ and form factor files for each desired medium. The
+ rest of the media use the default atomic form factors.
+ A PEGS4 data set is not required anymore.
+ [ IRAYLR ]
+ ff media names = A list of media names (must match media found in
+ PEGS4 data file) for which the user is going to
+ provide custom Rayleigh form factor data.
+ [ iray_ff_media($MXMED) ]
+ ff file names = A list of names of files containing the Rayleigh
+ form factor data for the media specified by
+ the ff media names = input above. Full directory
+ paths must be given for all files, and for each medium
+ specified, iray_ff_media(i), there must be a
+ corresponding file name, iray_ff_file(i). For
+ example files, see the directory
+ $HEN_HOUSE/data/molecular_form_factors.
+ [ iray_ff_file($MXMED) ]
+ Photonuclear attenuation= Off (default) or On
+ If On, models the photonuclear effect. Current
+ implementation is crude. Available on a
+ region-by-region basis (see below)
+ [ IPHOTONUCR ]
+ Photonuclear cross sections= Total photonuclear cross sections. User-
+ supplied total photonuclear cross-sections in
+ $HEN_HOUSE/data/photonuc_xsections_photonuc.data,
+ where photonuc_xsections is the name supplied for
+ this input (case sensitive). In the absence of
+ any user-supplied data, or if photonuc_xsections
+ is set to 'default', the default file is
+ iaea_photonuc.data.
+ [ photonuc_xsections ]
+ Photoelectron angular sampling= Off or On (default)
If Off, photo-electrons get the direction of the
- `mother' photon, with On, Sauter's furmula is
- used (which is, striktly speaking, valid only for
+ `mother' photon, with On, Sauter's formula is
+ used (which is, strictly speaking, valid only for
K-shell photo-absorption).
If the user has a better approach, replace the macro
$SELECT-PHOTOELECTRON-DIRECTION;
- The only application that
- I encountered until now where this option made a
- small difference was a big ion chamber (cavity size
- comparable with electron range) with high-Z walls
- in a low energy photon beam.
- Default is Off
+ The only application encountered where this option
+ made a small difference was a big ion chamber
+ (cavity size comparable with electron range)
+ with high-Z walls in a low energy photon beam.
[ IPHTER ]
- Rayleigh scattering= Off, On, custom
- If On, turned on coherent (Rayleigh) scattering.
- Default is Off. Should be turned on for low energy
- applications. Not set to On by default because
- On requires a special PEGS4 data set. If set to
- custom, then media for which custom form factors
- are to be specified are listed in the input:
- ff media names=
- and the corresponding files containing custom data
- are listed in:
- ff file names=
- [ IRAYLR ]
- Atomic relaxations= Off, On
- Default is Off. The effect of using On is twofold:
+ Atomic relaxations= Off, On, eadl (default), simple
+ On defaults to eadl.
+ When simulating atomic relaxations:
- In photo-electric absorption events, the element
(if material is mixture) and the shell the photon
- is interacting with are sampled from the
- appropriate cross seections
- - Shell vacancies created in photo-absorption events
+ is interacting with are sampled from the appropriate
+ cross sections
+ - Shell vacancies created in photoelectric,
+ compton and electron impact ionization events
are relaxed via emission of fluorescent X-Rays,
Auger and Koster-Cronig electrons.
- Make sure to turn this option on for low energy
- applications.
- [ IEDGFL ]
- Electron impact ionization= Off, On, Casnati, Kolbenstvedt, Gryzinski
- (Default is Off)
- Determines which, if any, theory is used to model
- electron impact ionization. If set to 'On' then the
- theory of Kawrakow is used. Other settings use the
- theory associated with the name given. See future
- editions of the EGSnrc Manual (PIRS-701) for more
- details. This is only of interest in keV X-Ray
- simulations. Otherwise, leave it Off.
- [ eii_flag ]
- Photon cross sections= epdl, xcom, customized (Default is Storm-Israel
- cross-sections from PEGS4)
- The name of the cross-section data for photon
- interactions. This input line must be left out
- to access the default Storm-Israel cross-sections
- from PEGS4. 'edpl' uses cross-sections from the
- evaluated photon data library (EPDL) from Lawrence
- Livermore. 'xcom' will use the XCOM cross-sections
- from Burger and Hubbell. The user also has the
- option of using their own customized cross-section
- data. See the BEAMnrc manual for more details.
- [ photon_xsections ]
- Photon cross-sections output= Off (default) or On. If On, then
- a file $EGS_HOME/user_code/inputfile.xsections is
- output containing photon cross-section data used.
- [ xsec_out ]
-
- Atomic relaxations, Rayleigh scattering,
- Photoelectron angular sampling and Bound Compton scattering
- can also be turned On/Off on a region-by-region
- basis. To do so, put e.g.
+ The eadl option features a more accurate treatment
+ of relaxation events and uses binding energies
+ consistent with those in of the photon cross sections
+ used in the simulation. If using mcdf-xcom or
+ mcdf-epdl photon cross sections, you cannot use
+ the simple option and this will automatically get
+ reset to eadl. Make sure to use eadl or simple for
+ low energy applications.
+ [ IEDGFL ]
+
+ Atomic relaxations, Rayleigh scattering, Photoelectron angular sampling,
+ Bound Compton scattering and photonuclear effect
+ can also be turned On/Off on a region-by-region basis. An example for
+ Atomic relaxations on a region-by-region basis is:
Atomic relaxations= On in Regions or
Atomic relaxations= Off in regions
- in your input file. Then use
+ Then define the regions in which you want
+ the feature to be turned on:
Bound Compton start region=
Bound Compton stop region=
@@ -1291,19 +1336,35 @@ Record SC1-20a and SC1-21a (required for sources 20 and 21)
or
PE sampling start region=
PE sampling stop region=
+ or
+ Photonuclear start region=
+ Photonuclear stop region=
- each followed by a lost of of one or more
+ each followed by a list of one or more
start and stop regions separated by commas.
Example:
+
Atomic relaxations= On in Regions
Relaxations start region= 1, 40
Relaxations stop region= 10, 99
+
will first turn off relaxations everywhere and
then turn on in regions 1-10 and 40-99.
- Note that input is checked against min. and max.
- region number and ignored if
+ Note that the input is checked against minimum
+ and maximum region numbers and ignored if
start region < 1 or stop_region > $MXREG or
start region > stop region.
+ ECUT, PCUT and SMAX can also be set on a
+ region-by-region basis. To do so, iclude
+ in your input file
+
+ Set XXXX= f_value1, f_value2, ...
+ Set XXXX start region= i_value1, i_value2, ...
+ Set XXXX stop region= j_value1, j_value2, ...
+ where XXXX is ECUT, PCUT or SMAX ,
+ f_value1, f_value2,... are the desired values for XXXX
+ and i_value_i and j_value_i are the start and
+ stop regions.
\end{verbatim}
diff --git a/HEN_HOUSE/doc/src/pirs794-dosxyznrc/pirs794-dosxyznrc.tex b/HEN_HOUSE/doc/src/pirs794-dosxyznrc/pirs794-dosxyznrc.tex
index 293e87636..83c2e68e5 100644
--- a/HEN_HOUSE/doc/src/pirs794-dosxyznrc/pirs794-dosxyznrc.tex
+++ b/HEN_HOUSE/doc/src/pirs794-dosxyznrc/pirs794-dosxyznrc.tex
@@ -1563,7 +1563,7 @@ \subsection{isource = 9: BEAM Treatment Head Simulation Incident from Any
Similar to {\tt isource = 2}, you can select particles from the BEAM simulation
\indexm{LATCH}
to use based on their charge and/or {\tt LATCH} values. You can also
-select the size of the BEAM field considered using the
+select the maximum size of the BEAM field considered using the
\indexm{BEAM\_SIZE}
{\tt BEAM\_SIZE} input (discussed in more detail in its own section below).
@@ -2098,7 +2098,7 @@ \subsubsection{Phase space source incident through a shared library geometry}
the DOSXYZnrc phantom per particle incident from the phase space source. Thus, the original estimate of
{\tt NRCYCL} is incorrect. To overcome this when a BEAM shared library is used, an initial calibration comprising
1x10$^6$ particles run through the BEAM geometry only is used to determine the ratio of the number of particles
-emerging from the the bottom of the BEAM library geometry to the number of incident particles (survival ratio).
+emerging from the bottom of the BEAM library geometry to the number of incident particles (survival ratio).
{\tt NRCYCL} is then recalculated by multiplying the original estimate by 1/(survival ratio).
\indexm{calflag}
@@ -2985,10 +2985,11 @@ \subsection{{\tt INSEED1, INSEED2}}
\subsection{{\tt BEAM\_SIZE}}
\indexm{BEAM\_SIZE}
-{\tt BEAM\_SIZE} allows user control of incident beam size for sources 2 and
-8 (phase-space input), 9 and 10 (full BEAM simulation sources) and 4
-(beam model source). {\tt BEAM\_SIZE} is the side of a square field in cm. The default value for {\tt BEAM\_SIZE} is 100 cm. When phase-space particles are read from a
-data file or reconstructed by a multiple-source model, DOSXYZnrc will check their positions and discard those that fall outside of the specified field.
+{\tt BEAM\_SIZE} allows the user to control the maximum beam size for phase space sources (sources 2,
+8, 20), BEAM simulations sources (souces 9, 10, 21) and the beam model source (source 4).
+{\tt BEAM\_SIZE} is the side of a square field in cm. The default value for {\tt BEAM\_SIZE} is 100 cm.
+Particles are discarded immediately if they are outside the
+square defined by {\tt BEAM\_SIZE} centred on the beam axis in the source scoring plane.
One should be careful with the use of this parameter because particles outside
the specified field (defined by {\tt BEAM\_SIZE)} may have some effects on the dose
@@ -3910,7 +3911,7 @@ \subsection{{\tt Pair angular sampling} ({\tt IPRDST})}
Motz et al\cite{Mo69} is used to determine the positron/electron emission
angles. This option is similar to the sampling technique used by the current
version of EGS4/DOSXYZ. Finally if {\tt Pair angular sampling= Simple} (the default), then only
-the first term in the the Motz et al eqn 3D-2003 is used. The {\tt KM} option
+the first term in the Motz et al eqn 3D-2003 is used. The {\tt KM} option
becomes less efficient with increasing accelerator energies and, moreover, involves
assumptions that are questionable at low energy. For these reasons, the default
setting is {\tt Simple}.
@@ -3934,9 +3935,9 @@ \subsection{{\tt Photoelectron angular sampling} ({\tt IPHTER})}
The {\tt Photoelectron angular sampling} input determines the sampling method
used by EGSnrc to determine the angle of emission of photoelectrons.
-If {\tt Photoelectron angular sampling= Off} (the default), then
+If {\tt Photoelectron angular sampling= Off}, then
photoelectrons inherit the direction of the incident photon. If
-{\tt Photoelectron angular sampling= On}, then Sauter's formula
+{\tt Photoelectron angular sampling= On} (the default), then Sauter's formula
\cite{Sa31} is used to determine the angle of the photoelectron. Note
that, in most applications, we have not observed any difference between
the ``Off" and ``On" settings of this parameters. Also note that,
@@ -3962,11 +3963,11 @@ \subsection{{\tt Rayleigh scattering} ({\tt IRAYLR})}
This input determines whether Rayleigh (coherent) scattering is
simulated or not.
-If {\tt Rayleigh scattering= On}, then Rayleigh events are simulated
+If {\tt Rayleigh scattering= On} (the default), then Rayleigh events are simulated
using the total coherent cross-sections from Storm and
Israel\cite{SI70} and atomic form factors from Hubbell and {\O}verb{\o}\cite{HO79}.
This data must be included in the PEGS4 material data set.
-If {\tt Rayleigh scattering= Off} (the default), then Rayleigh
+If {\tt Rayleigh scattering= Off}, then Rayleigh
events are not simulated. Rayleigh scattering is only recommended for
low-energy ($<$ 1 MeV) simulations. Also, for proper simulation
of Rayleigh events, bound Compton scattering (see section~\ref{bcsect} above)
@@ -3993,13 +3994,13 @@ \subsection{{\tt Atomic Relaxations} ({\tt IEDGFL})}
This input determines whether or not the relaxation of atoms to their
ground state after Compton and photoelectric events is simulated.
-If {\tt Atomic Relaxations= On}, then relaxation after
+If {\tt Atomic Relaxations= On} (the default), then relaxation after
Compton and photoelectric events is simulated via the
emission of any combination of K-, L-, M- and N-shell fluorescent photons, Auger electrons
and Coster-Kronig electrons. The lower energy limit for relaxation processes
is 1 keV. Thus, only relaxation in shells with binding energy $>$ 1 keV is
simulated.
-If {\tt Atomic Relaxations= Off} (the default), then atomic relaxations
+If {\tt Atomic Relaxations= Off}, then atomic relaxations
are not simulated. In this case, when there is a
photoelectric event, EGSnrc transfers all of the photon energy to the
photoelectron. This is different from EGS4/DOSXYZ, where the binding energy
@@ -4045,7 +4046,7 @@ \subsection{ {\tt Photon cross sections} ({\tt photon\_xsections})}
\index{photon cross-sections!Storm-Israel}
\index{photon cross-sections!EPDL}
\index{photon cross-sections!XCOM}
-``Storm-Israel'' (the default), ``epdl'' and ``xcom''.
+``Storm-Israel'', ``epdl'' and ``xcom'' (the default).
The Storm-Israel cross-sections are the standard PEGS4 cross-sections.
The ``epdl'' setting will use cross-sections from
the evaluated photon data library (EPDL) from Lawrence Livermore\cite{Cu90}.
@@ -4885,7 +4886,7 @@ \subsubsection{{\tt CTFilename}}
\indexm{CT!data file}
\indexm{CTFilename}
{\tt CTFilename} is the full name of a file, the contents of which depend
-on the the CT data format:
+on the CT data format:
\begin {description}
\item [Pinnacle format]
\indexm{Pinnacle CT}
diff --git a/HEN_HOUSE/doc/src/pirs801-egsinprz/pirs801-egsinprz.tex b/HEN_HOUSE/doc/src/pirs801-egsinprz/pirs801-egsinprz.tex
index a5bf673c7..542748696 100644
--- a/HEN_HOUSE/doc/src/pirs801-egsinprz/pirs801-egsinprz.tex
+++ b/HEN_HOUSE/doc/src/pirs801-egsinprz/pirs801-egsinprz.tex
@@ -899,7 +899,7 @@ \subsection{The Cavity Tab}
{\tt geometry tab} (upper left corner) is {\em groups} or {\em individual}, the user can
define the regions comprising the cavity there. If on the other hand, the input method selected
is {\em cavity description}, then the rest of the input fields in the {\tt the geometry tab}
-are disabled and the the whole geometry input occurs here. The materials for the chamber wall
+are disabled and the whole geometry input occurs here. The materials for the chamber wall
and the electrode can be selected from available media in the current PEGS4 data file.
This option was useful for early calculations but is not adequate for chambers in which one
wants to include much detail.
diff --git a/HEN_HOUSE/doc/src/pirs898-egs++/aobjects.doxy b/HEN_HOUSE/doc/src/pirs898-egs++/aobjects.doxy
index 25961e389..e9bc7d13d 100644
--- a/HEN_HOUSE/doc/src/pirs898-egs++/aobjects.doxy
+++ b/HEN_HOUSE/doc/src/pirs898-egs++/aobjects.doxy
@@ -23,7 +23,8 @@
#
# Author: Iwan Kawrakow, 2009
#
-# Contributors:
+# Contributors: Frederic Tessier
+# Ernesto Mainegra-Hing
#
###############################################################################
*/
diff --git a/HEN_HOUSE/doc/src/pirs898-egs++/egs_cbct.doxy b/HEN_HOUSE/doc/src/pirs898-egs++/egs_cbct.doxy
index 32f2ccd78..c5e3373e3 100644
--- a/HEN_HOUSE/doc/src/pirs898-egs++/egs_cbct.doxy
+++ b/HEN_HOUSE/doc/src/pirs898-egs++/egs_cbct.doxy
@@ -23,7 +23,8 @@
#
# Author: Ernesto Mainegra-Hing, 2009
#
-# Contributors:
+# Contributors: Reid Townson
+# Frederic Tessier
#
###############################################################################
*/
diff --git a/HEN_HOUSE/doc/src/pirs898-egs++/egs_fac.doxy b/HEN_HOUSE/doc/src/pirs898-egs++/egs_fac.doxy
index d246cbad6..52537c458 100644
--- a/HEN_HOUSE/doc/src/pirs898-egs++/egs_fac.doxy
+++ b/HEN_HOUSE/doc/src/pirs898-egs++/egs_fac.doxy
@@ -1,3 +1,4 @@
+
/*
###############################################################################
#
@@ -23,7 +24,7 @@
#
# Author: Ernesto Mainegra-Hing, 2009
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/doc/src/pirs898-egs++/egs_kerma.doxy b/HEN_HOUSE/doc/src/pirs898-egs++/egs_kerma.doxy
index 54e7103ab..0ad3785a9 100644
--- a/HEN_HOUSE/doc/src/pirs898-egs++/egs_kerma.doxy
+++ b/HEN_HOUSE/doc/src/pirs898-egs++/egs_kerma.doxy
@@ -23,7 +23,7 @@
#
# Author: Ernesto Mainegra-Hing, 2019
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/doc/src/pirs898-egs++/geometry.doxy b/HEN_HOUSE/doc/src/pirs898-egs++/geometry.doxy
index 977b27f8f..38eab9888 100644
--- a/HEN_HOUSE/doc/src/pirs898-egs++/geometry.doxy
+++ b/HEN_HOUSE/doc/src/pirs898-egs++/geometry.doxy
@@ -240,7 +240,7 @@ used by the \c EGS_Xplanes constructor).
All geometries can be filled with media by including a
media input
-property within the the geometry definition.
+property within the geometry definition.
Because geometries can be used as building blocks for other geometries,
which could fill the regions with media, it is not considered a
mistake if a geometry does not define its media. However,
diff --git a/HEN_HOUSE/doc/src/pirs898-egs++/sources.doxy b/HEN_HOUSE/doc/src/pirs898-egs++/sources.doxy
index 0724e3648..ba476b9cb 100644
--- a/HEN_HOUSE/doc/src/pirs898-egs++/sources.doxy
+++ b/HEN_HOUSE/doc/src/pirs898-egs++/sources.doxy
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/Makefile b/HEN_HOUSE/egs++/Makefile
index 619662264..adfaee04b 100644
--- a/HEN_HOUSE/egs++/Makefile
+++ b/HEN_HOUSE/egs++/Makefile
@@ -26,7 +26,13 @@
# Contributors: Ernesto Mainegra-Hing
# Frederic Tessier
# Manuel Stoeckl
+# Reid Townson
+# Blake Walters
+# Jan Weidner
+# Randle Taylor
+# Martin Martinov
# Max Orok
+# Reid Townson
#
###############################################################################
diff --git a/HEN_HOUSE/egs++/ausgab_objects/beam_dose_scoring/Makefile b/HEN_HOUSE/egs++/ausgab_objects/beam_dose_scoring/Makefile
index bca2d49c2..6fdf2979d 100644
--- a/HEN_HOUSE/egs++/ausgab_objects/beam_dose_scoring/Makefile
+++ b/HEN_HOUSE/egs++/ausgab_objects/beam_dose_scoring/Makefile
@@ -23,7 +23,7 @@
#
# Author: Blake Walters, 2014
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
diff --git a/HEN_HOUSE/egs++/ausgab_objects/egs_dose_scoring/egs_dose_scoring.cpp b/HEN_HOUSE/egs++/ausgab_objects/egs_dose_scoring/egs_dose_scoring.cpp
index 39387525f..986fd2594 100644
--- a/HEN_HOUSE/egs++/ausgab_objects/egs_dose_scoring/egs_dose_scoring.cpp
+++ b/HEN_HOUSE/egs++/ausgab_objects/egs_dose_scoring/egs_dose_scoring.cpp
@@ -27,6 +27,8 @@
# Reid Townson
# Hubert Ho
# Blake Walters
+# Max Orok
+# Martin Martinov
#
###############################################################################
#
diff --git a/HEN_HOUSE/egs++/ausgab_objects/egs_dose_scoring/egs_dose_scoring.h b/HEN_HOUSE/egs++/ausgab_objects/egs_dose_scoring/egs_dose_scoring.h
index fb89fe5f7..9e411647d 100644
--- a/HEN_HOUSE/egs++/ausgab_objects/egs_dose_scoring/egs_dose_scoring.h
+++ b/HEN_HOUSE/egs++/ausgab_objects/egs_dose_scoring/egs_dose_scoring.h
@@ -25,6 +25,8 @@
#
# Contributors: Reid Townson
# Blake Walters
+# Max Orok
+# Martin Martinov
#
###############################################################################
#
diff --git a/HEN_HOUSE/egs++/ausgab_objects/egs_fluence_scoring/egs_fluence_scoring.cpp b/HEN_HOUSE/egs++/ausgab_objects/egs_fluence_scoring/egs_fluence_scoring.cpp
index 2b5c67262..03ff4aac2 100644
--- a/HEN_HOUSE/egs++/ausgab_objects/egs_fluence_scoring/egs_fluence_scoring.cpp
+++ b/HEN_HOUSE/egs++/ausgab_objects/egs_fluence_scoring/egs_fluence_scoring.cpp
@@ -853,7 +853,7 @@ void EGS_PlanarFluence::ouputResults() {
spe_output << "@ xaxis label char size 1.560000\n";
spe_output << "@ xaxis label font 4\n";
spe_output << "@ xaxis ticklabel font 4\n";
- spe_output << "@ yaxis label \"fluence / MeV\\S-1\\Ncm\\S-2\"\n";
+ spe_output << "@ yaxis label \"fluence / MeV\S-1\Ncm\S-2\"\n";
spe_output << "@ yaxis label char size 1.560000\n";
spe_output << "@ yaxis label font 4\n";
spe_output << "@ yaxis ticklabel font 4\n";
@@ -1551,10 +1551,10 @@ void EGS_VolumetricFluence::ouputResults() {
spe_output << "@ xaxis label font 4\n";
spe_output << "@ xaxis ticklabel font 4\n";
if (src_norm == 1 || normLabel == "primary history") {
- spe_output << "@ yaxis label \"fluence / MeV\\S-1\\Ncm\\S-2\"\n";
+ spe_output << "@ yaxis label \"fluence / MeV\S-1\Ncm\S-2\"\n";
}
else {
- spe_output << "@ yaxis label \"fluence / MeV\\S-1\"\n";
+ spe_output << "@ yaxis label \"fluence / MeV\S-1\"\n";
}
spe_output << "@ yaxis label char size 1.560000\n";
spe_output << "@ yaxis label font 4\n";
diff --git a/HEN_HOUSE/egs++/ausgab_objects/egs_fluence_scoring/egs_fluence_scoring.h b/HEN_HOUSE/egs++/ausgab_objects/egs_fluence_scoring/egs_fluence_scoring.h
index 9bf2be808..433b2f9fc 100644
--- a/HEN_HOUSE/egs++/ausgab_objects/egs_fluence_scoring/egs_fluence_scoring.h
+++ b/HEN_HOUSE/egs++/ausgab_objects/egs_fluence_scoring/egs_fluence_scoring.h
@@ -200,7 +200,7 @@ class EGS_FLUENCE_SCORING_EXPORT EGS_FluenceScoring : public EGS_AusgabObject {
/* Regions flags */
vector is_sensitive; // flag scoring regions
- vector is_source; // Flag regions such as brems target or radiactive source
+ vector is_source; // Flag regions such as brems target or radioactive source
// Interacting particles not subjected to classification
vector f_start, f_stop; // Markers for group regions input
vector f_region; // Input list of scoring regions
diff --git a/HEN_HOUSE/egs++/ausgab_objects/egs_phsp_scoring/egs_phsp_scoring.cpp b/HEN_HOUSE/egs++/ausgab_objects/egs_phsp_scoring/egs_phsp_scoring.cpp
index 958a8b71c..496f69b6a 100644
--- a/HEN_HOUSE/egs++/ausgab_objects/egs_phsp_scoring/egs_phsp_scoring.cpp
+++ b/HEN_HOUSE/egs++/ausgab_objects/egs_phsp_scoring/egs_phsp_scoring.cpp
@@ -23,7 +23,7 @@
#
# Author: Blake Walters, 2018
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
@@ -46,7 +46,7 @@
EGS_PhspScoring::EGS_PhspScoring(const string &Name,
EGS_ObjectFactory *f) :
- EGS_AusgabObject(Name,f), phsp_index(0), store_max(1000), phsp_file(0),
+ EGS_AusgabObject(Name,f), phsp_index(0), store_max(1000), phsp_file(),
count(0), countg(0), emin(1.e30), emax(-1.e30), first_flush(true), is_restart(false) {
otype = "EGS_PhspScoring";
}
@@ -254,20 +254,29 @@ void EGS_PhspScoring::storeParticle(EGS_I64 ncase) {
if (app->top_p.q==0) {
countg++;
}
- if (app->top_p.E-abs(app->top_p.q)*prm > emax) {
- emax = app->top_p.E-abs(app->top_p.q)*prm;
+ double ke = app->top_p.E-abs(app->top_p.q)*prm;
+ if (ke > emax) {
+ emax = ke;
}
if (app->top_p.q != 0 && app->top_p.E - prm < emin) {
emin = app->top_p.E - prm;
}
- //store particle data in p_stack
+ // Store kinetic energy for IAEA format phsp, and total energy for egsphsp
+ double E;
+ if (oformat == 0) {
+ E = app->top_p.E;
+ } else if (oformat == 1) {
+ E = ke;
+ }
+
//set -ve energy marker if this is a new primary hist.
- double E = app->top_p.E;
if (ncase != last_case) {
E = -E;
last_case = ncase;
}
+
+ //store particle data in p_stack
p_stack[phsp_index].E = E;
p_stack[phsp_index].wt = app->top_p.wt;
p_stack[phsp_index].x = app->top_p.x.x;
diff --git a/HEN_HOUSE/egs++/ausgab_objects/egs_phsp_scoring/egs_phsp_scoring.h b/HEN_HOUSE/egs++/ausgab_objects/egs_phsp_scoring/egs_phsp_scoring.h
index 9fd6caddb..6fc4e1442 100644
--- a/HEN_HOUSE/egs++/ausgab_objects/egs_phsp_scoring/egs_phsp_scoring.h
+++ b/HEN_HOUSE/egs++/ausgab_objects/egs_phsp_scoring/egs_phsp_scoring.h
@@ -23,7 +23,7 @@
#
# Author: Blake Walters, 2018
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/ausgab_objects/egs_radiative_splitting/Makefile b/HEN_HOUSE/egs++/ausgab_objects/egs_radiative_splitting/Makefile
index ab04c0b7b..3f50ae249 100644
--- a/HEN_HOUSE/egs++/ausgab_objects/egs_radiative_splitting/Makefile
+++ b/HEN_HOUSE/egs++/ausgab_objects/egs_radiative_splitting/Makefile
@@ -23,7 +23,7 @@
#
# Author: Ernesto Mainegra-Hing, 2018
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
diff --git a/HEN_HOUSE/egs++/ausgab_objects/egs_radiative_splitting/egs_radiative_splitting.cpp b/HEN_HOUSE/egs++/ausgab_objects/egs_radiative_splitting/egs_radiative_splitting.cpp
index fbcd05b52..613b70c9f 100644
--- a/HEN_HOUSE/egs++/ausgab_objects/egs_radiative_splitting/egs_radiative_splitting.cpp
+++ b/HEN_HOUSE/egs++/ausgab_objects/egs_radiative_splitting/egs_radiative_splitting.cpp
@@ -67,15 +67,31 @@ void EGS_RadiativeSplitting::setApplication(EGS_Application *App) {
char buf[32];
- // Set EGSnrc internal radiative splitting number .
- app->setRadiativeSplitting(nsplit);
+ // Set EGSnrc internal UBS + RR
+ if (i_play_RR) {
+ app->setRussianRoulette(nsplit);
+ i_play_RR = true;
+ }
+ // Set EGSnrc internal radiative splitting number.
+ else if (nsplit > 0) {
+ app->setRadiativeSplitting(nsplit);
+ i_play_RR = false;
+ }
description = "\n===========================================\n";
description += "Radiative splitting Object (";
description += name;
description += ")\n";
description += "===========================================\n";
- if (nsplit > 1) {
+ if (i_play_RR) {
+ description +="\n - Splitting radiative events in ";
+ sprintf(buf,"%d",nsplit);
+ description += buf;
+ description +="\n - Play RR with higher order e-/e+ with probability 1/";
+ sprintf(buf,"%d\n\n",nsplit);
+ description += buf;
+ }
+ else if (nsplit > 1) {
description +="\n - Splitting radiative events in ";
sprintf(buf,"%d\n\n",nsplit);
description += buf;
@@ -104,6 +120,7 @@ extern "C" {
}
EGS_Float nsplit = 1.0;
+ /*! Switch for splitting + RR. Negative nsplit value switches OFF RR. */
int err = input->getInput("splitting",nsplit);
//=================================================
diff --git a/HEN_HOUSE/egs++/ausgab_objects/egs_radiative_splitting/egs_radiative_splitting.h b/HEN_HOUSE/egs++/ausgab_objects/egs_radiative_splitting/egs_radiative_splitting.h
index 7de1b99bf..cff1c2129 100644
--- a/HEN_HOUSE/egs++/ausgab_objects/egs_radiative_splitting/egs_radiative_splitting.h
+++ b/HEN_HOUSE/egs++/ausgab_objects/egs_radiative_splitting/egs_radiative_splitting.h
@@ -106,21 +106,77 @@ class EGS_RADIATIVE_SPLITTING_EXPORT EGS_RadiativeSplitting : public EGS_AusgabO
~EGS_RadiativeSplitting();
void setApplication(EGS_Application *App);
-
+ /*! Switch for splitting + RR. Negative nsplit value switches OFF RR. */
void setSplitting(const int &n_s) {
nsplit = n_s;
+ if (nsplit < 0) {
+ nsplit *= -1;
+ i_play_RR = false;
+ }
+ else if (nsplit > 1) {
+ i_play_RR = true;
+ }
+ /* Avoid zero division. A zero value turns off brems */
+ wthin = nsplit ? 1./nsplit : 1.0;
};
- int processEvent(EGS_Application::AusgabCall iarg) {
- return 0;
+ bool needsCall(EGS_Application::AusgabCall iarg) const {
+ if (
+ iarg == EGS_Application::BeforeBrems ||
+ iarg == EGS_Application::BeforeAnnihFlight ||
+ iarg == EGS_Application::BeforeAnnihRest ||
+ iarg == EGS_Application::AfterBrems ||
+ iarg == EGS_Application::AfterAnnihFlight ||
+ iarg == EGS_Application::AfterAnnihRest ||
+ iarg == EGS_Application::FluorescentEvent) {
+ return true;
+ }
+ else {
+ return false;
+ }
};
- int processEvent(EGS_Application::AusgabCall iarg, int ir) {
+
+ int processEvent(EGS_Application::AusgabCall iarg) {
+
+ /* A fat particle's weight is larger than a thin particle's max weight */
+ bool is_phat = (app->top_p.wt - wthin) > epsilon;
+ bool is_primary = app->top_p.latch == 0 ? true : false;
+
+ /* Split radiative events ONLY for primary and fat electrons */
+ if (iarg == EGS_Application::BeforeBrems ||
+ iarg == EGS_Application::BeforeAnnihFlight ||
+ iarg == EGS_Application::BeforeAnnihRest &&
+ (is_primary || is_phat)) {
+ app->setRadiativeSplitting(nsplit);
+ }
+ /* Avoids higher order splitting of radiative events */
+ else if (iarg == EGS_Application::AfterBrems ||
+ iarg == EGS_Application::AfterAnnihFlight ||
+ iarg == EGS_Application::AfterAnnihRest) {
+ app->setRadiativeSplitting(1);
+ app->setLatch(app->getNpOld()+1,1);
+ }
+ /* Fluorescent photons created by charged particles surviving RR
+ when radiative splitting ON should be split to avoid having heavy photons.
+ This should happen in EGSnrc, but it is not implemented yet, so do it here!
+ Note that when this is implemented in EGSnrc, the weight check will make sure
+ photons aren't split again!
+ */
+ if (iarg == EGS_Application::FluorescentEvent && is_phat && nsplit > 1) {
+ app->splitTopParticleIsotropically(nsplit);
+ }
+
+
return 0;
};
protected:
- /* Maximum splitting limited to 2,147,483,647 */
+ /* Max weight of thin particles */
+ EGS_Float wthin;
+ /* Maximum splitting limited to 2,147,483,647. Negative value switches OFF RR. */
int nsplit;
+ /* Switch for Russian Roulette */
+ bool i_play_RR;
};
diff --git a/HEN_HOUSE/egs++/egs_advanced_application.cpp b/HEN_HOUSE/egs++/egs_advanced_application.cpp
index 5b55abf4f..350e99072 100644
--- a/HEN_HOUSE/egs++/egs_advanced_application.cpp
+++ b/HEN_HOUSE/egs++/egs_advanced_application.cpp
@@ -28,6 +28,8 @@
# Blake Walters
# Randle Taylor
# Reid Townson
+# Max Orok
+# Martin Martinov
#
###############################################################################
*/
@@ -1213,11 +1215,96 @@ EGS_Float EGS_AdvancedApplication::getPcut() {
EGS_Float EGS_AdvancedApplication::getRM() {
return the_useful->rm;
}
-// Turns ON/OFF radiative splitting
+
+//************************************************************
+// Utility functions for fluence scoring objects
+//************************************************************
+
+// Turns ON/OFF EGSnrc internal radiative splitting (UBS)
void EGS_AdvancedApplication::setRadiativeSplitting(const EGS_Float &nsplit) {
the_egsvr->nbr_split = nsplit;
}
+// Turns ON/OFF EGSnrc internal Russian Roulette + UBS
+void EGS_AdvancedApplication::setRussianRoulette(const EGS_Float &iSwitchRR) {
+ if (iSwitchRR > 1.0) {
+ the_egsvr->i_play_RR = 1;
+ the_egsvr->prob_RR = 1.0/iSwitchRR;
+ the_egsvr->nbr_split = iSwitchRR;
+ }
+ else {
+ the_egsvr->i_play_RR = 0;
+ the_egsvr->nbr_split = 1;
+ }
+}
+
+// Splits top particle into nsplit particles uniformly in 4Pi
+void EGS_AdvancedApplication::splitTopParticleIsotropically(const EGS_Float &fsplit) {
+ // Reset particle pointer
+ the_stack->npold = the_stack->np;
+ /* Initialize local variables */
+ int np = the_stack->np-1,
+ the_latch = the_stack->latch[np],
+ ir = the_stack->ir[np],
+ iq = the_stack->iq[np];
+ the_stack->wt[np] /= fsplit;
+ double E = the_stack->E[np];
+ EGS_Float x = the_stack->x[np], y = the_stack->y[np], z = the_stack->z[np],
+ wthin = the_stack->wt[np], dnear = the_stack->dnear[np];
+ EGS_Float u,v,w;
+ /* If fsplit is a non-integer, sample between int(fsplit) and int(split)+1 */
+ int nsplit = int(fsplit);
+ EGS_Float dsplit = fsplit - nsplit;
+ if (dsplit > 0) { // non-integer splitting number
+ if (rndm->getUniform() < dsplit) {
+ ++nsplit;
+ }
+ }
+ for (int i=0; i < nsplit; i++) {
+ np++;
+ if (np >= MXSTACK) {
+ egsFatal("\n\n******************************************\n"
+ "ERROR: In EGS_AdvancedApplication::splitTopParticleIsotropically() :\n"
+ "max. stack depth MXSTACK=%d < np=%d\n"
+ "Stack overflow due to splitting!\n"
+ "******************************************\n"
+ ,MXSTACK,np);
+ }
+ the_stack->x[np] = x;
+ the_stack->y[np] = y;
+ the_stack->z[np] = z;
+ the_stack->iq[np]= iq;
+ the_stack->dnear[np] = dnear;
+ the_stack->latch[np] = the_latch;
+ the_stack->ir[np]= ir;
+ the_stack->E[np] = E;
+ the_stack->wt[np]=wthin;
+ // Particles isotropically distributed in space
+ w = 2*rndm->getUniform()-1;
+ EGS_Float sinz = 1-w*w;
+ if (sinz > epsilon) {
+ sinz = sqrt(sinz);
+ EGS_Float cphi, sphi;
+ EGS_Float phi = 2*M_PI*rndm->getUniform();
+ cphi = cos(phi);
+ sphi = sin(phi);
+ u = sinz*cphi;
+ v = sinz*sphi;
+ }
+ else {
+ u = 0;
+ v = 0;
+ }
+
+ the_stack->u[np] = u;
+ the_stack->v[np] = v;
+ the_stack->w[np] = w;
+
+ }
+
+ the_stack->np = np+1;
+}
+
//************************************************************
// Utility functions for fluence scoring objects
//************************************************************
diff --git a/HEN_HOUSE/egs++/egs_advanced_application.h b/HEN_HOUSE/egs++/egs_advanced_application.h
index b77fc6093..683d0cd71 100644
--- a/HEN_HOUSE/egs++/egs_advanced_application.h
+++ b/HEN_HOUSE/egs++/egs_advanced_application.h
@@ -26,6 +26,7 @@
# Contributors: Ernesto Mainegra-Hing
# Frederic Tessier
# Reid Townson
+# Blake Walters
#
###############################################################################
*/
@@ -229,8 +230,16 @@ class APP_EXPORT EGS_AdvancedApplication : public EGS_Application {
/* Needed by some sources */
EGS_Float getRM();
- /* Turn ON/OFF radiative splitting */
+
+ //************************************************
+ // For use with ausgab radiative splitting objects
+ //************************************************
+
+ /* Turn ON/OFF EGSnrc internal radiative splitting (UBS) */
void setRadiativeSplitting(const EGS_Float &nsplit);
+ /* Turn ON/OFF EGSnrc internal Russian Roultette + UBS */
+ void setRussianRoulette(const EGS_Float &iSwitchRR);
+ void splitTopParticleIsotropically(const EGS_Float &fsplit);
protected:
diff --git a/HEN_HOUSE/egs++/egs_alias_table.cpp b/HEN_HOUSE/egs++/egs_alias_table.cpp
index 689db96c6..e64811919 100644
--- a/HEN_HOUSE/egs++/egs_alias_table.cpp
+++ b/HEN_HOUSE/egs++/egs_alias_table.cpp
@@ -26,6 +26,7 @@
# Contributors: Ernesto Mainegra-Hing
# Frederic Tessier
# Blake Walters
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_alias_table.h b/HEN_HOUSE/egs++/egs_alias_table.h
index 922fbcbe1..fec8fc99f 100644
--- a/HEN_HOUSE/egs++/egs_alias_table.h
+++ b/HEN_HOUSE/egs++/egs_alias_table.h
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Ernesto Mainegra-Hing
+# Marc Chamberland
#
###############################################################################
*/
@@ -212,4 +213,3 @@ class EGS_EXPORT EGS_SimpleAliasTable {
#endif
-
diff --git a/HEN_HOUSE/egs++/egs_application.cpp b/HEN_HOUSE/egs++/egs_application.cpp
index e638e843f..764c070e6 100644
--- a/HEN_HOUSE/egs++/egs_application.cpp
+++ b/HEN_HOUSE/egs++/egs_application.cpp
@@ -28,6 +28,7 @@
# Blake Walters
# Reid Townson
# Hubert Ho
+# Max Orok
#
###############################################################################
*/
@@ -798,9 +799,9 @@ int EGS_Application::initSimulation() {
return 0;
}
-void EGS_Application::setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun) {
+void EGS_Application::setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun, int npar, int nchunk) {
if (source) {
- source->setSimulationChunk(nstart,nrun);
+ source->setSimulationChunk(nstart,nrun,npar,nchunk);
}
}
diff --git a/HEN_HOUSE/egs++/egs_application.h b/HEN_HOUSE/egs++/egs_application.h
index c7842f38b..59fc1d45e 100644
--- a/HEN_HOUSE/egs++/egs_application.h
+++ b/HEN_HOUSE/egs++/egs_application.h
@@ -316,11 +316,12 @@ class EGS_EXPORT EGS_Application {
Tells the application that the next chunk of particles to be
simulated starts at \a nstart and will consist of \a nrun particles.
+ It also provides the source with the parallel run parameters, \a npar and \a nchunk.
This is necessary for parallel runs using phase space files. The default
implementation simply calls the EGS_BaseSource::setSimulationChunk()
method.
*/
- virtual void setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun);
+ virtual void setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun, int npar, int nchunk);
/*! \brief Runs an EGSnrc simulation.
@@ -924,7 +925,7 @@ class EGS_EXPORT EGS_Application {
This function is re-implemented in the EGS_AdvancedApplication
class, from which EGSnrc applications using the mortran EGSnrc
- physics subroutines should be derived. The defualt implementation
+ physics subroutines should be derived. The default implementation
is to set transport parameter and cross section options
from input between :start MC Transport parameter: and
:stop MC Transport parameter: in the input file,
@@ -1148,7 +1149,13 @@ class EGS_EXPORT EGS_Application {
virtual EGS_Float getRM() {
return -1.0;
};
+
+ //************************************************
+ // For use with ausgab radiative splitting objects
+ //************************************************
virtual void setRadiativeSplitting(const EGS_Float &nsplit) {};
+ virtual void setRussianRoulette(const EGS_Float &iSwitchRR) {};
+ virtual void splitTopParticleIsotropically(const EGS_Float &fsplit) {}
//************************************************************
// Utility functions for use with ausgab fluence scoring objects
diff --git a/HEN_HOUSE/egs++/egs_ausgab_object.cpp b/HEN_HOUSE/egs++/egs_ausgab_object.cpp
index c9a1b0be6..1b5afef84 100644
--- a/HEN_HOUSE/egs++/egs_ausgab_object.cpp
+++ b/HEN_HOUSE/egs++/egs_ausgab_object.cpp
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2009
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_ausgab_object.h b/HEN_HOUSE/egs++/egs_ausgab_object.h
index ceeda3275..975759c3a 100644
--- a/HEN_HOUSE/egs++/egs_ausgab_object.h
+++ b/HEN_HOUSE/egs++/egs_ausgab_object.h
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2009
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_base_geometry.h b/HEN_HOUSE/egs++/egs_base_geometry.h
index 9bfed973b..33bbfe66f 100644
--- a/HEN_HOUSE/egs++/egs_base_geometry.h
+++ b/HEN_HOUSE/egs++/egs_base_geometry.h
@@ -29,6 +29,7 @@
# Reid Townson
# Ernesto Mainegra-Hing
# Hugo Bouchard
+# Martin Martinov
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_base_source.cpp b/HEN_HOUSE/egs++/egs_base_source.cpp
index d346423ff..60d4a2cc1 100644
--- a/HEN_HOUSE/egs++/egs_base_source.cpp
+++ b/HEN_HOUSE/egs++/egs_base_source.cpp
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_base_source.h b/HEN_HOUSE/egs++/egs_base_source.h
index 392eed3d8..e509bac1a 100644
--- a/HEN_HOUSE/egs++/egs_base_source.h
+++ b/HEN_HOUSE/egs++/egs_base_source.h
@@ -24,6 +24,8 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Reid Townson
+# Ernesto Mainegra-Hing
+# Blake Walters
#
###############################################################################
*/
@@ -140,7 +142,7 @@ class EGS_EXPORT EGS_BaseSource : public EGS_Object {
It may also be re-implemented, if one wanted to use some sort of
a systematic sampling of the phase space.
*/
- virtual void setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun) { };
+ virtual void setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun, int npar, int nchunk) { };
/*! \brief Get the charge of the source.
*
@@ -457,7 +459,7 @@ class EGS_EXPORT EGS_BaseSpectrum {
/*! \brief Reset the state of this spectrum object.
*
- * The defualt implementation of this method sets #count, #sum_E
+ * The default implementation of this method sets #count, #sum_E
* and #sum_E2 to zero. It should be re-implemented by derived classes
* if additional data is needed to describe the state of the spectrum
* object to reset this data as well.
@@ -508,7 +510,12 @@ class EGS_EXPORT EGS_BaseSpectrum {
* This function prints information about the expected and actually
* sampled average energy of the spectrum using egsInformation().
*/
- void reportAverageEnergy() const;
+ void reportAverageEnergy() const {
+ egsInformation("expected average energy: %g\n",expectedAverage());
+ EGS_Float e=0,de=0;
+ getSampledAverage(e,de);
+ egsInformation("sampled average energy: %g +/- %g\n",e,de);
+ };
protected:
diff --git a/HEN_HOUSE/egs++/egs_fortran_geometry.cpp b/HEN_HOUSE/egs++/egs_fortran_geometry.cpp
index 0dd191baf..d5193bc58 100644
--- a/HEN_HOUSE/egs++/egs_fortran_geometry.cpp
+++ b/HEN_HOUSE/egs++/egs_fortran_geometry.cpp
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2009
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_fortran_geometry.h b/HEN_HOUSE/egs++/egs_fortran_geometry.h
index 6b9318f3f..cf8e92a83 100644
--- a/HEN_HOUSE/egs++/egs_fortran_geometry.h
+++ b/HEN_HOUSE/egs++/egs_fortran_geometry.h
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2009
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_functions.cpp b/HEN_HOUSE/egs++/egs_functions.cpp
index 22fd4b7a9..0376b8265 100644
--- a/HEN_HOUSE/egs++/egs_functions.cpp
+++ b/HEN_HOUSE/egs++/egs_functions.cpp
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Ernesto Mainegra-Hing
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_functions.h b/HEN_HOUSE/egs++/egs_functions.h
index 61cabf5fe..c0f90c362 100644
--- a/HEN_HOUSE/egs++/egs_functions.h
+++ b/HEN_HOUSE/egs++/egs_functions.h
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Ernesto Mainegra-Hing
+# Reid Townson
#
###############################################################################
*/
@@ -137,7 +138,7 @@ typedef void (*EGS_InfoFunction)(const char *,...);
*
* \ingroup egspp_main
*
- * By defualt the output goes to the standard output. This behaviour
+ * By default the output goes to the standard output. This behaviour
* can be changed using egsSetInfoFunction(). This is used, for instance,
* to write output generated in the C++ part of an EGSnrc application to
* a string and then pass it to the EGSnrc mortran back-end using
@@ -151,7 +152,7 @@ extern EGS_EXPORT EGS_InfoFunction egsInformation;
*
* \ingroup egspp_main
*
- * By defualt the output goes to standard error. This behaviour
+ * By default the output goes to standard error. This behaviour
* can be changed using egsSetInfoFunction().
*
* \sa egsInformation, egsFatal
@@ -162,7 +163,7 @@ extern EGS_EXPORT EGS_InfoFunction egsWarning;
*
* \ingroup egspp_main
*
- * By defualt the output goes to standard error and the \c exit function
+ * By default the output goes to standard error and the \c exit function
* is called. This behaviour can be changed using egsSetInfoFunction().
* However, keep in mind that there may be code that is not prepared to
* deal with the situation that egsFatal actually returns.
diff --git a/HEN_HOUSE/egs++/egs_geometry_tester.h b/HEN_HOUSE/egs++/egs_geometry_tester.h
index 368d560aa..6a563110f 100644
--- a/HEN_HOUSE/egs++/egs_geometry_tester.h
+++ b/HEN_HOUSE/egs++/egs_geometry_tester.h
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_input.h b/HEN_HOUSE/egs++/egs_input.h
index 685119e3b..e11a3772f 100644
--- a/HEN_HOUSE/egs++/egs_input.h
+++ b/HEN_HOUSE/egs++/egs_input.h
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_interpolator.cpp b/HEN_HOUSE/egs++/egs_interpolator.cpp
index d2ed9979f..93726862a 100644
--- a/HEN_HOUSE/egs++/egs_interpolator.cpp
+++ b/HEN_HOUSE/egs++/egs_interpolator.cpp
@@ -23,7 +23,8 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Ernesto Mainegra-Hing
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_interpolator.h b/HEN_HOUSE/egs++/egs_interpolator.h
index a98211006..a80a5aef6 100644
--- a/HEN_HOUSE/egs++/egs_interpolator.h
+++ b/HEN_HOUSE/egs++/egs_interpolator.h
@@ -23,7 +23,8 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Ernesto Mainegra-Hing
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_library.h b/HEN_HOUSE/egs++/egs_library.h
index b6a0b6457..241c77dd9 100644
--- a/HEN_HOUSE/egs++/egs_library.h
+++ b/HEN_HOUSE/egs++/egs_library.h
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_object_factory.cpp b/HEN_HOUSE/egs++/egs_object_factory.cpp
index e14b9a714..fd7e60bdd 100644
--- a/HEN_HOUSE/egs++/egs_object_factory.cpp
+++ b/HEN_HOUSE/egs++/egs_object_factory.cpp
@@ -25,6 +25,8 @@
#
# Contributors: Ernesto Mainegra-Hing
# Hubert Ho
+# Max Orok
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_object_factory.h b/HEN_HOUSE/egs++/egs_object_factory.h
index 121fa68ea..3123c060d 100644
--- a/HEN_HOUSE/egs++/egs_object_factory.h
+++ b/HEN_HOUSE/egs++/egs_object_factory.h
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_particle_track.cpp b/HEN_HOUSE/egs++/egs_particle_track.cpp
index 7ad165aa2..f2d4b1d84 100644
--- a/HEN_HOUSE/egs++/egs_particle_track.cpp
+++ b/HEN_HOUSE/egs++/egs_particle_track.cpp
@@ -24,6 +24,7 @@
# Author: Georgi Gerganov, 2009
#
# Contributors: Iwan Kawrakow
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_particle_track.h b/HEN_HOUSE/egs++/egs_particle_track.h
index acfb2f100..f1f33be5b 100644
--- a/HEN_HOUSE/egs++/egs_particle_track.h
+++ b/HEN_HOUSE/egs++/egs_particle_track.h
@@ -24,6 +24,7 @@
# Author: Georgi Gerganov, 2009
#
# Contributors: Iwan Kawrakow
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_projectors.cpp b/HEN_HOUSE/egs++/egs_projectors.cpp
index 5c88c9b35..9e58f1721 100644
--- a/HEN_HOUSE/egs++/egs_projectors.cpp
+++ b/HEN_HOUSE/egs++/egs_projectors.cpp
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_rndm.cpp b/HEN_HOUSE/egs++/egs_rndm.cpp
index 725817543..ed44559bf 100644
--- a/HEN_HOUSE/egs++/egs_rndm.cpp
+++ b/HEN_HOUSE/egs++/egs_rndm.cpp
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Hubert Ho
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_rndm.h b/HEN_HOUSE/egs++/egs_rndm.h
index 1c35f7f4e..5a63d6ffd 100644
--- a/HEN_HOUSE/egs++/egs_rndm.h
+++ b/HEN_HOUSE/egs++/egs_rndm.h
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_run_control.cpp b/HEN_HOUSE/egs++/egs_run_control.cpp
index 426204469..5bde4e5e3 100644
--- a/HEN_HOUSE/egs++/egs_run_control.cpp
+++ b/HEN_HOUSE/egs++/egs_run_control.cpp
@@ -26,6 +26,9 @@
# Contributors: Frederic Tessier
# Hubert Ho
# Ernesto Mainegra-Hing
+# Blake Walters
+# Marc Chamberland
+# Reid Townson
#
###############################################################################
*/
@@ -378,7 +381,7 @@ void EGS_UniformRunControl::describeRCO() {
#define CLOSE_FILE _close
#define CREATE_FLAGS _O_CREAT | _O_EXCL | _O_RDWR, _S_IREAD | _S_IWRITE
#define OPEN_FLAGS _O_RDWR,_S_IREAD | _S_IWRITE
- #define WAIT_FOR_FILE _sleep(1000)
+ #define WAIT_FOR_FILE Sleep(1000)
#define WRITE_FILE _write
#define READ_FILE _read
@@ -781,7 +784,7 @@ EGS_I64 EGS_JCFControl::getNextChunk() {
nrun = nleft;
}
if (nrun > 0) {
- app->setSimulationChunk(ntot,nrun);
+ app->setSimulationChunk(ntot,nrun,npar,nchunk);
}
nleft -= nrun;
ntot += nrun;
diff --git a/HEN_HOUSE/egs++/egs_run_control.h b/HEN_HOUSE/egs++/egs_run_control.h
index b27d66c49..caf91e75d 100644
--- a/HEN_HOUSE/egs++/egs_run_control.h
+++ b/HEN_HOUSE/egs++/egs_run_control.h
@@ -25,6 +25,8 @@
#
# Contributors: Frederic Tessier
# Ernesto Mainegra-Hing
+# Blake Walters
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_scoring.cpp b/HEN_HOUSE/egs++/egs_scoring.cpp
index d04614014..0165828a3 100644
--- a/HEN_HOUSE/egs++/egs_scoring.cpp
+++ b/HEN_HOUSE/egs++/egs_scoring.cpp
@@ -23,7 +23,8 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Berit Behnke
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_scoring.h b/HEN_HOUSE/egs++/egs_scoring.h
index c526131c1..5148cc697 100644
--- a/HEN_HOUSE/egs++/egs_scoring.h
+++ b/HEN_HOUSE/egs++/egs_scoring.h
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_shapes.cpp b/HEN_HOUSE/egs++/egs_shapes.cpp
index d69356e0a..9cdfd56dc 100644
--- a/HEN_HOUSE/egs++/egs_shapes.cpp
+++ b/HEN_HOUSE/egs++/egs_shapes.cpp
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_shapes.h b/HEN_HOUSE/egs++/egs_shapes.h
index dbefb21b0..437c57062 100644
--- a/HEN_HOUSE/egs++/egs_shapes.h
+++ b/HEN_HOUSE/egs++/egs_shapes.h
@@ -24,6 +24,8 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Frederic Tessier
+# Marc Chamberland
+# Reid Townson
#
###############################################################################
*/
@@ -759,4 +761,3 @@ class EGS_EXPORT EGS_CylinderShape : public EGS_BaseShape {
};
#endif
-
diff --git a/HEN_HOUSE/egs++/egs_simple_application.h b/HEN_HOUSE/egs++/egs_simple_application.h
index 4797252c6..07e605222 100644
--- a/HEN_HOUSE/egs++/egs_simple_application.h
+++ b/HEN_HOUSE/egs++/egs_simple_application.h
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_simple_container.h b/HEN_HOUSE/egs++/egs_simple_container.h
index 656bfcb04..a38bbcf40 100644
--- a/HEN_HOUSE/egs++/egs_simple_container.h
+++ b/HEN_HOUSE/egs++/egs_simple_container.h
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2008
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_spectra.cpp b/HEN_HOUSE/egs++/egs_spectra.cpp
index 4b92109a5..17cdd3922 100644
--- a/HEN_HOUSE/egs++/egs_spectra.cpp
+++ b/HEN_HOUSE/egs++/egs_spectra.cpp
@@ -25,6 +25,7 @@
#
# Contributors: Frederic Tessier
# Reid Townson
+# Ernesto Mainegra-Hing
#
###############################################################################
*/
@@ -61,12 +62,7 @@
using namespace std;
-void EGS_BaseSpectrum::reportAverageEnergy() const {
- egsInformation("expected average energy: %g\n",expectedAverage());
- EGS_Float e=0,de=0;
- getSampledAverage(e,de);
- egsInformation("sampled average energy: %g +/- %g\n",e,de);
-}
+
/*! \brief A monoenergetic particle spectrum.
\ingroup egspp_main
diff --git a/HEN_HOUSE/egs++/egs_timer.h b/HEN_HOUSE/egs++/egs_timer.h
index 6abdeaee8..21fc2598c 100644
--- a/HEN_HOUSE/egs++/egs_timer.h
+++ b/HEN_HOUSE/egs++/egs_timer.h
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_transformations.cpp b/HEN_HOUSE/egs++/egs_transformations.cpp
index 23b8c0d9c..f82e03394 100644
--- a/HEN_HOUSE/egs++/egs_transformations.cpp
+++ b/HEN_HOUSE/egs++/egs_transformations.cpp
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_transformations.h b/HEN_HOUSE/egs++/egs_transformations.h
index dac540615..7f471a6ef 100644
--- a/HEN_HOUSE/egs++/egs_transformations.h
+++ b/HEN_HOUSE/egs++/egs_transformations.h
@@ -23,7 +23,10 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Marc Chamberland
+# Frederic Tessier
+# Reid Townson
+# Jan Weidner
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/egs_vector.h b/HEN_HOUSE/egs++/egs_vector.h
index d28a0ef51..b55ac317b 100644
--- a/HEN_HOUSE/egs++/egs_vector.h
+++ b/HEN_HOUSE/egs++/egs_vector.h
@@ -23,7 +23,8 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Manuel Stoeckl
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_autoenvelope/Makefile b/HEN_HOUSE/egs++/geometry/egs_autoenvelope/Makefile
index 4e5c51a88..1d421117d 100644
--- a/HEN_HOUSE/egs++/geometry/egs_autoenvelope/Makefile
+++ b/HEN_HOUSE/egs++/geometry/egs_autoenvelope/Makefile
@@ -27,6 +27,7 @@
# Contributors: Marc Chamberland
# Rowan Thomson
# Dave Rogers
+# Reid Townson
#
###############################################################################
diff --git a/HEN_HOUSE/egs++/geometry/egs_autoenvelope/egs_autoenvelope.cpp b/HEN_HOUSE/egs++/geometry/egs_autoenvelope/egs_autoenvelope.cpp
index c46d9d501..6af9dc297 100644
--- a/HEN_HOUSE/egs++/geometry/egs_autoenvelope/egs_autoenvelope.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_autoenvelope/egs_autoenvelope.cpp
@@ -27,6 +27,7 @@
# Contributors: Marc Chamberland
# Rowan Thomson
# Dave Rogers
+# Martin Martinov
#
###############################################################################
#
diff --git a/HEN_HOUSE/egs++/geometry/egs_autoenvelope/egs_autoenvelope.h b/HEN_HOUSE/egs++/geometry/egs_autoenvelope/egs_autoenvelope.h
index 4a826adc5..769ad5471 100644
--- a/HEN_HOUSE/egs++/geometry/egs_autoenvelope/egs_autoenvelope.h
+++ b/HEN_HOUSE/egs++/geometry/egs_autoenvelope/egs_autoenvelope.h
@@ -27,6 +27,7 @@
# Contributors: Marc Chamberland
# Rowan Thomson
# Dave Rogers
+# Martin Martinov
#
###############################################################################
#
diff --git a/HEN_HOUSE/egs++/geometry/egs_autoenvelope/volcor.h b/HEN_HOUSE/egs++/geometry/egs_autoenvelope/volcor.h
index 3c22a73de..b4c3eac57 100644
--- a/HEN_HOUSE/egs++/geometry/egs_autoenvelope/volcor.h
+++ b/HEN_HOUSE/egs++/geometry/egs_autoenvelope/volcor.h
@@ -27,6 +27,7 @@
# Contributors: Marc Chamberland
# Rowan Thomson
# Dave Rogers
+# Martin Martinov
#
###############################################################################
#
diff --git a/HEN_HOUSE/egs++/geometry/egs_box/egs_box.cpp b/HEN_HOUSE/egs++/geometry/egs_box/egs_box.cpp
index 32b9a6390..a84c41f21 100644
--- a/HEN_HOUSE/egs++/geometry/egs_box/egs_box.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_box/egs_box.cpp
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Frederic Tessier
+# Marc Chamberland
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_cd_geometry/egs_cd_geometry.cpp b/HEN_HOUSE/egs++/geometry/egs_cd_geometry/egs_cd_geometry.cpp
index 718853b39..4a4660e02 100644
--- a/HEN_HOUSE/egs++/geometry/egs_cd_geometry/egs_cd_geometry.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_cd_geometry/egs_cd_geometry.cpp
@@ -25,6 +25,7 @@
#
# Contributors: Frederic Tessier
# Ernesto Mainegra-Hing
+# Marc Chamberland
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_cd_geometry/egs_cd_geometry.h b/HEN_HOUSE/egs++/geometry/egs_cd_geometry/egs_cd_geometry.h
index 228ef2975..0ea4d3c08 100644
--- a/HEN_HOUSE/egs++/geometry/egs_cd_geometry/egs_cd_geometry.h
+++ b/HEN_HOUSE/egs++/geometry/egs_cd_geometry/egs_cd_geometry.h
@@ -26,6 +26,7 @@
# Contributors: Ernesto Mainegra-Hing
# Frederic Tessier
# Reid Townson
+# Marc Chamberland
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_cones/egs_cones.cpp b/HEN_HOUSE/egs++/geometry/egs_cones/egs_cones.cpp
index b58ec5d8c..55d1af03d 100644
--- a/HEN_HOUSE/egs++/geometry/egs_cones/egs_cones.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_cones/egs_cones.cpp
@@ -24,6 +24,9 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Frederic Tessier
+# Marc Chamberland
+# Randle Taylor
+# Ernesto Mainegra-Hing
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_cones/egs_cones.h b/HEN_HOUSE/egs++/geometry/egs_cones/egs_cones.h
index 33da38abf..7c976c0af 100644
--- a/HEN_HOUSE/egs++/geometry/egs_cones/egs_cones.h
+++ b/HEN_HOUSE/egs++/geometry/egs_cones/egs_cones.h
@@ -26,6 +26,8 @@
# Contributors: Frederic Tessier
# Ernesto Mainegra-Hing
# Reid Townson
+# Marc Chamberland
+# Randle Taylor
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_conez/egs_conez.cpp b/HEN_HOUSE/egs++/geometry/egs_conez/egs_conez.cpp
index 8832242b1..8ae3fa39c 100644
--- a/HEN_HOUSE/egs++/geometry/egs_conez/egs_conez.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_conez/egs_conez.cpp
@@ -23,7 +23,8 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Marc Chamberland
+# Frederic Tessier
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_cylinders/egs_cylinders.cpp b/HEN_HOUSE/egs++/geometry/egs_cylinders/egs_cylinders.cpp
index 77095519a..1f9ea3a2b 100644
--- a/HEN_HOUSE/egs++/geometry/egs_cylinders/egs_cylinders.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_cylinders/egs_cylinders.cpp
@@ -24,6 +24,8 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Frederic Tessier
+# Marc Chamberland
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_cylinders/egs_cylinders.h b/HEN_HOUSE/egs++/geometry/egs_cylinders/egs_cylinders.h
index f171c7c80..4717fef0c 100644
--- a/HEN_HOUSE/egs++/geometry/egs_cylinders/egs_cylinders.h
+++ b/HEN_HOUSE/egs++/geometry/egs_cylinders/egs_cylinders.h
@@ -26,6 +26,8 @@
# Contributors: Ernesto Mainegra-Hing
# Reid Townson
# Hubert Ho
+# Marc Chamberland
+# Max Orok
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_elliptic_cylinders/egs_elliptic_cylinders.cpp b/HEN_HOUSE/egs++/geometry/egs_elliptic_cylinders/egs_elliptic_cylinders.cpp
index f98b537e0..3ff6e585e 100644
--- a/HEN_HOUSE/egs++/geometry/egs_elliptic_cylinders/egs_elliptic_cylinders.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_elliptic_cylinders/egs_elliptic_cylinders.cpp
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2006
#
-# Contributors:
+# Contributors: Marc Chamberland
#
###############################################################################
#
diff --git a/HEN_HOUSE/egs++/geometry/egs_elliptic_cylinders/egs_elliptic_cylinders.h b/HEN_HOUSE/egs++/geometry/egs_elliptic_cylinders/egs_elliptic_cylinders.h
index 8a6e99421..7e0d64aaa 100644
--- a/HEN_HOUSE/egs++/geometry/egs_elliptic_cylinders/egs_elliptic_cylinders.h
+++ b/HEN_HOUSE/egs++/geometry/egs_elliptic_cylinders/egs_elliptic_cylinders.h
@@ -25,6 +25,7 @@
#
# Contributors: Reid Townson
# Hubert Ho
+# Marc Chamberland
#
###############################################################################
#
diff --git a/HEN_HOUSE/egs++/geometry/egs_genvelope/egs_envelope_geometry.cpp b/HEN_HOUSE/egs++/geometry/egs_genvelope/egs_envelope_geometry.cpp
index f94a7f468..56c869d50 100644
--- a/HEN_HOUSE/egs++/geometry/egs_genvelope/egs_envelope_geometry.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_genvelope/egs_envelope_geometry.cpp
@@ -25,6 +25,7 @@
#
# Contributors: Frederic Tessier
# Ernesto Mainegra-Hing
+# Marc Chamberland
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_glib/Makefile b/HEN_HOUSE/egs++/geometry/egs_glib/Makefile
index 07357b86a..2b4c53739 100644
--- a/HEN_HOUSE/egs++/geometry/egs_glib/Makefile
+++ b/HEN_HOUSE/egs++/geometry/egs_glib/Makefile
@@ -27,6 +27,7 @@
# Contributors: Marc Chamberland
# Rowan Thomson
# Dave Rogers
+# Reid Townson
#
###############################################################################
@@ -56,4 +57,3 @@ ndgeom:
clean:
$(REMOVE) $(ABS_DSO)$(libpre)$(library)$(libext) $(DSO2)$(library).$(obje)
-
diff --git a/HEN_HOUSE/egs++/geometry/egs_gstack/egs_stack_geometry.cpp b/HEN_HOUSE/egs++/geometry/egs_gstack/egs_stack_geometry.cpp
index ef48af04a..3bd1cb47c 100644
--- a/HEN_HOUSE/egs++/geometry/egs_gstack/egs_stack_geometry.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_gstack/egs_stack_geometry.cpp
@@ -26,6 +26,7 @@
# Contributors: Frederic Tessier
# Marc Chamberland
# Ernesto Mainegra-Hing
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_gtransformed/egs_gtransformed.cpp b/HEN_HOUSE/egs++/geometry/egs_gtransformed/egs_gtransformed.cpp
index f22ba9055..3215adc54 100644
--- a/HEN_HOUSE/egs++/geometry/egs_gtransformed/egs_gtransformed.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_gtransformed/egs_gtransformed.cpp
@@ -26,6 +26,7 @@
# Contributors: Frederic Tessier
# Ernesto Mainegra-Hing
# Hubert Ho
+# Marc Chamberland
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_iplanes/egs_iplanes.cpp b/HEN_HOUSE/egs++/geometry/egs_iplanes/egs_iplanes.cpp
index 523028c22..42b5aa5df 100644
--- a/HEN_HOUSE/egs++/geometry/egs_iplanes/egs_iplanes.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_iplanes/egs_iplanes.cpp
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Frederic Tessier
+# Marc Chamberland
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_lattice/egs_lattice.h b/HEN_HOUSE/egs++/geometry/egs_lattice/egs_lattice.h
index 95ea25620..51215d15a 100644
--- a/HEN_HOUSE/egs++/geometry/egs_lattice/egs_lattice.h
+++ b/HEN_HOUSE/egs++/geometry/egs_lattice/egs_lattice.h
@@ -23,7 +23,8 @@
#
# Author: Martin Martinov, 2019
#
-# Contributors:
+# Contributors: Frederic Tessier
+# Ernesto Mainegra-Hing
#
###############################################################################
#
diff --git a/HEN_HOUSE/egs++/geometry/egs_mesh/egs_mesh.h b/HEN_HOUSE/egs++/geometry/egs_mesh/egs_mesh.h
index 9491d0583..1e3a1e47c 100644
--- a/HEN_HOUSE/egs++/geometry/egs_mesh/egs_mesh.h
+++ b/HEN_HOUSE/egs++/geometry/egs_mesh/egs_mesh.h
@@ -21,13 +21,14 @@
#
###############################################################################
#
-# Authors: Dave Macrillo, 2020
-# Matt Ronan,
-# Nigel Vezeau,
-# Lou Thompson,
-# Max Orok
+# Authors: Dave Macrillo, 2020
+# Matt Ronan,
+# Nigel Vezeau,
+# Lou Thompson,
+# Max Orok
#
-# Contributors: Pascal Michaud
+# Contributors: Pascal Michaud
+# Reid Townson
#
###############################################################################
#
diff --git a/HEN_HOUSE/egs++/geometry/egs_nd_geometry/egs_nd_geometry.cpp b/HEN_HOUSE/egs++/geometry/egs_nd_geometry/egs_nd_geometry.cpp
index 8daf2ca5a..39ab38c6f 100644
--- a/HEN_HOUSE/egs++/geometry/egs_nd_geometry/egs_nd_geometry.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_nd_geometry/egs_nd_geometry.cpp
@@ -28,6 +28,9 @@
# Ernesto Mainegra-Hing
# Hubert Ho
# Randle Taylor
+# Manuel Stoeckl
+# Marc Chamberland
+# Martin Martinov
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_nd_geometry/egs_nd_geometry.h b/HEN_HOUSE/egs++/geometry/egs_nd_geometry/egs_nd_geometry.h
index 15ac5c716..dc1ef9ed0 100644
--- a/HEN_HOUSE/egs++/geometry/egs_nd_geometry/egs_nd_geometry.h
+++ b/HEN_HOUSE/egs++/geometry/egs_nd_geometry/egs_nd_geometry.h
@@ -28,6 +28,8 @@
# Frederic Tessier
# Reid Townson
# Randle Taylor
+# Marc Chamberland
+# Martin Martinov
#
###############################################################################
*/
@@ -371,7 +373,7 @@ class EGS_NDG_EXPORT EGS_NDGeometry : public EGS_BaseGeometry {
EGS_Float &t, int *newmed=0, EGS_Vector *normal=0) {
if (ireg >= 0) {
int itmp = ireg;
- int inext = -1, idelta, lnew_j=0;
+ int inext = -1, idelta=0, lnew_j=0;
for (int j=N-1; j>=0; j--) {
int l = itmp/n[j];
int lnew = g[j]->howfar(l,x,u,t,0,normal);
@@ -1866,7 +1868,7 @@ class EGS_NDG_EXPORT EGS_XYZRepeater : public EGS_BaseGeometry {
for (int iiz=iz-1; iiz<=iz+1; ++iiz) {
if (iiz >= 0 && iiz < nz) {
if (iix != ix || iiy != iy || iiz != iz) {
- int cell1 = iix+iiy*nx+iiz*nz;
+ int cell1 = iix+iiy*nx+iiz*nxy;
EGS_Vector tmp(x-translation[cell1]);
EGS_Float t1 = g->hownear(-1,tmp);
if (t1 < t) {
diff --git a/HEN_HOUSE/egs++/geometry/egs_octree/egs_octree.cpp b/HEN_HOUSE/egs++/geometry/egs_octree/egs_octree.cpp
index 3859be788..cc65c50b1 100644
--- a/HEN_HOUSE/egs++/geometry/egs_octree/egs_octree.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_octree/egs_octree.cpp
@@ -25,6 +25,7 @@
#
# Contributors: Iwan Kawrakow
# Hubert Ho
+# Marc Chamberland
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_octree/egs_octree.h b/HEN_HOUSE/egs++/geometry/egs_octree/egs_octree.h
index f951040c9..a62190bd4 100644
--- a/HEN_HOUSE/egs++/geometry/egs_octree/egs_octree.h
+++ b/HEN_HOUSE/egs++/geometry/egs_octree/egs_octree.h
@@ -25,6 +25,7 @@
#
# Contributors: Iwan Kawrakow
# Hubert Ho
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_planes/egs_planes.cpp b/HEN_HOUSE/egs++/geometry/egs_planes/egs_planes.cpp
index 24e4ed8d0..9e788d639 100644
--- a/HEN_HOUSE/egs++/geometry/egs_planes/egs_planes.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_planes/egs_planes.cpp
@@ -24,6 +24,8 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Frederic Tessier
+# Marc Chamberland
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_planes/egs_planes.h b/HEN_HOUSE/egs++/geometry/egs_planes/egs_planes.h
index 0c42ec099..df3340f5d 100644
--- a/HEN_HOUSE/egs++/geometry/egs_planes/egs_planes.h
+++ b/HEN_HOUSE/egs++/geometry/egs_planes/egs_planes.h
@@ -25,6 +25,7 @@
#
# Contributors: Reid Townson
# Hubert Ho
+# Marc Chamberland
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_prism/egs_prism.cpp b/HEN_HOUSE/egs++/geometry/egs_prism/egs_prism.cpp
index 8dbe78806..349a5e511 100644
--- a/HEN_HOUSE/egs++/geometry/egs_prism/egs_prism.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_prism/egs_prism.cpp
@@ -24,6 +24,8 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Frederic Tessier
+# Marc Chamberland
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_pyramid/egs_pyramid.cpp b/HEN_HOUSE/egs++/geometry/egs_pyramid/egs_pyramid.cpp
index 3b9ef20f6..311fc397e 100644
--- a/HEN_HOUSE/egs++/geometry/egs_pyramid/egs_pyramid.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_pyramid/egs_pyramid.cpp
@@ -24,6 +24,8 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Frederic Tessier
+# Marc Chamberland
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_roundrect_cylinders/egs_roundrect_cylinders.h b/HEN_HOUSE/egs++/geometry/egs_roundrect_cylinders/egs_roundrect_cylinders.h
index 8178d0873..3ebc7cfdc 100644
--- a/HEN_HOUSE/egs++/geometry/egs_roundrect_cylinders/egs_roundrect_cylinders.h
+++ b/HEN_HOUSE/egs++/geometry/egs_roundrect_cylinders/egs_roundrect_cylinders.h
@@ -25,6 +25,7 @@
#
# Contributors: Frederic Tessier
# Hubert Ho
+# Reid Townson
#
###############################################################################
#
diff --git a/HEN_HOUSE/egs++/geometry/egs_rz/Makefile b/HEN_HOUSE/egs++/geometry/egs_rz/Makefile
index d276df292..6f1415b27 100644
--- a/HEN_HOUSE/egs++/geometry/egs_rz/Makefile
+++ b/HEN_HOUSE/egs++/geometry/egs_rz/Makefile
@@ -27,6 +27,7 @@
# Contributors: Marc Chamberland
# Rowan Thomson
# Dave Rogers
+# Reid Townson
#
###############################################################################
diff --git a/HEN_HOUSE/egs++/geometry/egs_rz/egs_rz.cpp b/HEN_HOUSE/egs++/geometry/egs_rz/egs_rz.cpp
index ee02472c0..82e97990f 100644
--- a/HEN_HOUSE/egs++/geometry/egs_rz/egs_rz.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_rz/egs_rz.cpp
@@ -27,6 +27,7 @@
# Contributors: Marc Chamberland
# Rowan Thomson
# Dave Rogers
+# Martin Martinov
#
###############################################################################
#
diff --git a/HEN_HOUSE/egs++/geometry/egs_rz/egs_rz.h b/HEN_HOUSE/egs++/geometry/egs_rz/egs_rz.h
index 1186f6f58..627d52a3d 100644
--- a/HEN_HOUSE/egs++/geometry/egs_rz/egs_rz.h
+++ b/HEN_HOUSE/egs++/geometry/egs_rz/egs_rz.h
@@ -27,6 +27,7 @@
# Contributors: Marc Chamberland
# Rowan Thomson
# Dave Rogers
+# Martin Martinov
#
###############################################################################
#
diff --git a/HEN_HOUSE/egs++/geometry/egs_smart_envelope/egs_smart_envelope.cpp b/HEN_HOUSE/egs++/geometry/egs_smart_envelope/egs_smart_envelope.cpp
index b0e72b53f..0d839a9f6 100644
--- a/HEN_HOUSE/egs++/geometry/egs_smart_envelope/egs_smart_envelope.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_smart_envelope/egs_smart_envelope.cpp
@@ -25,6 +25,7 @@
#
# Contributors: Frederic Tessier
# Ernesto Mainegra-Hing
+# Marc Chamberland
#
###############################################################################
#
diff --git a/HEN_HOUSE/egs++/geometry/egs_space/egs_space.cpp b/HEN_HOUSE/egs++/geometry/egs_space/egs_space.cpp
index 89678dfb1..04c76b5e1 100644
--- a/HEN_HOUSE/egs++/geometry/egs_space/egs_space.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_space/egs_space.cpp
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Frederic Tessier
+# Marc Chamberland
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_spheres/egs_spheres.cpp b/HEN_HOUSE/egs++/geometry/egs_spheres/egs_spheres.cpp
index faa2b6d24..8d01871e1 100644
--- a/HEN_HOUSE/egs++/geometry/egs_spheres/egs_spheres.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_spheres/egs_spheres.cpp
@@ -27,6 +27,8 @@
# Frederic Tessier
# Reid Townson
# Randle Taylor
+# Marc Chamberland
+# Martin Martinov
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_spheres/egs_spheres.h b/HEN_HOUSE/egs++/geometry/egs_spheres/egs_spheres.h
index 1e9ac7499..f46ecfaad 100644
--- a/HEN_HOUSE/egs++/geometry/egs_spheres/egs_spheres.h
+++ b/HEN_HOUSE/egs++/geometry/egs_spheres/egs_spheres.h
@@ -25,6 +25,8 @@
#
# Contributors: Reid Townson
# Randle Taylor
+# Ernesto Mainegra-Hing
+# Martin Martinov
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_union/egs_union_geometry.cpp b/HEN_HOUSE/egs++/geometry/egs_union/egs_union_geometry.cpp
index ed6d7f7d1..5a6d8a698 100644
--- a/HEN_HOUSE/egs++/geometry/egs_union/egs_union_geometry.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_union/egs_union_geometry.cpp
@@ -26,6 +26,7 @@
# Contributors: Frederic Tessier
# Ernesto Mainegra-Hing
# Hubert Ho
+# Marc Chamberland
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/geometry/egs_vhp_geometry/egs_vhp_geometry.cpp b/HEN_HOUSE/egs++/geometry/egs_vhp_geometry/egs_vhp_geometry.cpp
index d144497e5..4c0f730ba 100644
--- a/HEN_HOUSE/egs++/geometry/egs_vhp_geometry/egs_vhp_geometry.cpp
+++ b/HEN_HOUSE/egs++/geometry/egs_vhp_geometry/egs_vhp_geometry.cpp
@@ -25,6 +25,7 @@
#
# Contributors: Frederic Tessier
# Hubert Ho
+# Marc Chamberland
#
###############################################################################
#
diff --git a/HEN_HOUSE/egs++/geometry/egs_vhp_geometry/egs_vhp_geometry.h b/HEN_HOUSE/egs++/geometry/egs_vhp_geometry/egs_vhp_geometry.h
index 19275d190..f82b8f6d9 100644
--- a/HEN_HOUSE/egs++/geometry/egs_vhp_geometry/egs_vhp_geometry.h
+++ b/HEN_HOUSE/egs++/geometry/egs_vhp_geometry/egs_vhp_geometry.h
@@ -26,6 +26,7 @@
# Contributors: Frederic Tessier
# Reid Townson
# Hubert Ho
+# Marc Chamberland
#
###############################################################################
#
diff --git a/HEN_HOUSE/egs++/geometry/examples/example_egs_roundrect_cylinders.geom b/HEN_HOUSE/egs++/geometry/examples/example_egs_roundrect_cylinders.geom
index 8cd9e5039..ea47575c2 100644
--- a/HEN_HOUSE/egs++/geometry/examples/example_egs_roundrect_cylinders.geom
+++ b/HEN_HOUSE/egs++/geometry/examples/example_egs_roundrect_cylinders.geom
@@ -23,7 +23,8 @@
#
# Author: Frederic Tessier, 2016
#
-# Contributors:
+# Contributors: Manuel Stoeckl
+# Reid Townson
#
###############################################################################
#
diff --git a/HEN_HOUSE/egs++/shapes/egs_circle_perpendicular/Makefile b/HEN_HOUSE/egs++/shapes/egs_circle_perpendicular/Makefile
index 5a554c70d..c7accbc67 100644
--- a/HEN_HOUSE/egs++/shapes/egs_circle_perpendicular/Makefile
+++ b/HEN_HOUSE/egs++/shapes/egs_circle_perpendicular/Makefile
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
diff --git a/HEN_HOUSE/egs++/shapes/egs_circle_perpendicular/egs_circle_perpendicular.h b/HEN_HOUSE/egs++/shapes/egs_circle_perpendicular/egs_circle_perpendicular.h
index 57e0c19d6..b95bf06f0 100644
--- a/HEN_HOUSE/egs++/shapes/egs_circle_perpendicular/egs_circle_perpendicular.h
+++ b/HEN_HOUSE/egs++/shapes/egs_circle_perpendicular/egs_circle_perpendicular.h
@@ -149,9 +149,8 @@ class EGS_CIRCLE_PERPENDICULAR_EXPORT EGS_CirclePerpendicularShape : public EGS_
EGS_Float angleBetween = std::acos(u * perpToCircle / (perpToCircle.length() * u.length()));
// We will rotate about a vector perpendicular to u and the target surface normal
- // Check against fabs(u.z) to account for both parallel and anti-parallel cases
EGS_Vector rotateAbout;
- if ((fabs(u.z) - perpToCircle.z) < epsilon) {
+ if (fabs(fabs(u.z) - perpToCircle.z) < epsilon) {
rotateAbout = perpToCircle;
}
else {
diff --git a/HEN_HOUSE/egs++/shapes/egs_polygon_shape/egs_polygon_shape.cpp b/HEN_HOUSE/egs++/shapes/egs_polygon_shape/egs_polygon_shape.cpp
index 45ba79e9b..b20d6e2ff 100644
--- a/HEN_HOUSE/egs++/shapes/egs_polygon_shape/egs_polygon_shape.cpp
+++ b/HEN_HOUSE/egs++/shapes/egs_polygon_shape/egs_polygon_shape.cpp
@@ -23,7 +23,8 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Randle Taylor
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/shapes/egs_polygon_shape/egs_polygon_shape.h b/HEN_HOUSE/egs++/shapes/egs_polygon_shape/egs_polygon_shape.h
index b88509722..f0c261247 100644
--- a/HEN_HOUSE/egs++/shapes/egs_polygon_shape/egs_polygon_shape.h
+++ b/HEN_HOUSE/egs++/shapes/egs_polygon_shape/egs_polygon_shape.h
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Randle Taylor
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/shapes/egs_shape_collection/egs_shape_collection.cpp b/HEN_HOUSE/egs++/shapes/egs_shape_collection/egs_shape_collection.cpp
index a029f9403..b825e9b5d 100644
--- a/HEN_HOUSE/egs++/shapes/egs_shape_collection/egs_shape_collection.cpp
+++ b/HEN_HOUSE/egs++/shapes/egs_shape_collection/egs_shape_collection.cpp
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Marc Chamberland
+# Randle Taylor
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/shapes/egs_voxelized_shape/egs_voxelized_shape.cpp b/HEN_HOUSE/egs++/shapes/egs_voxelized_shape/egs_voxelized_shape.cpp
index fe091b736..a8f65d8a1 100644
--- a/HEN_HOUSE/egs++/shapes/egs_voxelized_shape/egs_voxelized_shape.cpp
+++ b/HEN_HOUSE/egs++/shapes/egs_voxelized_shape/egs_voxelized_shape.cpp
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2009
#
# Contributors: Frederic Tessier
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/sources/egs_beam_source/Makefile b/HEN_HOUSE/egs++/sources/egs_beam_source/Makefile
index ba3a6d5f9..e8f523dfc 100644
--- a/HEN_HOUSE/egs++/sources/egs_beam_source/Makefile
+++ b/HEN_HOUSE/egs++/sources/egs_beam_source/Makefile
@@ -23,7 +23,8 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
+# Ernesto Mainegra-Hing
#
###############################################################################
diff --git a/HEN_HOUSE/egs++/sources/egs_beam_source/egs_beam_source.h b/HEN_HOUSE/egs++/sources/egs_beam_source/egs_beam_source.h
index 79b0a0941..08fc77f4d 100644
--- a/HEN_HOUSE/egs++/sources/egs_beam_source/egs_beam_source.h
+++ b/HEN_HOUSE/egs++/sources/egs_beam_source/egs_beam_source.h
@@ -26,6 +26,7 @@
# Contributors: Ernesto Mainegra-Hing
# Frederic Tessier
# Reid Townson
+# Blake Walters
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/sources/egs_collimated_source/egs_collimated_source.cpp b/HEN_HOUSE/egs++/sources/egs_collimated_source/egs_collimated_source.cpp
index e4c7e1e1d..144825bf0 100644
--- a/HEN_HOUSE/egs++/sources/egs_collimated_source/egs_collimated_source.cpp
+++ b/HEN_HOUSE/egs++/sources/egs_collimated_source/egs_collimated_source.cpp
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Hubert Ho
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/sources/egs_collimated_source/egs_collimated_source.h b/HEN_HOUSE/egs++/sources/egs_collimated_source/egs_collimated_source.h
index 1c7039369..03dab56d3 100644
--- a/HEN_HOUSE/egs++/sources/egs_collimated_source/egs_collimated_source.h
+++ b/HEN_HOUSE/egs++/sources/egs_collimated_source/egs_collimated_source.h
@@ -26,6 +26,7 @@
# Contributors: Ernesto Mainegra-Hing
# Reid Townson
# Hubert Ho
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/sources/egs_dynamic_source/egs_dynamic_source.h b/HEN_HOUSE/egs++/sources/egs_dynamic_source/egs_dynamic_source.h
index 81da9ff98..7fe896085 100644
--- a/HEN_HOUSE/egs++/sources/egs_dynamic_source/egs_dynamic_source.h
+++ b/HEN_HOUSE/egs++/sources/egs_dynamic_source/egs_dynamic_source.h
@@ -287,8 +287,8 @@ class EGS_DYNAMIC_SOURCE_EXPORT EGS_DynamicSource :
return (valid && source != 0);
};
- void setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun) {
- source->setSimulationChunk(nstart, nrun);
+ void setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun, int npar, int nchunk) {
+ source->setSimulationChunk(nstart, nrun, npar, nchunk);
};
protected:
diff --git a/HEN_HOUSE/egs++/sources/egs_fano_source/egs_fano_source.cpp b/HEN_HOUSE/egs++/sources/egs_fano_source/egs_fano_source.cpp
index db4475f62..285cd94f0 100644
--- a/HEN_HOUSE/egs++/sources/egs_fano_source/egs_fano_source.cpp
+++ b/HEN_HOUSE/egs++/sources/egs_fano_source/egs_fano_source.cpp
@@ -24,7 +24,7 @@
# Authors: Ernesto Mainegra-Hing, 2016
# Hugo Bouchard, 2016
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/sources/egs_fano_source/egs_fano_source.h b/HEN_HOUSE/egs++/sources/egs_fano_source/egs_fano_source.h
index 5600b671c..4e6bb1fd3 100644
--- a/HEN_HOUSE/egs++/sources/egs_fano_source/egs_fano_source.h
+++ b/HEN_HOUSE/egs++/sources/egs_fano_source/egs_fano_source.h
@@ -24,7 +24,7 @@
# Authors: Ernesto Mainegra-Hing, 2016
# Hugo Bouchard, 2016
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/sources/egs_isotropic_source/egs_isotropic_source.cpp b/HEN_HOUSE/egs++/sources/egs_isotropic_source/egs_isotropic_source.cpp
index 97cd94cbd..4f87e06f6 100644
--- a/HEN_HOUSE/egs++/sources/egs_isotropic_source/egs_isotropic_source.cpp
+++ b/HEN_HOUSE/egs++/sources/egs_isotropic_source/egs_isotropic_source.cpp
@@ -25,6 +25,9 @@
#
# Contributors: Long Zhang
# Hubert Ho
+# Randle Taylor
+# Marc Chamberland
+# Ernesto Mainegra-Hing
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/sources/egs_isotropic_source/egs_isotropic_source.h b/HEN_HOUSE/egs++/sources/egs_isotropic_source/egs_isotropic_source.h
index db050696a..d40334003 100644
--- a/HEN_HOUSE/egs++/sources/egs_isotropic_source/egs_isotropic_source.h
+++ b/HEN_HOUSE/egs++/sources/egs_isotropic_source/egs_isotropic_source.h
@@ -29,6 +29,8 @@
# Ernesto Mainegra-Hing
# Hugo Bouchard
# Hubert Ho
+# Marc Chamberland
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/sources/egs_parallel_beam/egs_parallel_beam.cpp b/HEN_HOUSE/egs++/sources/egs_parallel_beam/egs_parallel_beam.cpp
index 09009c9bf..fc12f7adc 100644
--- a/HEN_HOUSE/egs++/sources/egs_parallel_beam/egs_parallel_beam.cpp
+++ b/HEN_HOUSE/egs++/sources/egs_parallel_beam/egs_parallel_beam.cpp
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/sources/egs_phsp_source/egs_phsp_source.cpp b/HEN_HOUSE/egs++/sources/egs_phsp_source/egs_phsp_source.cpp
index 26f9904d0..63363dcd9 100644
--- a/HEN_HOUSE/egs++/sources/egs_phsp_source/egs_phsp_source.cpp
+++ b/HEN_HOUSE/egs++/sources/egs_phsp_source/egs_phsp_source.cpp
@@ -336,16 +336,29 @@ union __egs_data32 {
};
#endif
-void EGS_PhspSource::setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun) {
- if (nstart < 0 || nrun < 1 || nstart + nrun > Nparticle) {
- egsWarning("EGS_PhspSource::setSimulationChunk(): illegal attempt "
- "to set the simulation chunk between %lld and %lld ignored\n",
- nstart+1,nstart+nrun);
- return;
- }
- Nfirst = nstart+1;
- Nlast = nstart + nrun;
- Npos = nstart;
+void EGS_PhspSource::setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun, int npar, int nchunk) {
+ //determine the simulation chunk and use this to calculate first/last particles
+ //in the phase space chunk
+ EGS_I64 particlesPerChunk = Nparticle/(npar*nchunk);
+ int ichunk = nstart/nrun;
+ if (ichunk > npar*nchunk-1)
+ {
+ //remainder of histories, reuse the last chunk of the phsp
+ //there may be a more clever strategy
+ egsWarning("EGS_PhspSource: Remainder of histories will reuse the last chunk of the phase space source.\n");
+ ichunk = npar*nchunk-1;
+ }
+ Nfirst = ichunk*particlesPerChunk+1;
+ if (ichunk == npar*nchunk-1)
+ {
+ //last chunk of the phsp file, just go to the end of the file
+ Nlast = Nparticle;
+ }
+ else
+ {
+ Nlast = Nfirst-1+particlesPerChunk;
+ }
+ Npos = Nfirst-1; //we increment Npos before attempting to read a particle
istream::off_type pos = Nfirst*recl;
the_file.seekg(pos,ios::beg);
egsInformation("EGS_PhspSource: using phsp portion between %lld and %lld\n",
@@ -359,7 +372,8 @@ void EGS_PhspSource::readParticle() {
"of the chunk (%lld) but this "
"implies that uncertainty estimates will be inaccurate\n",
Nlast,Nfirst);
- the_file.seekg(recl,ios::beg);
+ istream::off_type pos = Nfirst*recl;
+ the_file.seekg(pos,ios::beg);
Nrestart++;
Npos = Nfirst;
}
diff --git a/HEN_HOUSE/egs++/sources/egs_phsp_source/egs_phsp_source.h b/HEN_HOUSE/egs++/sources/egs_phsp_source/egs_phsp_source.h
index 8d17af48d..c74b7c505 100644
--- a/HEN_HOUSE/egs++/sources/egs_phsp_source/egs_phsp_source.h
+++ b/HEN_HOUSE/egs++/sources/egs_phsp_source/egs_phsp_source.h
@@ -146,7 +146,7 @@ class EGS_PHSP_SOURCE_EXPORT EGS_PhspSource : public EGS_BaseSource {
EGS_I64 getNextParticle(EGS_RandomGenerator *rndm,
int &q, int &latch, EGS_Float &E, EGS_Float &wt,
EGS_Vector &x, EGS_Vector &u);
- void setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun);
+ void setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun, int npar, int nchunk);
EGS_Float getEmax() const {
return Emax;
};
diff --git a/HEN_HOUSE/egs++/sources/egs_radionuclide_source/egs_radionuclide_source.cpp b/HEN_HOUSE/egs++/sources/egs_radionuclide_source/egs_radionuclide_source.cpp
index b56c0a738..17b2460db 100644
--- a/HEN_HOUSE/egs++/sources/egs_radionuclide_source/egs_radionuclide_source.cpp
+++ b/HEN_HOUSE/egs++/sources/egs_radionuclide_source/egs_radionuclide_source.cpp
@@ -24,6 +24,7 @@
# Author: Reid Townson, 2016
#
# Contributors: Martin Martinov
+# Ernesto Mainegra-Hing
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/sources/egs_source_collection/egs_source_collection.cpp b/HEN_HOUSE/egs++/sources/egs_source_collection/egs_source_collection.cpp
index bc62e07f8..71deba851 100644
--- a/HEN_HOUSE/egs++/sources/egs_source_collection/egs_source_collection.cpp
+++ b/HEN_HOUSE/egs++/sources/egs_source_collection/egs_source_collection.cpp
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Marc Chamberland
+# Blake Walters
#
###############################################################################
*/
@@ -96,6 +97,8 @@ void EGS_SourceCollection::setUp(const vector &S,
description = "Invalid source collection";
if (isValid()) {
p = new EGS_Float [nsource];
+ last_flu = new EGS_Float [nsource];
+ p_group = new vector [nsource];
sources = new EGS_BaseSource* [nsource];
Emax = 0;
for (int j=0; j &S,
last_cases = new EGS_I64 [ nsource ];
for (int i=0; i
+
#ifdef WIN32
#ifdef BUILD_SOURCE_COLLECTION_DLL
@@ -148,6 +151,8 @@ class EGS_SOURCE_COLLECTION_EXPORT EGS_SourceCollection :
delete table;
delete [] p;
delete [] last_cases;
+ delete [] last_flu;
+ delete [] p_group;
}
};
@@ -158,6 +163,21 @@ class EGS_SOURCE_COLLECTION_EXPORT EGS_SourceCollection :
EGS_I64 this_case = sources[j]->getNextParticle(rndm,q,latch,E,wt,x,u);
count += this_case - last_cases[j];
last_cases[j] = this_case;
+ for (int i=0; igetFluence() > last_flu[i]) {
+ if (std::find(p_group[i].begin(), p_group[i].end(), j) == p_group[i].end()) {
+ p_group[i].push_back(j);
+ p_group[j].push_back(i);
+ }
+ //set last_case for this source equal to that for source j
+ last_cases[i]=last_cases[j];
+ }
+ last_flu[i] = sources[i]->getFluence();
+ }
return count;
};
EGS_Float getEmax() const {
@@ -166,7 +186,18 @@ class EGS_SOURCE_COLLECTION_EXPORT EGS_SourceCollection :
EGS_Float getFluence() const {
EGS_Float flu = 0;
for (int j=0; jgetFluence();
+ EGS_Float p_tot=p[j];
+ for (int i=0; igetFluence()/norm;
}
return flu;
};
@@ -186,6 +217,11 @@ class EGS_SOURCE_COLLECTION_EXPORT EGS_SourceCollection :
return res;
}
data << " ";
+ for (int i=0; istoreState(data)) {
return false;
}
@@ -206,9 +242,18 @@ class EGS_SOURCE_COLLECTION_EXPORT EGS_SourceCollection :
if (!res) {
return res;
}
+ EGS_I64 tmp_int;
+ data >> tmp_int;
+ while (tmp_int != -1) {
+ if (std::find(p_group[j].begin(), p_group[j].end(), tmp_int) == p_group[j].end()) {
+ p_group[j].push_back(tmp_int);
+ }
+ data >> tmp_int;
+ }
if (!sources[j]->setState(data)) {
return false;
}
+ last_flu[j]=sources[j]->getFluence();
}
return true;
}
@@ -218,6 +263,7 @@ class EGS_SOURCE_COLLECTION_EXPORT EGS_SourceCollection :
count = 0;
for (int j=0; jresetCounter();
}
};
@@ -239,10 +285,20 @@ class EGS_SOURCE_COLLECTION_EXPORT EGS_SourceCollection :
return res;
}
last_cases[j] += tmp;
+ EGS_I64 tmp_int;
+ data_in >> tmp_int;
+ while (tmp_int != -1) {
+ if (std::find(p_group[j].begin(), p_group[j].end(), tmp_int) == p_group[j].end()) {
+ p_group[j].push_back(tmp_int);
+ }
+ data_in >> tmp_int;
+ }
if (!sources[j]->addState(data_in)) {
return false;
}
+ last_flu[j]=sources[j]->getFluence();
}
+ i_add = true;
return true;
};
@@ -250,9 +306,9 @@ class EGS_SOURCE_COLLECTION_EXPORT EGS_SourceCollection :
return (nsource > 0);
};
- void setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun) {
+ void setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun, int npar, int nchunk) {
for (int j=0; jsetSimulationChunk(nstart, nrun);
+ sources[j]->setSimulationChunk(nstart, nrun, npar, nchunk);
}
};
@@ -263,8 +319,11 @@ class EGS_SOURCE_COLLECTION_EXPORT EGS_SourceCollection :
EGS_SimpleAliasTable *table; //!< Alias table for randomly picking a source
EGS_I64 *last_cases;//!< Last case returned from each source
EGS_Float *p; //!< The probabilities
+ EGS_Float *last_flu; //!< Saved value of source_flu
EGS_Float Emax; //!< Maximum energy (max of s[j]->getEmax()).
EGS_I64 count; //!< Independent particles delivered
+ vector *p_group; //!< Vector of sources using the same base source
+ bool i_add; //!< Set to true if parallel results have been combined
void setUp(const vector &S, const vector &);
diff --git a/HEN_HOUSE/egs++/sources/egs_transformed_source/egs_transformed_source.h b/HEN_HOUSE/egs++/sources/egs_transformed_source/egs_transformed_source.h
index 86eaeda10..2b329586d 100644
--- a/HEN_HOUSE/egs++/sources/egs_transformed_source/egs_transformed_source.h
+++ b/HEN_HOUSE/egs++/sources/egs_transformed_source/egs_transformed_source.h
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Reid Townson
+# Blake Walters
#
###############################################################################
*/
@@ -186,8 +187,8 @@ class EGS_TRANSFORMED_SOURCE_EXPORT EGS_TransformedSource :
return (source != 0);
};
- void setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun) {
- source->setSimulationChunk(nstart, nrun);
+ void setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun, int npar, int nchunk) {
+ source->setSimulationChunk(nstart, nrun, npar, nchunk);
};
protected:
diff --git a/HEN_HOUSE/egs++/sources/iaea_phsp_source/iaea_phsp_source.cpp b/HEN_HOUSE/egs++/sources/iaea_phsp_source/iaea_phsp_source.cpp
index b691b15e6..515b9f90e 100644
--- a/HEN_HOUSE/egs++/sources/iaea_phsp_source/iaea_phsp_source.cpp
+++ b/HEN_HOUSE/egs++/sources/iaea_phsp_source/iaea_phsp_source.cpp
@@ -423,16 +423,29 @@ union __egs_data32 {
};
#endif
-void IAEA_PhspSource::setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun) {
- if (nstart < 0 || nrun < 1 || nstart + nrun > Nparticle) {
- egsWarning("IAEA_PhspSource::setSimulationChunk(): illegal attempt "
- "to set the simulation chunk between %lld and %lld ignored\n",
- nstart+1,nstart+nrun);
- return;
- }
- Nfirst = nstart+1;
- Nlast = nstart + nrun;
- Npos = nstart;
+void IAEA_PhspSource::setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun, int npar, int nchunk) {
+ //determine the simulation chunk and use this to calculate first/last particles
+ //in the phase space chunk
+ EGS_I64 particlesPerChunk = Nparticle/(npar*nchunk);
+ int ichunk = nstart/nrun;
+ if (ichunk > npar*nchunk-1)
+ {
+ //remainder of histories, reuse the last chunk of the phsp
+ //there may be a more clever strategy
+ egsInformation("IAEA_PhspSource: Remainder of histories will reuse the last chunk of the phase space source.\n");
+ ichunk = npar*nchunk-1;
+ }
+ Nfirst = ichunk*particlesPerChunk+1;
+ if (ichunk == npar*nchunk-1)
+ {
+ //last chunk of the phsp file, just go to the end of the file
+ Nlast = Nparticle;
+ }
+ else
+ {
+ Nlast = Nfirst-1+particlesPerChunk;
+ }
+ Npos = Nfirst-1;
iaea_set_record(&iaea_fileid,&Nfirst,&iaea_iostat);
if (iaea_iostat<0) {
egsWarning("IAEA_PhspSource::setSimulationChunk(): error setting phase space chunk\n");
diff --git a/HEN_HOUSE/egs++/sources/iaea_phsp_source/iaea_phsp_source.h b/HEN_HOUSE/egs++/sources/iaea_phsp_source/iaea_phsp_source.h
index bc94f0356..7633ceece 100644
--- a/HEN_HOUSE/egs++/sources/iaea_phsp_source/iaea_phsp_source.h
+++ b/HEN_HOUSE/egs++/sources/iaea_phsp_source/iaea_phsp_source.h
@@ -152,7 +152,7 @@ class IAEA_PHSP_SOURCE_EXPORT IAEA_PhspSource : public EGS_BaseSource {
EGS_I64 getNextParticle(EGS_RandomGenerator *rndm,
int &q, int &latch, EGS_Float &E, EGS_Float &wt,
EGS_Vector &x, EGS_Vector &u);
- void setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun);
+ void setSimulationChunk(EGS_I64 nstart, EGS_I64 nrun, int npar, int nchunk);
EGS_Float getEmax() const {
return Emax;
};
diff --git a/HEN_HOUSE/egs++/view/clippingplanes.cpp b/HEN_HOUSE/egs++/view/clippingplanes.cpp
index 249443125..348c1d65b 100644
--- a/HEN_HOUSE/egs++/view/clippingplanes.cpp
+++ b/HEN_HOUSE/egs++/view/clippingplanes.cpp
@@ -23,7 +23,10 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors: Manuel Stoeckl, Ernesto Mainegra-Hing
+# Contributors: Manuel Stoeckl
+# Ernesto Mainegra-Hing
+# Cody Crewson
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/view/clippingplanes.h b/HEN_HOUSE/egs++/view/clippingplanes.h
index a0ec2d036..4b9c42b2f 100644
--- a/HEN_HOUSE/egs++/view/clippingplanes.h
+++ b/HEN_HOUSE/egs++/view/clippingplanes.h
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Manuel Stoeckl
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/view/clippingplanes.ui b/HEN_HOUSE/egs++/view/clippingplanes.ui
index 1b3a6085b..5cf529999 100644
--- a/HEN_HOUSE/egs++/view/clippingplanes.ui
+++ b/HEN_HOUSE/egs++/view/clippingplanes.ui
@@ -26,6 +26,10 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Ernesto Mainegra-Hing
+# Frederic Tessier
+# Manuel Stoeckl
+# Reid Townson
+# Manuel Stoeckl
#
###############################################################################
diff --git a/HEN_HOUSE/egs++/view/egs_track_view.cpp b/HEN_HOUSE/egs++/view/egs_track_view.cpp
index 02660c6f7..a37cbb9eb 100644
--- a/HEN_HOUSE/egs++/view/egs_track_view.cpp
+++ b/HEN_HOUSE/egs++/view/egs_track_view.cpp
@@ -26,6 +26,8 @@
# Contributors: Iwan Kawrakow
# Frederic Tessier
# Ernesto Mainegra-Hing
+# Manuel Stoeckl
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/view/egs_track_view.h b/HEN_HOUSE/egs++/view/egs_track_view.h
index 6cd0e3565..3239b43ee 100644
--- a/HEN_HOUSE/egs++/view/egs_track_view.h
+++ b/HEN_HOUSE/egs++/view/egs_track_view.h
@@ -25,6 +25,8 @@
#
# Contributors: Iwan Kawrakow
# Frederic Tessier
+# Manuel Stoeckl
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/view/egs_visualizer.cpp b/HEN_HOUSE/egs++/view/egs_visualizer.cpp
index 662a269e8..22c360503 100644
--- a/HEN_HOUSE/egs++/view/egs_visualizer.cpp
+++ b/HEN_HOUSE/egs++/view/egs_visualizer.cpp
@@ -24,6 +24,8 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Frederic Tessier
+# Manuel Stoeckl
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/view/egs_visualizer.h b/HEN_HOUSE/egs++/view/egs_visualizer.h
index f7f257f93..da38b5afc 100644
--- a/HEN_HOUSE/egs++/view/egs_visualizer.h
+++ b/HEN_HOUSE/egs++/view/egs_visualizer.h
@@ -24,6 +24,8 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Frederic Tessier
+# Manuel Stoeckl
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/view/image_window.cpp b/HEN_HOUSE/egs++/view/image_window.cpp
index 8c6ed5fe1..4035b69e2 100644
--- a/HEN_HOUSE/egs++/view/image_window.cpp
+++ b/HEN_HOUSE/egs++/view/image_window.cpp
@@ -26,6 +26,7 @@
# Contributors: Frederic Tessier
# Manuel Stoeckl
# Reid Townson
+# Max Orok
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/view/image_window.h b/HEN_HOUSE/egs++/view/image_window.h
index 38d082fed..cee5e71c3 100644
--- a/HEN_HOUSE/egs++/view/image_window.h
+++ b/HEN_HOUSE/egs++/view/image_window.h
@@ -1,3 +1,4 @@
+
/*
###############################################################################
#
@@ -25,6 +26,7 @@
#
# Contributors: Frederic Tessier
# Manuel Stoeckl
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/view/main.cpp b/HEN_HOUSE/egs++/view/main.cpp
index 3263198a0..3a03479ef 100644
--- a/HEN_HOUSE/egs++/view/main.cpp
+++ b/HEN_HOUSE/egs++/view/main.cpp
@@ -24,6 +24,10 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Frederic Tessier
+# Manuel Stoeckl
+# Ernesto Mainegra-Hing
+# Cody Crewson
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/view/renderworker.cpp b/HEN_HOUSE/egs++/view/renderworker.cpp
index eda5eb17c..306d92250 100644
--- a/HEN_HOUSE/egs++/view/renderworker.cpp
+++ b/HEN_HOUSE/egs++/view/renderworker.cpp
@@ -23,6 +23,8 @@
#
# Author: Manuel Stoeckl, 2015
#
+# Contributors: Reid Townson
+#
###############################################################################
*/
@@ -340,4 +342,3 @@ struct RenderResults RenderWorker::renderSync(EGS_BaseGeometry *g, struct Render
return r;
}
-
diff --git a/HEN_HOUSE/egs++/view/renderworker.h b/HEN_HOUSE/egs++/view/renderworker.h
index b65ef573d..ed11fe080 100644
--- a/HEN_HOUSE/egs++/view/renderworker.h
+++ b/HEN_HOUSE/egs++/view/renderworker.h
@@ -23,6 +23,8 @@
#
# Author: Manuel Stoeckl, 2015
#
+# Contributors: Reid Townson
+#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/view/saveimage.ui b/HEN_HOUSE/egs++/view/saveimage.ui
index 697a7673d..e9dec0148 100644
--- a/HEN_HOUSE/egs++/view/saveimage.ui
+++ b/HEN_HOUSE/egs++/view/saveimage.ui
@@ -25,6 +25,7 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Frederic Tessier
+# Manuel Stoeckl
#
###############################################################################
diff --git a/HEN_HOUSE/egs++/view/view.pro b/HEN_HOUSE/egs++/view/view.pro
index af1a8c9ce..4dbc8ab15 100644
--- a/HEN_HOUSE/egs++/view/view.pro
+++ b/HEN_HOUSE/egs++/view/view.pro
@@ -24,6 +24,10 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Ernesto Mainegra-Hing
+# Frederic Tessier
+# Cody Crewson
+# Manuel Stoeckl
+# Reid Townson
#
###############################################################################
@@ -103,5 +107,3 @@ greaterThan(QMAKE_GCC_MAJOR_VERSION, 4) {
UI_DIR = .ui/$$my_machine
MOC_DIR = .moc/$$my_machine
OBJECTS_DIR = .obj/$$my_machine
-
-
diff --git a/HEN_HOUSE/egs++/view/viewcontrol.h b/HEN_HOUSE/egs++/view/viewcontrol.h
index 13c7d0e76..9d594683e 100644
--- a/HEN_HOUSE/egs++/view/viewcontrol.h
+++ b/HEN_HOUSE/egs++/view/viewcontrol.h
@@ -26,6 +26,7 @@
# Contributors: Frederic Tessier
# Ernesto Mainegra-Hing
# Manuel Stoeckl
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/egs++/view/viewcontrol.ui b/HEN_HOUSE/egs++/view/viewcontrol.ui
index bec3933d2..04af2e65c 100644
--- a/HEN_HOUSE/egs++/view/viewcontrol.ui
+++ b/HEN_HOUSE/egs++/view/viewcontrol.ui
@@ -27,6 +27,8 @@
#
# Contributors: Ernesto Mainegra-Hing
# Frederic Tessier
+# Manuel Stoeckl
+# Reid Townson
#
###############################################################################
diff --git a/HEN_HOUSE/gui/egs_configure/Makefile b/HEN_HOUSE/gui/egs_configure/Makefile
index 9f82fbbf7..e55913083 100644
--- a/HEN_HOUSE/gui/egs_configure/Makefile
+++ b/HEN_HOUSE/gui/egs_configure/Makefile
@@ -21,7 +21,7 @@
#
###############################################################################
#
-# Author: Ernesto Mainegra, 2015
+# Author: Ernesto Mainegra-Hing, 2015
#
# Contributors:
#
diff --git a/HEN_HOUSE/gui/egs_configure/egs_beam_install.pro b/HEN_HOUSE/gui/egs_configure/egs_beam_install.pro
index 296c5fcf4..54b7a961f 100644
--- a/HEN_HOUSE/gui/egs_configure/egs_beam_install.pro
+++ b/HEN_HOUSE/gui/egs_configure/egs_beam_install.pro
@@ -21,9 +21,11 @@
#
###############################################################################
#
-# Author: Ernesto Mainegra, 2015
+# Author: Ernesto Mainegra-Hing, 2015
#
-# Contributors:
+# Contributors: Cody Crewson
+# Reid Townson
+# Ernesto Mainegra-Hing
#
###############################################################################
@@ -93,4 +95,3 @@ TEMPLATE = app
LANGUAGE = C++
QT += xml
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
-
diff --git a/HEN_HOUSE/gui/egs_configure/egs_install.h b/HEN_HOUSE/gui/egs_configure/egs_install.h
index 116e7a80f..c5ba76a90 100644
--- a/HEN_HOUSE/gui/egs_configure/egs_install.h
+++ b/HEN_HOUSE/gui/egs_configure/egs_install.h
@@ -23,7 +23,7 @@
#
# Author: Ernesto Mainegra-Hing, 2015
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_configure/egs_install_conf.cpp b/HEN_HOUSE/gui/egs_configure/egs_install_conf.cpp
index 0d496144c..09f6bc616 100644
--- a/HEN_HOUSE/gui/egs_configure/egs_install_conf.cpp
+++ b/HEN_HOUSE/gui/egs_configure/egs_install_conf.cpp
@@ -23,7 +23,7 @@
#
# Author: Ernesto Mainegra-Hing, 2015
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_configure/egs_install_env.cpp b/HEN_HOUSE/gui/egs_configure/egs_install_env.cpp
index 577ec4119..8bcde4fa8 100644
--- a/HEN_HOUSE/gui/egs_configure/egs_install_env.cpp
+++ b/HEN_HOUSE/gui/egs_configure/egs_install_env.cpp
@@ -23,7 +23,7 @@
#
# Author: Ernesto Mainegra-Hing, 2015
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_configure/egs_tools.cpp b/HEN_HOUSE/gui/egs_configure/egs_tools.cpp
index f5e73b9d6..97cb0f401 100644
--- a/HEN_HOUSE/gui/egs_configure/egs_tools.cpp
+++ b/HEN_HOUSE/gui/egs_configure/egs_tools.cpp
@@ -24,6 +24,9 @@
# Author: Ernesto Mainegra-Hing, 2003
#
# Contributors: Iwan Kawrkaow
+# Cody Crewson
+# Frederic Tessier
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_configure/egs_wizard.cpp b/HEN_HOUSE/gui/egs_configure/egs_wizard.cpp
index da01ab85f..965468585 100644
--- a/HEN_HOUSE/gui/egs_configure/egs_wizard.cpp
+++ b/HEN_HOUSE/gui/egs_configure/egs_wizard.cpp
@@ -23,7 +23,7 @@
#
# Author: Ernesto Mainegra-Hing, 2015
#
-# Contributors:
+# Contributors: Cody Crewson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_configure/egs_wizard.h b/HEN_HOUSE/gui/egs_configure/egs_wizard.h
index 47ee34bc7..275d97f76 100644
--- a/HEN_HOUSE/gui/egs_configure/egs_wizard.h
+++ b/HEN_HOUSE/gui/egs_configure/egs_wizard.h
@@ -23,7 +23,8 @@
#
# Author: Ernesto Mainegra-Hing, 2015
#
-# Contributors:
+# Contributors: Cody Crewson
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_gui/egs_compile_page.cpp b/HEN_HOUSE/gui/egs_gui/egs_compile_page.cpp
index 69f774988..b90b2777a 100644
--- a/HEN_HOUSE/gui/egs_gui/egs_compile_page.cpp
+++ b/HEN_HOUSE/gui/egs_gui/egs_compile_page.cpp
@@ -24,6 +24,8 @@
# Author: Iwan Kawrakow, 2003
#
# Contributors: Ernesto Mainegra-Hing
+# Cody Crewson
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_gui/egs_compile_page.h b/HEN_HOUSE/gui/egs_gui/egs_compile_page.h
index 32ac35b8c..8bb6bf04b 100644
--- a/HEN_HOUSE/gui/egs_gui/egs_compile_page.h
+++ b/HEN_HOUSE/gui/egs_gui/egs_compile_page.h
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2003
#
# Contributors: Ernesto Mainegra-Hing
+# Cody Crewson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_gui/egs_configuration_page.cpp b/HEN_HOUSE/gui/egs_gui/egs_configuration_page.cpp
index cc1100b8b..0f47f6c47 100644
--- a/HEN_HOUSE/gui/egs_gui/egs_configuration_page.cpp
+++ b/HEN_HOUSE/gui/egs_gui/egs_configuration_page.cpp
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2003
#
# Contributors: Ernesto Mainegra-Hing
+# Cody Crewson
#
###############################################################################
*/
@@ -212,5 +213,3 @@ void EGS_ConfigurationPage::selectEgsHome() {
setEgsHome(s); le_egshome->setText(egsHome());
}
}
-
-
diff --git a/HEN_HOUSE/gui/egs_gui/egs_configuration_page.h b/HEN_HOUSE/gui/egs_gui/egs_configuration_page.h
index 69b02c44c..7f10067fe 100644
--- a/HEN_HOUSE/gui/egs_gui/egs_configuration_page.h
+++ b/HEN_HOUSE/gui/egs_gui/egs_configuration_page.h
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2003
#
# Contributors: Ernesto Mainegra-Hing
+# Cody Crewson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_gui/egs_gui.pro b/HEN_HOUSE/gui/egs_gui/egs_gui.pro
index f95c9be6d..9effcb8ca 100644
--- a/HEN_HOUSE/gui/egs_gui/egs_gui.pro
+++ b/HEN_HOUSE/gui/egs_gui/egs_gui.pro
@@ -25,6 +25,8 @@
#
# Contributors: Ernesto Mainegra-Hing
# Frederic Tessier
+# Cody Crewson
+# Reid Townson
#
###############################################################################
diff --git a/HEN_HOUSE/gui/egs_gui/egs_gui_widget.cpp b/HEN_HOUSE/gui/egs_gui/egs_gui_widget.cpp
index bc5051509..688f3a6ae 100644
--- a/HEN_HOUSE/gui/egs_gui/egs_gui_widget.cpp
+++ b/HEN_HOUSE/gui/egs_gui/egs_gui_widget.cpp
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2003
#
# Contributors: Ernesto Mainegra-Hing
+# Cody Crewson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_gui/egs_gui_widget.h b/HEN_HOUSE/gui/egs_gui/egs_gui_widget.h
index bd79072bb..5d17ee182 100644
--- a/HEN_HOUSE/gui/egs_gui/egs_gui_widget.h
+++ b/HEN_HOUSE/gui/egs_gui/egs_gui_widget.h
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2003
#
# Contributors: Ernesto Mainegra-Hing
+# Cody Crewson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_gui/egs_run_page.cpp b/HEN_HOUSE/gui/egs_gui/egs_run_page.cpp
index 6a1397803..d9f3916b9 100644
--- a/HEN_HOUSE/gui/egs_gui/egs_run_page.cpp
+++ b/HEN_HOUSE/gui/egs_gui/egs_run_page.cpp
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2003
#
# Contributors: Ernesto Mainegra-Hing
+# Cody Crewson
#
###############################################################################
*/
@@ -717,4 +718,3 @@ bool EGS_RunPage::getVariable(const QString &from, const QString &what,
}
return false;
}
-
diff --git a/HEN_HOUSE/gui/egs_gui/egs_run_page.h b/HEN_HOUSE/gui/egs_gui/egs_run_page.h
index e2f1d70c1..c7987a5ed 100644
--- a/HEN_HOUSE/gui/egs_gui/egs_run_page.h
+++ b/HEN_HOUSE/gui/egs_gui/egs_run_page.h
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2003
#
# Contributors: Ernesto Mainegra-Hing
+# Cody Crewson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_gui/main.cpp b/HEN_HOUSE/gui/egs_gui/main.cpp
index fcc1d9c0c..206287e52 100644
--- a/HEN_HOUSE/gui/egs_gui/main.cpp
+++ b/HEN_HOUSE/gui/egs_gui/main.cpp
@@ -24,6 +24,8 @@
# Author: Iwan Kawrakow, 2003
#
# Contributors: Ernesto Mainegra-Hing
+# Cody Crewson
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_gui/main_widget.cpp b/HEN_HOUSE/gui/egs_gui/main_widget.cpp
index eb1cff9b4..ba13f502a 100644
--- a/HEN_HOUSE/gui/egs_gui/main_widget.cpp
+++ b/HEN_HOUSE/gui/egs_gui/main_widget.cpp
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2003
#
# Contributors: Ernesto Mainegra-Hing
+# Cody Crewson
#
###############################################################################
*/
@@ -287,4 +288,3 @@ void EGS_MainWidget::changePage(QListWidgetItem *item,QListWidgetItem * previous
else qDebug("Unknow page %s",item->text().toLatin1());
#endif
}
-
diff --git a/HEN_HOUSE/gui/egs_gui/main_widget.h b/HEN_HOUSE/gui/egs_gui/main_widget.h
index eb51f2f19..f7e75e1ef 100644
--- a/HEN_HOUSE/gui/egs_gui/main_widget.h
+++ b/HEN_HOUSE/gui/egs_gui/main_widget.h
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2003
#
# Contributors: Ernesto Mainegra-Hing
+# Cody Crewson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_gui/pegs_page.cpp b/HEN_HOUSE/gui/egs_gui/pegs_page.cpp
index 1e1fbeed1..c6b4ad4d2 100644
--- a/HEN_HOUSE/gui/egs_gui/pegs_page.cpp
+++ b/HEN_HOUSE/gui/egs_gui/pegs_page.cpp
@@ -25,6 +25,7 @@
#
# Contributors: Blake Walters
# Reid Townson
+# Cody Crewson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_gui/pegs_page.ui b/HEN_HOUSE/gui/egs_gui/pegs_page.ui
index 4b58dd08f..f996b3207 100644
--- a/HEN_HOUSE/gui/egs_gui/pegs_page.ui
+++ b/HEN_HOUSE/gui/egs_gui/pegs_page.ui
@@ -26,6 +26,7 @@
# Author: Iwan Kawrakow, 2003
#
# Contributors: Ernesto Mainegra-Hing
+# Blake Walters
#
###############################################################################
diff --git a/HEN_HOUSE/gui/egs_gui/pegs_runoutput.cpp b/HEN_HOUSE/gui/egs_gui/pegs_runoutput.cpp
index ff99dc39d..78daa16be 100644
--- a/HEN_HOUSE/gui/egs_gui/pegs_runoutput.cpp
+++ b/HEN_HOUSE/gui/egs_gui/pegs_runoutput.cpp
@@ -23,7 +23,7 @@
#
# Author: Ernesto Mainegra-Hing, 2015
#
-# Contributors:
+# Contributors: Blake Walters
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_inprz/egs_inprz.pro b/HEN_HOUSE/gui/egs_inprz/egs_inprz.pro
index 936e66053..8e6f65df9 100644
--- a/HEN_HOUSE/gui/egs_inprz/egs_inprz.pro
+++ b/HEN_HOUSE/gui/egs_inprz/egs_inprz.pro
@@ -25,6 +25,8 @@
#
# Contributors: Iwan Kawrakow
# Blake Walters
+# Cody Crewson
+# Reid Townson
#
###############################################################################
@@ -136,4 +138,3 @@ FORMS = ui/inputRZ.ui \
TEMPLATE =app
INCLUDEPATH += include ui ../egs_gui
LANGUAGE = C++
-
diff --git a/HEN_HOUSE/gui/egs_inprz/include/executiondlgImpl.h b/HEN_HOUSE/gui/egs_inprz/include/executiondlgImpl.h
index 434e7dbc3..cfc3ddaf7 100644
--- a/HEN_HOUSE/gui/egs_inprz/include/executiondlgImpl.h
+++ b/HEN_HOUSE/gui/egs_inprz/include/executiondlgImpl.h
@@ -24,6 +24,8 @@
# Author: Ernesto Mainegra-Hing, 2002
#
# Contributors: Blake Walters
+# Cody Crewson
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_inprz/include/inputRZImpl.h b/HEN_HOUSE/gui/egs_inprz/include/inputRZImpl.h
index 0180adc4d..aeae173d9 100644
--- a/HEN_HOUSE/gui/egs_inprz/include/inputRZImpl.h
+++ b/HEN_HOUSE/gui/egs_inprz/include/inputRZImpl.h
@@ -25,6 +25,8 @@
#
# Contributors: Iwan Kawrakow
# Blake Walters
+# Cody Crewson
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_inprz/include/tools.h b/HEN_HOUSE/gui/egs_inprz/include/tools.h
index 5584d8039..8a136f672 100644
--- a/HEN_HOUSE/gui/egs_inprz/include/tools.h
+++ b/HEN_HOUSE/gui/egs_inprz/include/tools.h
@@ -24,6 +24,7 @@
# Author: Ernesto Mainegra-Hing, 2003
#
# Contributors: Blake Walters
+# Cody Crewson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_inprz/include/tooltips.h b/HEN_HOUSE/gui/egs_inprz/include/tooltips.h
index 15027ac7d..bfc185d81 100644
--- a/HEN_HOUSE/gui/egs_inprz/include/tooltips.h
+++ b/HEN_HOUSE/gui/egs_inprz/include/tooltips.h
@@ -446,7 +446,7 @@ static const char* sources[] = {
"\nelse treated with Klein-Nishina. Make sure to turn it on for" \
"\nlow energy applications. Default is On."
#define PE_ANG_SAMPLING "If Off, photo-electrons get direction of `mother' photon," \
- "\nelse Sauter's formula used (which is, striktly speaking," \
+ "\nelse Sauter's formula used (which is, strictly speaking," \
"\nvalid only for K-shell photo-absorption)."
#define RAYLEIGH_SCAT "Turns on/off coherent (Rayleigh) scattering." \
@@ -585,4 +585,3 @@ static const char* sources[] = {
"\nto collision stopping powers. Superseded if a density correction file is specified."
#endif
-
diff --git a/HEN_HOUSE/gui/egs_inprz/src/eventfilter.cpp b/HEN_HOUSE/gui/egs_inprz/src/eventfilter.cpp
index 91226f7d1..66998eb04 100644
--- a/HEN_HOUSE/gui/egs_inprz/src/eventfilter.cpp
+++ b/HEN_HOUSE/gui/egs_inprz/src/eventfilter.cpp
@@ -24,6 +24,7 @@
# Author: Ernesto Mainegra-Hing, 2001
#
# Contributors: Blake Walters
+# Cody Crewson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_inprz/src/executiondlgImpl.cpp b/HEN_HOUSE/gui/egs_inprz/src/executiondlgImpl.cpp
index f5eb76eaa..ceebe21ae 100644
--- a/HEN_HOUSE/gui/egs_inprz/src/executiondlgImpl.cpp
+++ b/HEN_HOUSE/gui/egs_inprz/src/executiondlgImpl.cpp
@@ -24,6 +24,8 @@
# Author: Ernesto Mainegra-Hing, 2002
#
# Contributors: Blake Walters
+# Cody Crewson
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_inprz/src/inputRZForm.cpp b/HEN_HOUSE/gui/egs_inprz/src/inputRZForm.cpp
index e3cd39a06..d4c3025bc 100644
--- a/HEN_HOUSE/gui/egs_inprz/src/inputRZForm.cpp
+++ b/HEN_HOUSE/gui/egs_inprz/src/inputRZForm.cpp
@@ -26,6 +26,8 @@
# Contributors: Iwan Kawrakow
# Frederic Tessier
# Blake Walters
+# Cody Crewson
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_inprz/src/inputRZImpl.cpp b/HEN_HOUSE/gui/egs_inprz/src/inputRZImpl.cpp
index 05687cd20..75ec69b92 100644
--- a/HEN_HOUSE/gui/egs_inprz/src/inputRZImpl.cpp
+++ b/HEN_HOUSE/gui/egs_inprz/src/inputRZImpl.cpp
@@ -25,6 +25,8 @@
#
# Contributors: Iwan Kawrakow
# Blake Walters
+# Cody Crewson
+# Reid Townson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_inprz/src/mainRZ.cpp b/HEN_HOUSE/gui/egs_inprz/src/mainRZ.cpp
index 2c2200186..b53a79bf9 100644
--- a/HEN_HOUSE/gui/egs_inprz/src/mainRZ.cpp
+++ b/HEN_HOUSE/gui/egs_inprz/src/mainRZ.cpp
@@ -24,6 +24,7 @@
# Author: Ernesto Mainegra-Hing, 2001
#
# Contributors: Blake Walters
+# Cody Crewson
#
###############################################################################
*/
diff --git a/HEN_HOUSE/gui/egs_inprz/src/pegslessinputs.cpp b/HEN_HOUSE/gui/egs_inprz/src/pegslessinputs.cpp
index a1be95fe9..ae08eb99d 100644
--- a/HEN_HOUSE/gui/egs_inprz/src/pegslessinputs.cpp
+++ b/HEN_HOUSE/gui/egs_inprz/src/pegslessinputs.cpp
@@ -23,7 +23,8 @@
#
# Author: Blake Walters, 2013
#
-# Contributors:
+# Contributors: Frederic Tessier
+# Ernesto Mainegra-Hing
#
###############################################################################
#
diff --git a/HEN_HOUSE/gui/egs_inprz/src/tools.cpp b/HEN_HOUSE/gui/egs_inprz/src/tools.cpp
index 9da450864..71042aebe 100644
--- a/HEN_HOUSE/gui/egs_inprz/src/tools.cpp
+++ b/HEN_HOUSE/gui/egs_inprz/src/tools.cpp
@@ -118,7 +118,7 @@ QString forwardItUp( const QString& str ){
}
/*And last, but not least, if we want to get a proper
- name according the the OS, we can use this little
+ name according to the OS, we can use this little
tool to first get the proper separator and then
remove multiplicities
@@ -486,5 +486,3 @@ void changeTextColor( QLabel* l, const QString& color )
QString s = l->text();
l->setText( ""+ s + "
");
}
-
-
diff --git a/HEN_HOUSE/iaea_phsp/Makefile b/HEN_HOUSE/iaea_phsp/Makefile
index 0378545fa..046c11008 100644
--- a/HEN_HOUSE/iaea_phsp/Makefile
+++ b/HEN_HOUSE/iaea_phsp/Makefile
@@ -23,7 +23,8 @@
#
# Author: Iwan Kawrakow, 2007
#
-# Contributors:
+# Contributors: Ernesto Mainegra-Hing
+# Blake Walters
#
###############################################################################
diff --git a/HEN_HOUSE/iaea_phsp/utilities.cpp b/HEN_HOUSE/iaea_phsp/utilities.cpp
index e9279ad44..396665e10 100644
--- a/HEN_HOUSE/iaea_phsp/utilities.cpp
+++ b/HEN_HOUSE/iaea_phsp/utilities.cpp
@@ -240,7 +240,7 @@ FILE *open_file(char *filename, const char*extension, const char *access)
// char *filename1 = new(char[len+strlen(extension)+1]);
const int filenameLength = len+strlen(extension)+1;
- char *filename1 = new(char[filenameLength]);
+ char *filename1 = new char[filenameLength];
strcpy(filename1,filename); // temp filename for appending extension
diff --git a/HEN_HOUSE/iaea_phsp/utilities.h b/HEN_HOUSE/iaea_phsp/utilities.h
index 889924a66..056352930 100644
--- a/HEN_HOUSE/iaea_phsp/utilities.h
+++ b/HEN_HOUSE/iaea_phsp/utilities.h
@@ -80,9 +80,15 @@ char *pbuffer; /* pointer to buffer for output of run info for failures */
#define __BIG_ENDIAN 4321
#define __PDP_ENDIAN 3412
+#ifndef LITTLE_ENDIAN
#define LITTLE_ENDIAN __LITTLE_ENDIAN
+#endif
+#ifndef BIG_ENDIAN
#define BIG_ENDIAN __BIG_ENDIAN
+#endif
+#ifndef PDP_ENDIAN
#define PDP_ENDIAN __PDP_ENDIAN
+#endif
#define UNKNOWN_ENDIAN 0000
#endif /* endian.h */
diff --git a/HEN_HOUSE/interface/egs_interface1.h b/HEN_HOUSE/interface/egs_interface1.h
index 9b7a3b549..6d3760a4d 100644
--- a/HEN_HOUSE/interface/egs_interface1.h
+++ b/HEN_HOUSE/interface/egs_interface1.h
@@ -97,7 +97,7 @@
functions */
#define MXAUS 35 /* there are 35 different calls to ausgab */
-/*! \brief A structure corresponding to the the EGSnrc particle stack
+/*! \brief A structure corresponding to the EGSnrc particle stack
common block \c STACK.
Note that the stack size \c MXSTACK is defined in a file
@@ -925,4 +925,3 @@ extern __extc__ void egsAusgab(EGS_I32 *iarg);
extern __extc__ void egsStartParticle(void);
#endif
-
diff --git a/HEN_HOUSE/interface/egs_interface2.h b/HEN_HOUSE/interface/egs_interface2.h
index 6baeca119..80e70e9bf 100644
--- a/HEN_HOUSE/interface/egs_interface2.h
+++ b/HEN_HOUSE/interface/egs_interface2.h
@@ -26,6 +26,7 @@
# Contributors: Ernesto Mainegra-Hing
# Blake Walters
# Reid Townson
+# Max Orok
#
###############################################################################
*/
@@ -97,7 +98,7 @@
functions */
#define MXAUS 35 /* there are 35 different calls to ausgab */
-/*! \brief A structure corresponding to the the EGSnrc particle stack
+/*! \brief A structure corresponding to the EGSnrc particle stack
common block \c STACK.
Note that the stack size \c MXSTACK is defined in a file
@@ -958,4 +959,3 @@ extern __extc__ void egsAusgab(EGS_I32 *iarg);
extern __extc__ void egsStartParticle(void);
#endif
-
diff --git a/HEN_HOUSE/makefiles/beam_makefile b/HEN_HOUSE/makefiles/beam_makefile
index d8af90782..4b148598a 100644
--- a/HEN_HOUSE/makefiles/beam_makefile
+++ b/HEN_HOUSE/makefiles/beam_makefile
@@ -25,6 +25,7 @@
#
# Contributors: Blake Walters
# Ernesto Mainegra-Hing
+# Reid Townson
#
###############################################################################
diff --git a/HEN_HOUSE/makefiles/cpp_makefile b/HEN_HOUSE/makefiles/cpp_makefile
index ed6d32423..322c06286 100644
--- a/HEN_HOUSE/makefiles/cpp_makefile
+++ b/HEN_HOUSE/makefiles/cpp_makefile
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Ernesto Mainegra-Hing
+# Reid Townson
#
###############################################################################
#
diff --git a/HEN_HOUSE/makefiles/standard_makefile b/HEN_HOUSE/makefiles/standard_makefile
index c283593ba..05248d28b 100644
--- a/HEN_HOUSE/makefiles/standard_makefile
+++ b/HEN_HOUSE/makefiles/standard_makefile
@@ -26,6 +26,7 @@
# Contributors: Blake Walters
# Jeffrey Siebers
# Ernesto Mainegra-Hing
+# Reid Townson
#
###############################################################################
#
diff --git a/HEN_HOUSE/omega/beamnrc/CMs/BLOCK_macros.mortran b/HEN_HOUSE/omega/beamnrc/CMs/BLOCK_macros.mortran
index afad2afb1..f395ceb98 100644
--- a/HEN_HOUSE/omega/beamnrc/CMs/BLOCK_macros.mortran
+++ b/HEN_HOUSE/omega/beamnrc/CMs/BLOCK_macros.mortran
@@ -27,6 +27,7 @@
" John Antolak "
" Iwan Kawrakow "
" Frederic Tessier "
+" Reid Townson "
" "
"#############################################################################"
" "
diff --git a/HEN_HOUSE/omega/beamnrc/CMs/DYNVMLC_macros.mortran b/HEN_HOUSE/omega/beamnrc/CMs/DYNVMLC_macros.mortran
index 698fc8b13..2a26463af 100644
--- a/HEN_HOUSE/omega/beamnrc/CMs/DYNVMLC_macros.mortran
+++ b/HEN_HOUSE/omega/beamnrc/CMs/DYNVMLC_macros.mortran
@@ -226,7 +226,7 @@ REPLACE{;COMIN/CM_$DYNVMLC/;} WITH {
"V>COMMON/USERDYNVMLC/
"V>
-"V> the following variables are required in the the main beam code
+"V> the following variables are required in the main beam code
"V> to set leaf positions during the simulation when dynamic and step-and-shoot
"V> (MODE_$DYNVMLC=1,2) options are used. This common block is part of
"V> the larger USER common block. It is defined as {;} in
diff --git a/HEN_HOUSE/omega/beamnrc/CMs/SLABS_cm.mortran b/HEN_HOUSE/omega/beamnrc/CMs/SLABS_cm.mortran
index f78a88a0d..2b950ee5f 100644
--- a/HEN_HOUSE/omega/beamnrc/CMs/SLABS_cm.mortran
+++ b/HEN_HOUSE/omega/beamnrc/CMs/SLABS_cm.mortran
@@ -921,7 +921,7 @@ END; "End of subroutine WHERE_AM_I_SLABS"
" *************************
"
" Returns min. distance to nearest region boundary. Used to be a macro, but
-" now the the macro calls this subroutine.
+" now the macro calls this subroutine.
"
"*****************************************************************************
diff --git a/HEN_HOUSE/omega/beamnrc/CMs/SYNCHDMLC_cm.mortran b/HEN_HOUSE/omega/beamnrc/CMs/SYNCHDMLC_cm.mortran
index 28d4a1c9a..d03077955 100644
--- a/HEN_HOUSE/omega/beamnrc/CMs/SYNCHDMLC_cm.mortran
+++ b/HEN_HOUSE/omega/beamnrc/CMs/SYNCHDMLC_cm.mortran
@@ -25,6 +25,7 @@
" Julio Lobo, 2010 "
" "
" Contributors: Blake Walters "
+" Reid Townson "
" "
"#############################################################################"
" "
diff --git a/HEN_HOUSE/omega/beamnrc/CMs/SYNCHDMLC_macros.mortran b/HEN_HOUSE/omega/beamnrc/CMs/SYNCHDMLC_macros.mortran
index c9452d9b8..53786e39e 100644
--- a/HEN_HOUSE/omega/beamnrc/CMs/SYNCHDMLC_macros.mortran
+++ b/HEN_HOUSE/omega/beamnrc/CMs/SYNCHDMLC_macros.mortran
@@ -26,6 +26,7 @@
" "
" Contributors: Blake Walters "
" Frederic Tessier "
+" Reid Townson "
" "
"#############################################################################"
" "
@@ -245,7 +246,7 @@ REPLACE{;COMIN/CM_$SYNCHDMLC/;} WITH {
"V>COMMON/USERSYNCHDMLC/
"V>
-"V> the following variables are required in the the main beam code
+"V> the following variables are required in the main beam code
"V> to set leaf positions during the simulation when dynamic and step-and-shoot
"V> (MODE_$SYNCHDMLC=1,2) options are used. This common block is part of
"V> the larger USER common block. It is defined as {;} in
diff --git a/HEN_HOUSE/omega/beamnrc/CMs/SYNCJAWS_macros.mortran b/HEN_HOUSE/omega/beamnrc/CMs/SYNCJAWS_macros.mortran
index b82cabfd6..5eed5a9e4 100644
--- a/HEN_HOUSE/omega/beamnrc/CMs/SYNCJAWS_macros.mortran
+++ b/HEN_HOUSE/omega/beamnrc/CMs/SYNCJAWS_macros.mortran
@@ -26,6 +26,7 @@
" "
" Contributors: Frederic Tessier "
" Blake Walters "
+" Reid Townson "
" "
"#############################################################################"
" "
diff --git a/HEN_HOUSE/omega/beamnrc/CMs/SYNCMLCE_macros.mortran b/HEN_HOUSE/omega/beamnrc/CMs/SYNCMLCE_macros.mortran
index eb0326a01..98711e767 100644
--- a/HEN_HOUSE/omega/beamnrc/CMs/SYNCMLCE_macros.mortran
+++ b/HEN_HOUSE/omega/beamnrc/CMs/SYNCMLCE_macros.mortran
@@ -26,6 +26,7 @@
" "
" Contributors: Frederic Tessier "
" Blake Walters "
+" Reid Townson "
" "
"#############################################################################"
" "
@@ -807,4 +808,3 @@ CALL HOWNEAR_$SYNCMLCE({P1});
}
;
"End of SYNCMLCE_macros.mortran "
-
diff --git a/HEN_HOUSE/omega/beamnrc/CMs/SYNCVMLC_macros.mortran b/HEN_HOUSE/omega/beamnrc/CMs/SYNCVMLC_macros.mortran
index 05765f3c4..4d1f4c15d 100644
--- a/HEN_HOUSE/omega/beamnrc/CMs/SYNCVMLC_macros.mortran
+++ b/HEN_HOUSE/omega/beamnrc/CMs/SYNCVMLC_macros.mortran
@@ -26,6 +26,7 @@
" "
" Contributors: Frederic Tessier "
" Blake Walters "
+" Reid Townson "
" "
"#############################################################################"
" "
@@ -193,7 +194,7 @@ REPLACE{;COMIN/CM_$SYNCVMLC/;} WITH {
"V>COMMON/USERSYNCVMLC/
"V>
-"V> the following variables are required in the the main beam code
+"V> the following variables are required in the main beam code
"V> to set leaf positions during the simulation when dynamic and step-and-shoot
"V> (MODE_$SYNCVMLC=1,2) options are used. This common block is part of
"V> the larger USER common block. It is defined as {;} in
diff --git a/HEN_HOUSE/omega/beamnrc/CMs/XTUBE_cm.mortran b/HEN_HOUSE/omega/beamnrc/CMs/XTUBE_cm.mortran
index 35581d641..850cbc1bf 100644
--- a/HEN_HOUSE/omega/beamnrc/CMs/XTUBE_cm.mortran
+++ b/HEN_HOUSE/omega/beamnrc/CMs/XTUBE_cm.mortran
@@ -1128,7 +1128,7 @@ IF(N_$XTUBE > 1)[
"outermost target layer, if any
IF(I_XTRA_$XTUBE=1)[
OUTPUT N_$XTUBE;
- (/' Now input for the the extra central region in the last'/
+ (/' Now input for the extra central region in the last'/
' (outermost) target layer (layer no. ',I4,'):');
IRA = IRSTART_$XTUBE+N_$XTUBE+2;
OUTPUT;(/' width, height of central region (cm):');
diff --git a/HEN_HOUSE/omega/beamnrc/beam_lib.mortran b/HEN_HOUSE/omega/beamnrc/beam_lib.mortran
index 5cbe99dd4..f8148c115 100644
--- a/HEN_HOUSE/omega/beamnrc/beam_lib.mortran
+++ b/HEN_HOUSE/omega/beamnrc/beam_lib.mortran
@@ -25,6 +25,7 @@
" "
" Contributors: Blake Walters "
" Frederic Tessier "
+" Ernesto Mainegra-Hing "
" "
"#############################################################################"
" "
diff --git a/HEN_HOUSE/omega/beamnrc/beamnrc.mortran b/HEN_HOUSE/omega/beamnrc/beamnrc.mortran
index c5ebb7d03..b34bc97c4 100644
--- a/HEN_HOUSE/omega/beamnrc/beamnrc.mortran
+++ b/HEN_HOUSE/omega/beamnrc/beamnrc.mortran
@@ -37,6 +37,7 @@
" Ernesto Mainegra-Hing "
" Frederic Tessier "
" Reid Townson "
+" Ernesto Mainegra-Hing "
" "
"#############################################################################"
" "
@@ -1306,7 +1307,7 @@ WITH {,' ',}
"I> [ pair_nrc ]
"I> Photoelectron angular sampling= Off or On (Default is On)
"I> If Off, photo-electrons get the direction of the
-"I> `mother' photon, with On, Sauter's furmula is
+"I> `mother' photon, with On, Sauter's formula is
"I> used (which is, strictly speaking, valid only for
"I> K-shell photo-absorption).
"I> If the user has a better approach, replace the macro
@@ -6222,7 +6223,7 @@ IF (IARG = 5) ["Particle step just taken"
"as 1."
NFTIME(NP)=NFTIME(NP)+1;
- "increment the the number of interactions in the"
+ "increment the number of interactions in the"
"forcing CMs"
$RANDOMSET RNNO35;IF(RNNO35 = 0.0)RNNO35=1.E-30;
;$SELECT-PHOTON-MFP-FOR-FORCING(DPMFP);
@@ -6422,6 +6423,9 @@ ELSEIF(IBRSPL=2) ["directional bremsstrahlung splitting"
ZLAST(I)=Z(I);
]
]
+
+ NUM_BREM=count_nbrem;
+
" now put a zero weight particle on top of the stack thus forcing "
" a return to shower. "
np=np+1;
diff --git a/HEN_HOUSE/omega/beamnrc/beamnrc_user_macros.mortran b/HEN_HOUSE/omega/beamnrc/beamnrc_user_macros.mortran
index 458d78cd6..c5f21285c 100644
--- a/HEN_HOUSE/omega/beamnrc/beamnrc_user_macros.mortran
+++ b/HEN_HOUSE/omega/beamnrc/beamnrc_user_macros.mortran
@@ -27,6 +27,7 @@
" Dave Rogers "
" Iwan Kawrakow "
" Frederic Tessier "
+" Reid Townson "
" "
"#############################################################################"
" "
@@ -87,7 +88,7 @@ REPLACE {$COVMIN} WITH {10} "min. no. of particles crossing a scoring"
REPLACE {$MXMED} WITH {12} "max # of media
REPLACE {$MXREG} WITH {3000} "maximum number of regions (absolute)
REPLACE {$MXSTACK} WITH {900000} "maximum stack (much less if no brem split)
-REPLACE {$MAXBRSPLIT} WITH {2000} "maximum number of bremsstrahlung splits
+REPLACE {$MAXBRSPLIT} WITH {5000} "maximum number of bremsstrahlung splits
"note that $MXSTACK must be adjusted too
REPLACE {$MAX_DOSE_ZONE} WITH {1500} "maximum number of dose-scoring zones
REPLACE {$MAXIT} WITH {12} "maximum number of dose components to score
diff --git a/HEN_HOUSE/omega/progs/addphsp/addphsp.mortran b/HEN_HOUSE/omega/progs/addphsp/addphsp.mortran
index 11dca09fd..186b6bd46 100644
--- a/HEN_HOUSE/omega/progs/addphsp/addphsp.mortran
+++ b/HEN_HOUSE/omega/progs/addphsp/addphsp.mortran
@@ -25,6 +25,7 @@
" "
" Contributors: Ernesto Mainegra-Hing "
" Iwan Kawrakow "
+" Reid Townson "
" "
"#############################################################################"
" "
diff --git a/HEN_HOUSE/omega/progs/beamdp/beamdp.mortran b/HEN_HOUSE/omega/progs/beamdp/beamdp.mortran
index 39f2fac03..f9d863193 100644
--- a/HEN_HOUSE/omega/progs/beamdp/beamdp.mortran
+++ b/HEN_HOUSE/omega/progs/beamdp/beamdp.mortran
@@ -1460,8 +1460,8 @@ IF(CHOICE1>0 & CHOICE1<10)[
YPLOTT=FLOAT(IPARANOT-1);"this is the total number of particles read"
IF(CHOICE1=1)[
GRAPHTITLE='fluence vs position';
- IF(FLUTYPE=1)[ YTITLE='planar fluence/incident particle /cm\\S-2\\N'; ]
- ELSE[ YTITLE='fluence/incident particle /cm\\S-2\\N'; ]
+ IF(FLUTYPE=1)[ YTITLE='planar fluence/incident particle /cm\S-2\N'; ]
+ ELSE[ YTITLE='fluence/incident particle /cm\S-2\N'; ]
IF(MSMFXY=0)["circular field"
XTITLE='R /cm ';
DO II=1,NFIELD[
@@ -1559,10 +1559,10 @@ IF(CHOICE1>0 & CHOICE1<10)[
IF(CHOICE1=2)[
GRAPHTITLE='energy fluence vs position';
IF(FLUTYPE=1)[
- YTITLE='planar energy fluence/incident particle /MeV cm\\S-2\\N)';
+ YTITLE='planar energy fluence/incident particle /MeV cm\S-2\N';
]
ELSE[
- YTITLE='energy fluence/incident particle /MeV cm\\S-2\\N)';
+ YTITLE='energy fluence/incident particle /MeV cm\S-2\N';
]
IF(MSMFXY=0)["circular field"
XTITLE='R /cm';
@@ -1649,10 +1649,10 @@ IF(CHOICE1>0 & CHOICE1<10)[
ELSEIF(CHOICE1=3)[
GRAPHTITLE='spectral distribution';
IF(FLUTYPE=1)[
- YTITLE='planar fluence/MeV/incident particle /cm\\S-2\\N MeV\\S-1\\N';
+ YTITLE='planar fluence/MeV/incident particle /cm\S-2\N MeV\S-1\N';
]
ELSE[
- YTITLE='fluence/MeV/incident particle /cm\\S-2\\N MeV\\S-1\\N';
+ YTITLE='fluence/MeV/incident particle /cm\S-2\N MeV\S-1\N';
]
XTITLE='energy /MeV';
DO II=1,NSMFEE[
@@ -1677,10 +1677,10 @@ IF(CHOICE1>0 & CHOICE1<10)[
ELSEIF(CHOICE1=4)[
GRAPHTITLE='energy fluence distribution';
IF(FLUTYPE=1)[
- YTITLE='planar energy fluence/MeV/incident particle /cm\\S-2\\N';
+ YTITLE='planar energy fluence/MeV/incident particle /cm\S-2\N';
]
ELSE[
- YTITLE='energy fluence/MeV/incident particle /cm\\S-2\\N';
+ YTITLE='energy fluence/MeV/incident particle /cm\S-2\N';
]
XTITLE='energy /MeV';
DO II=1,NSMFEE[
diff --git a/HEN_HOUSE/omega/progs/ctcreate/ReadCT_DICOM.c b/HEN_HOUSE/omega/progs/ctcreate/ReadCT_DICOM.c
index 75bf52cfe..79a0f0702 100644
--- a/HEN_HOUSE/omega/progs/ctcreate/ReadCT_DICOM.c
+++ b/HEN_HOUSE/omega/progs/ctcreate/ReadCT_DICOM.c
@@ -333,7 +333,7 @@ int string_to_doubles (const char *s,int num_doub)
}
-F77_OBJ_(readct_dicom,READCT_DICOM)(char *ct_filename, int ct_arraysize[3],
+int F77_OBJ_(readct_dicom,READCT_DICOM)(char *ct_filename, int ct_arraysize[3],
short *ctdata, float ct_offset[3],
float ct_voxelsize[3],int *ct_errorcode)
{
diff --git a/HEN_HOUSE/omega/progs/ctcreate/ctcreate.mortran b/HEN_HOUSE/omega/progs/ctcreate/ctcreate.mortran
index fefe760c5..1ca6ac1b2 100644
--- a/HEN_HOUSE/omega/progs/ctcreate/ctcreate.mortran
+++ b/HEN_HOUSE/omega/progs/ctcreate/ctcreate.mortran
@@ -26,6 +26,7 @@
" Contributors: Dave Rogers "
" Iwan Kawrakow "
" Ernesto Mainegra-Hing "
+" Reid Townson "
" "
"#############################################################################"
" "
diff --git a/HEN_HOUSE/omega/progs/gui/beamnrc/beamnrc_gui.tcl b/HEN_HOUSE/omega/progs/gui/beamnrc/beamnrc_gui.tcl
index 89c6c7a07..6d5ac4882 100755
--- a/HEN_HOUSE/omega/progs/gui/beamnrc/beamnrc_gui.tcl
+++ b/HEN_HOUSE/omega/progs/gui/beamnrc/beamnrc_gui.tcl
@@ -27,6 +27,7 @@
# Iwan Kawrakow
# Ernesto Mainegra-Hing
# Frederic Tessier
+# Reid Townson
#
###############################################################################
#
@@ -776,4 +777,3 @@ proc exit_prompt {} {
Exit the BEAMnrc GUI?" question 0 No Yes]
if $result==1 { exit }
}
-
diff --git a/HEN_HOUSE/omega/progs/gui/beamnrc/beamnrc_params.tcl b/HEN_HOUSE/omega/progs/gui/beamnrc/beamnrc_params.tcl
index 78be06be3..8124ad21e 100644
--- a/HEN_HOUSE/omega/progs/gui/beamnrc/beamnrc_params.tcl
+++ b/HEN_HOUSE/omega/progs/gui/beamnrc/beamnrc_params.tcl
@@ -1227,7 +1227,7 @@ Maximum fractional energy loss/step, ESTEPE:
Note that this is a global option only, no\
region-by-region setting is possible. If missing,\
- the defualt is 0.25 (25%).
+ the default is 0.25 (25%).
}
set ximax {}
@@ -1292,7 +1292,7 @@ If Boundary crossing algorithm= PRESTA-I\
Skin depth for BCA large, you will get default EGS4\
behaviour (no PRESTA).\
-Note that the above defaults have been choosen as a compromise\
+Note that the above defaults have been chosen as a compromise\
between accuracy (EXACT BCA) and efficiency (PRESTA-I BCA).\
Note that the new transport\
mechanics of EGSnrc are maintained away from boundaries.
@@ -3203,4 +3203,3 @@ The user can think of the inputs of the CHAMBER CM\
input file and so must be reselected by the user each time\
the GUI is used.
}
-
diff --git a/HEN_HOUSE/omega/progs/gui/beamnrc/create_accel.tcl b/HEN_HOUSE/omega/progs/gui/beamnrc/create_accel.tcl
index 7e739d69b..48b6928d9 100644
--- a/HEN_HOUSE/omega/progs/gui/beamnrc/create_accel.tcl
+++ b/HEN_HOUSE/omega/progs/gui/beamnrc/create_accel.tcl
@@ -26,6 +26,7 @@
# Contributors: Blake Walters
# Iwan Kawrakow
# Frederic Tessier
+# Reid Townson
#
###############################################################################
#
diff --git a/HEN_HOUSE/omega/progs/gui/beamnrc/set_main_inputs_egsnrc.tcl b/HEN_HOUSE/omega/progs/gui/beamnrc/set_main_inputs_egsnrc.tcl
index 1321e4339..31f5a9a27 100644
--- a/HEN_HOUSE/omega/progs/gui/beamnrc/set_main_inputs_egsnrc.tcl
+++ b/HEN_HOUSE/omega/progs/gui/beamnrc/set_main_inputs_egsnrc.tcl
@@ -25,6 +25,7 @@
#
# Contributors: Blake Walters
# Iwan Kawrakow
+# Ernesto Mainegra-Hing
#
###############################################################################
#
diff --git a/HEN_HOUSE/omega/progs/gui/beamnrc/synchdmlc.tcl b/HEN_HOUSE/omega/progs/gui/beamnrc/synchdmlc.tcl
index d0e19c92e..0e5de916c 100644
--- a/HEN_HOUSE/omega/progs/gui/beamnrc/synchdmlc.tcl
+++ b/HEN_HOUSE/omega/progs/gui/beamnrc/synchdmlc.tcl
@@ -25,6 +25,7 @@
# Julio Lobo, 2013
#
# Contributors: Blake Walters
+# Reid Townson
#
###############################################################################
#
diff --git a/HEN_HOUSE/omega/progs/gui/beamnrc/syncjaws.tcl b/HEN_HOUSE/omega/progs/gui/beamnrc/syncjaws.tcl
index b693a328a..768e4dcb1 100644
--- a/HEN_HOUSE/omega/progs/gui/beamnrc/syncjaws.tcl
+++ b/HEN_HOUSE/omega/progs/gui/beamnrc/syncjaws.tcl
@@ -27,6 +27,7 @@
# Contributors: Ernesto Mainegra-Hing
# Frederic Tessier
# Blake Walters
+# Reid Townson
#
###############################################################################
#
@@ -270,7 +271,7 @@ proc define_syncjaws { id } {
catch { destroy .syncjaws$id.child }
toplevel .syncjaws$id.child
set top .syncjaws$id.child
- wm title $top "Define dynamic jaws"
+ wm title $top "Define synchronized jaws"
frame $top.f -bd 10
set w $top.f
@@ -791,7 +792,7 @@ proc quiksyncdef { id } {
pack $top.u.r -side left
frame $top.but -bd 4
- button $top.but.update -text "Update x/y coords." -command "quikdyncalc $id"\
+ button $top.but.update -text "Update x/y coords." -command "quiksynccalc $id"\
-relief groove -bd 8
button $top.but.quit -text "Quit" -command "destroy .syncjaws$id.child.qkdef"\
-relief groove -bd 8
@@ -800,7 +801,7 @@ proc quiksyncdef { id } {
}
-proc quikdyncalc { id } {
+proc quiksynccalc { id } {
global cmval ssd halfwidth fieldfocus fmin fmax
# procedure to calculate X/Y coordinates based on field dimensions, ssd
diff --git a/HEN_HOUSE/omega/progs/gui/dosxyznrc/define_phantom_egsnrc.tcl b/HEN_HOUSE/omega/progs/gui/dosxyznrc/define_phantom_egsnrc.tcl
index 3fee7deac..489fce58a 100644
--- a/HEN_HOUSE/omega/progs/gui/dosxyznrc/define_phantom_egsnrc.tcl
+++ b/HEN_HOUSE/omega/progs/gui/dosxyznrc/define_phantom_egsnrc.tcl
@@ -601,7 +601,7 @@ proc define_izscan {} {
if [string compare $izrow ""]==0 { set izrow 1 }
message $w.message -text "Define a group of voxels by entering\
- the voxel indices, then set the direction of the the scan\
+ the voxel indices, then set the direction of the scan\
per page. Unless declared here, the default is no output. \
Click 'Add a group' to define a new group." \
-width 500 -font $helvfont
@@ -701,4 +701,3 @@ proc remove_scan_group { w } {
}
incr izrow -1
}
-
diff --git a/HEN_HOUSE/omega/progs/gui/dosxyznrc/load_input2_nrc.tcl b/HEN_HOUSE/omega/progs/gui/dosxyznrc/load_input2_nrc.tcl
index d5556922c..0feaa2bb0 100644
--- a/HEN_HOUSE/omega/progs/gui/dosxyznrc/load_input2_nrc.tcl
+++ b/HEN_HOUSE/omega/progs/gui/dosxyznrc/load_input2_nrc.tcl
@@ -205,7 +205,7 @@ proc read_input {} {
global arr phspout phspoutopt
global thphidef angfixed ang1 ang2 pang ivary numthphi nang
global numsets nset iso1 iso2 iso3 ang1 ang2 ang3 dsource muI
- global iphant imuphspout calflag
+ global iphant imuphspout calflag iphspout
global alpha beta
global level ibcmp_min ibcmp_max iphter_min iphter_max
global iraylr_min iraylr_max iedgfl_min iedgfl_max got_egsnrc_input
diff --git a/HEN_HOUSE/omega/progs/gui/dosxyznrc/set_main_inputs_egsnrc.tcl b/HEN_HOUSE/omega/progs/gui/dosxyznrc/set_main_inputs_egsnrc.tcl
index 836265db2..eb7c444c6 100644
--- a/HEN_HOUSE/omega/progs/gui/dosxyznrc/set_main_inputs_egsnrc.tcl
+++ b/HEN_HOUSE/omega/progs/gui/dosxyznrc/set_main_inputs_egsnrc.tcl
@@ -27,6 +27,7 @@
# Iwan Kawrakow
# Frederic Tessier
# Marc-Andre Renaud
+# Reid Townson
#
###############################################################################
#
diff --git a/HEN_HOUSE/omega/progs/gui/dosxyznrc/xyznrc_parameters.tcl b/HEN_HOUSE/omega/progs/gui/dosxyznrc/xyznrc_parameters.tcl
index ac8d4d433..e82c5e1e6 100644
--- a/HEN_HOUSE/omega/progs/gui/dosxyznrc/xyznrc_parameters.tcl
+++ b/HEN_HOUSE/omega/progs/gui/dosxyznrc/xyznrc_parameters.tcl
@@ -28,6 +28,7 @@
# Ernesto Mainegra-Hing
# Frederic Tessier
# Marc-Andre Renaud
+# Reid Townson
#
###############################################################################
#
@@ -829,7 +830,7 @@ Maximum fractional energy loss/step, ESTEPE:
Note that this is a global option only, no\
region-by-region setting is possible. If missing,\
- the defualt is 0.25 (25%).
+ the default is 0.25 (25%).
}
set ximax {}
@@ -897,7 +898,7 @@ If Boundary crossing algorithm= PRESTA-I (default)\
Skin depth for BCA large, you will get default EGS4\
behaviour (no PRESTA).\
-Note that the above defaults have been choosen as a compromise\
+Note that the above defaults have been chosen as a compromise\
between accuracy (EXACT BCA) and efficiency (PRESTA-I BCA)\
since the PRESTA-I BCA algorithm has proven to generally\
produce satisfactory results under conditions of charged particle
diff --git a/HEN_HOUSE/omega/progs/statdose/statdose.mortran b/HEN_HOUSE/omega/progs/statdose/statdose.mortran
index 96c2ed5fd..bb9edfc7d 100644
--- a/HEN_HOUSE/omega/progs/statdose/statdose.mortran
+++ b/HEN_HOUSE/omega/progs/statdose/statdose.mortran
@@ -30,6 +30,7 @@
" Dave Rogers "
" Iwan Kawrakow "
" Frederic Tessier "
+" Reid Townson "
" "
"#############################################################################"
" "
diff --git a/HEN_HOUSE/pegs4/Makefile b/HEN_HOUSE/pegs4/Makefile
index e2506525e..108c0299a 100644
--- a/HEN_HOUSE/pegs4/Makefile
+++ b/HEN_HOUSE/pegs4/Makefile
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow
#
# Contributors: Frederic Tessier
+# Ernesto Mainegra-Hing
#
###############################################################################
@@ -44,4 +45,3 @@ $(FORTRAN_FILE): $(sources)
clean:
$(REMOVE) $(FORTRAN_FILE) $(HEN_HOUSE)/bin/$(my_machine)/pegs4.exe
-
diff --git a/HEN_HOUSE/pegs4/pegs4.mortran b/HEN_HOUSE/pegs4/pegs4.mortran
index 58dd1ee9f..85b31b682 100644
--- a/HEN_HOUSE/pegs4/pegs4.mortran
+++ b/HEN_HOUSE/pegs4/pegs4.mortran
@@ -32,6 +32,7 @@
" Iwan Kawrakow "
" Ernesto Mainegra-Hing "
" Reid Townson "
+" Blake Walters "
" "
"#############################################################################"
" "
diff --git a/HEN_HOUSE/scripts/admin/check-authors.fish b/HEN_HOUSE/scripts/admin/check-authors.fish
new file mode 100755
index 000000000..08062b381
--- /dev/null
+++ b/HEN_HOUSE/scripts/admin/check-authors.fish
@@ -0,0 +1,147 @@
+#!/usr/bin/env fish
+###############################################################################
+#
+# EGSnrc script to configure a Fortran compiler
+# Copyright (C) 2015 National Research Council Canada
+#
+# This file is part of EGSnrc.
+#
+# EGSnrc is free software: you can redistribute it and/or modify it under
+# the terms of the GNU Affero General Public License as published by the
+# Free Software Foundation, either version 3 of the License, or (at your
+# option) any later version.
+#
+# EGSnrc is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
+# more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with EGSnrc. If not, see .
+#
+###############################################################################
+#
+# Author: Frederic Tessier, 2022
+#
+###############################################################################
+
+
+### default commit range is from master to current commit
+set commit_range "master..HEAD"
+
+### set the git commit range to first argument if provided
+if test (count $argv) -gt 0
+ set commit_range $argv[1]
+end
+
+### set default return code (success)
+set return_code 0
+
+### FUNCTION
+### get the list of changed files, non-binary, that contain an author tag
+function get_files
+ for f in (git diff --name-only $commit_range)
+ if grep -EIqs "^[\"#] Author" $f
+ echo $f
+ end
+ end
+end
+
+### FUNCTION
+### grab all the authors and contributors listed in a file
+function get_authors_file
+ cat $argv | sed 's/^C/#/;s/^%/#/;s/^"/#/;s/"$//' \
+ | sed -n '/^#.*Author/,/^# *$/p;/^#.*Contributor/,/^# *$/p' \
+ | sed '/# *$/d' \
+ | sed 's/Ernesto Mainegra/Ernesto Mainegra-Hing/'
+end
+
+### FUNCTION
+### grab the authors of the changed files, according to commits, filter name variations
+function get_authors_commit
+ git shortlog -s $commit_range $argv | sed "s/^[[:space:][:digit:]]*//" \
+ | sed 's/Ernesto$/Ernesto Mainegra-Hing/' \
+ | sed 's/Ernesto Mainegra/Ernesto Mainegra-Hing/' \
+ | sed 's/Hing-Hing/Hing/' \
+ | sed 's/blakewalters/Blake Walters/' \
+ | sed 's/M. Stoeckl/Manuel Stoeckl/' \
+ | sed 's/M$/Manuel Stoeckl/' \
+ | sed 's/victorMalkov/Victor Malkov/' \
+ | sed 's/crcrewso/Cody Crewson/' \
+ | sed 's/jantolak/John Antolak/' \
+ | sed 's/Marc-Andr. Renaud/Marc-Andre Renaud/' \
+ | sed 's/MartinMartinov/Martin Martinov/' \
+ | sed 's/blakewalters/Blake Walters/' \
+ | sed 's/Townson/Reid Townson/' \
+ | sed 's/Reid Reid/Reid/' \
+ | sed 's/mpayrits/Matjaz Payrits/' \
+ | sed 's/ftessier/Frederic Tessier/' \
+ | sed 's/Fr.d.ric Tessier/Frederic Tessier/' \
+ | sort | uniq
+end
+
+### echo commit range
+echo
+echo "COMMITS:"
+echo " $commit_range"
+
+### list changed files to check in range
+set files_to_check (get_files)
+echo
+echo "FILES $commit_range:"
+for f in $files_to_check
+ echo " $f"
+end
+
+### list all commit authors in range
+set authors_commit (get_authors_commit)
+echo
+echo "AUTHORS $commit_range:"
+for a in $authors_commit
+ echo " $a"
+end
+
+### report missing authors and contributors
+for f in $files_to_check
+
+ ### get authors from file and commits, for this file
+ set authors_file (get_authors_file $f)
+ set authors_commit (get_authors_commit $f)
+
+ ### report missing names
+ set missing 0
+ for a in $authors_commit
+ echo $authors_file | grep -q $a;
+ if test $status -eq "1"
+ if test $missing -eq 0
+ set return_code 1
+ set missing 1
+ echo
+ echo '============================================================================================='
+ echo $f
+ #set_color fc3
+ echo "MISSING:"
+ end
+ echo "# $a"
+ end
+ end
+ #set_color normal
+end
+
+### report files without author tag
+echo
+echo "FILES WITHOUT AUTHOR $commit_range:"
+echo
+echo " (skipping .pdf .png .gif .jpg .jpeg .fig .density .ramp .egsphant Doxyfile HEN_HOUSE/pieces/help_message)"
+echo
+set files_to_check (git diff --name-only $commit_range | grep -Ev '.pdf$|.png$|.gif$|.jpg$|.jpeg$|.fig$|.density$|.ramp$|.egsphant$|Doxyfile|HEN_HOUSE/pieces/help_message')
+for f in $files_to_check
+ set found (grep -EIL "^[\"#%C] Author" $f)
+ if not test "$found" = ""
+ echo " $found"
+ end
+end
+echo
+
+### return status
+exit $return_code
diff --git a/HEN_HOUSE/scripts/batch_options.slurm b/HEN_HOUSE/scripts/batch_options.slurm
index 55804b441..576f1df39 100644
--- a/HEN_HOUSE/scripts/batch_options.slurm
+++ b/HEN_HOUSE/scripts/batch_options.slurm
@@ -82,5 +82,3 @@ long_queue="-p long"
user1_queue="-p user1"
user2_queue="-p user2"
user3_queue="-p user3"
-
-
diff --git a/HEN_HOUSE/scripts/clean_after_parallel b/HEN_HOUSE/scripts/clean_after_parallel
index c71ea2922..fae59617d 100755
--- a/HEN_HOUSE/scripts/clean_after_parallel
+++ b/HEN_HOUSE/scripts/clean_after_parallel
@@ -25,6 +25,7 @@
#
# Contributors: Dave Rogers
# Iwan Kawrakow
+# Cody Crewson
#
###############################################################################
#
diff --git a/HEN_HOUSE/scripts/config.guess b/HEN_HOUSE/scripts/config.guess
index f28a23f86..e178adc3d 100755
--- a/HEN_HOUSE/scripts/config.guess
+++ b/HEN_HOUSE/scripts/config.guess
@@ -830,6 +830,9 @@ EOF
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
+ aarch64:Linux:*:*)
+ echo aarch64-unknown-linux-gnu
+ exit 0 ;;
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
exit 0 ;;
diff --git a/HEN_HOUSE/scripts/configure b/HEN_HOUSE/scripts/configure
index cd52650e6..66de7bdf1 100755
--- a/HEN_HOUSE/scripts/configure
+++ b/HEN_HOUSE/scripts/configure
@@ -26,6 +26,8 @@
# Contributors: Dave Rogers
# Ernesto Mainegra-Hing
# Frederic Tessier
+# Reid Townson
+# Cody Crewson
#
###############################################################################
#
@@ -133,6 +135,9 @@ if test "x$system_name" = xdarwin; then
fi
echo "$canonical_system" >&2
is_x86_64=$(echo $canonical_system | grep x86_64)
+if echo "$canonical_system" | grep "aarch64" > /dev/null; then
+ memory_model=""
+fi
printf $format "Checking for make ... " >&2
have_make=no
diff --git a/HEN_HOUSE/scripts/configure_c++ b/HEN_HOUSE/scripts/configure_c++
index e861b4c1e..bd0a0e30c 100755
--- a/HEN_HOUSE/scripts/configure_c++
+++ b/HEN_HOUSE/scripts/configure_c++
@@ -24,6 +24,10 @@
# Author: Iwan Kawrakow, 2007
#
# Contributors: Ernesto Mainegra-Hing
+# Cody Crewson
+# Frederic Tessier
+# Reid Townson
+# Marc Chamberland
#
###############################################################################
#
@@ -168,6 +172,9 @@ system_name=$(uname -s | sed ":/:_:g" | tr '[:upper:]' '[:lower:]')
if test "x$system_name" = xdarwin; then
memory_model=""
fi
+if echo "$canonical_system" | grep "aarch64" > /dev/null; then
+ memory_model=""
+fi
case $CXX in
@@ -256,6 +263,10 @@ case $canonical_system in
#
*ibm-aix*)
shared="-G -Wl,-brtl"; lib_link1="-L\$(abs_dso) -Wl,-brtl,-bexpall";;
+ *aarch64-*-linux*)
+ fpic="-fPIC";
+ opt="$opt -Wno-narrowing"
+ ;;
*) echo Unsupported architecture $canonical_system; fpic="-fPIC";;
esac
diff --git a/HEN_HOUSE/scripts/egs-parallel-pbs b/HEN_HOUSE/scripts/egs-parallel-pbs
index be497ca32..0f8b6cff4 100755
--- a/HEN_HOUSE/scripts/egs-parallel-pbs
+++ b/HEN_HOUSE/scripts/egs-parallel-pbs
@@ -23,7 +23,7 @@
#
# Author: Frederic Tessier, 2020
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
#
diff --git a/HEN_HOUSE/scripts/egs-parallel-pbsdsh b/HEN_HOUSE/scripts/egs-parallel-pbsdsh
index a0d3d921b..ee6ffe3a9 100755
--- a/HEN_HOUSE/scripts/egs-parallel-pbsdsh
+++ b/HEN_HOUSE/scripts/egs-parallel-pbsdsh
@@ -23,7 +23,7 @@
#
# Author: Frederic Tessier, 2020
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
#
diff --git a/HEN_HOUSE/scripts/egsnrc_bashrc_additions b/HEN_HOUSE/scripts/egsnrc_bashrc_additions
index e8a824aaf..91b56c0be 100644
--- a/HEN_HOUSE/scripts/egsnrc_bashrc_additions
+++ b/HEN_HOUSE/scripts/egsnrc_bashrc_additions
@@ -23,7 +23,8 @@
#
# Author: Iwan Kawrakow, 2003
#
-# Contributors:
+# Contributors: Frederic Tessier
+# Ernesto Mainegra-Hing
#
###############################################################################
#
diff --git a/HEN_HOUSE/scripts/egsnrc_cshrc_additions b/HEN_HOUSE/scripts/egsnrc_cshrc_additions
index 65f2db0f7..b01a74ee7 100644
--- a/HEN_HOUSE/scripts/egsnrc_cshrc_additions
+++ b/HEN_HOUSE/scripts/egsnrc_cshrc_additions
@@ -23,7 +23,8 @@
#
# Author: Iwan Kawrakow, 2003
#
-# Contributors:
+# Contributors: Frederic Tessier
+# Marc Chamberland
#
###############################################################################
#
diff --git a/HEN_HOUSE/scripts/run_user_code b/HEN_HOUSE/scripts/run_user_code
index c5f5210ee..c976019b5 100755
--- a/HEN_HOUSE/scripts/run_user_code
+++ b/HEN_HOUSE/scripts/run_user_code
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2003
#
-# Contributors:
+# Contributors: Marc Chamberland
#
###############################################################################
#
diff --git a/HEN_HOUSE/scripts/test_egsnrcmp_distribution b/HEN_HOUSE/scripts/test_egsnrcmp_distribution
index ef16b5853..4ac2d3e56 100755
--- a/HEN_HOUSE/scripts/test_egsnrcmp_distribution
+++ b/HEN_HOUSE/scripts/test_egsnrcmp_distribution
@@ -25,6 +25,7 @@
#
# Contributors: Dave Rogers
# Ernesto Mainegra-Hing
+# Blake Walters
#
###############################################################################
#
diff --git a/HEN_HOUSE/specs/all_common.spec b/HEN_HOUSE/specs/all_common.spec
index 6bce420ac..ea4014e34 100644
--- a/HEN_HOUSE/specs/all_common.spec
+++ b/HEN_HOUSE/specs/all_common.spec
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2003
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
#
@@ -172,4 +172,3 @@ C_SOURCES = $(EGS_SOURCEDIR)egsnrc.macros \
$(MACHINE_MORTRAN) \
$(EGS_SOURCEDIR)egs_utilities.mortran \
$(EGS_SOURCEDIR)egsnrc.mortran
-
diff --git a/HEN_HOUSE/specs/beamnrc.spec b/HEN_HOUSE/specs/beamnrc.spec
index 0078b07eb..a586eda7b 100644
--- a/HEN_HOUSE/specs/beamnrc.spec
+++ b/HEN_HOUSE/specs/beamnrc.spec
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2004
#
# Contributors: Blake Walters
+# Reid Townson
#
###############################################################################
diff --git a/HEN_HOUSE/specs/egspp1.spec b/HEN_HOUSE/specs/egspp1.spec
index 66ddb71f0..32f385b4e 100644
--- a/HEN_HOUSE/specs/egspp1.spec
+++ b/HEN_HOUSE/specs/egspp1.spec
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Blake Walters
+# Reid Townson
#
###############################################################################
diff --git a/HEN_HOUSE/specs/windows.spec b/HEN_HOUSE/specs/windows.spec
index 9ddd233c6..ae37eac6a 100644
--- a/HEN_HOUSE/specs/windows.spec
+++ b/HEN_HOUSE/specs/windows.spec
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2003
#
# Contributors: Ernesto Mainegra-Hing
+# Reid Townson
#
###############################################################################
#
diff --git a/HEN_HOUSE/src/EEMF_macros.mortran b/HEN_HOUSE/src/EEMF_macros.mortran
index 0ab5e2500..f1ef9b881 100644
--- a/HEN_HOUSE/src/EEMF_macros.mortran
+++ b/HEN_HOUSE/src/EEMF_macros.mortran
@@ -24,6 +24,7 @@
" Author: Victor Malkov, 2016 "
" "
" Contributors: Dave Rogers "
+" Reid Townson "
" "
"#############################################################################"
"# "
diff --git a/HEN_HOUSE/src/EEMF_macros_beamnrc.mortran b/HEN_HOUSE/src/EEMF_macros_beamnrc.mortran
index d01ead837..6e3ef9626 100644
--- a/HEN_HOUSE/src/EEMF_macros_beamnrc.mortran
+++ b/HEN_HOUSE/src/EEMF_macros_beamnrc.mortran
@@ -24,6 +24,7 @@
" Author: Victor Malkov, 2016 "
" "
" Contributors: Dave Rogers "
+" Reid Townson "
" "
"#############################################################################"
"# "
diff --git a/HEN_HOUSE/src/egsnrc.macros b/HEN_HOUSE/src/egsnrc.macros
index 7081eff52..0a74ae1df 100644
--- a/HEN_HOUSE/src/egsnrc.macros
+++ b/HEN_HOUSE/src/egsnrc.macros
@@ -29,6 +29,7 @@
" Frederic Tessier "
" Reid Townson "
" Victor Malkov "
+" Reid Townson "
" "
"#############################################################################"
" "
@@ -2364,7 +2365,7 @@ REPLACE {$SET-SKINDEPTH(#,#);} WITH
"This macro calculates the elastic scattering MFP"
"If spin_effects is .false., the screened Rutherford cross section"
-"is used, else the the elastic MFP is based on PWA cross sections"
+"is used, else the elastic MFP is based on PWA cross sections"
REPLACE {$CALCULATE-ELASTIC-SCATTERING-MFP(#,#,#);} WITH
" ======================================= "
@@ -3646,7 +3647,7 @@ REPLACE {;COMIN/EGS-IO/;} WITH {;
};
"The following macro sets the EGS_HOME directory "
-"The defualt implementation is to use the environment variable "
+"The default implementation is to use the environment variable "
"EGS_HOME. But at the NRC EGS_HOME is set using the macro "
"$EGS_HOME defined in machine.macros. "
REPLACE {$set_egs_home;} WITH {;
diff --git a/HEN_HOUSE/src/egsnrc.mortran b/HEN_HOUSE/src/egsnrc.mortran
index 16180a574..93a04508c 100644
--- a/HEN_HOUSE/src/egsnrc.mortran
+++ b/HEN_HOUSE/src/egsnrc.mortran
@@ -1246,8 +1246,10 @@ $start_new_particle;
is_ch_step = .false.;
IF((tustep <= tperp) & ((~exact_bca) | (tustep > skindepth)))
[
- "We are further way from a boundary than a skindepth, so
- "perform a normal condensed-history step
+ "We are further away from a boundary than a skindepth and
+ "either: we are not using exact boundary-crossing, or the
+ "requested condensed-history step is greater than the
+ "skindepth. So perform a normal condensed-history step
callhowfar = .false.; "Do not call HAWFAR
domultiple = .false.; "Multiple scattering done here
dosingle = .false.; "MS => no single scattering
@@ -8309,7 +8311,7 @@ IF (iraylm(medium)=0)[return;]"Rayleigh option not requested"
Figure out if custom ff needed for medium: check that medium
is in the list iray_ff_media, else the default atomic ff used.
This used to be done in subroutine get_transport_parameter
- but was moved here, since it is up to the the user-code to
+ but was moved here, since it is up to the user-code to
read in the information and it is not ensured that the media
information will be read before getting the transport parameters.
****************************************************************/
diff --git a/HEN_HOUSE/src/get_inputs.mortran b/HEN_HOUSE/src/get_inputs.mortran
index 4da082455..5ea71e493 100644
--- a/HEN_HOUSE/src/get_inputs.mortran
+++ b/HEN_HOUSE/src/get_inputs.mortran
@@ -28,6 +28,7 @@
" Contributors: Ernesto Mainegra-Hing "
" Blake Walters "
" Frederic Tessier "
+" Reid Townson "
" "
"#############################################################################"
" "
@@ -846,7 +847,7 @@ subroutine get_transport_parameter(ounit);
" All input associated with selection of various transport parameter
" is not crucial for the execution as there are default values set.
" Therefore, if some of the input options in this section are
-" missing/misspelled, this will be ignored and defualt parameter assumed
+" missing/misspelled, this will be ignored and default parameter assumed
" As the transport parameter input routine uses get_inputs, a lot
" of error/warning messages may be produced on UNIT 15, though.
" If you don't have the intention of changing default settings,
@@ -864,14 +865,14 @@ subroutine get_transport_parameter(ounit);
" in your input file.
"
" Currently, the following options are available (case does not matter and
-" the internal variables are shown in [ ] brackets):
+" the internal variables are shown in [ ] brackets):
"
" Global ECUT= Global (in all regions) electron transport cut
-" off energy (in MeV). If this imput is missing,
+" off energy (in MeV). If this input is missing,
" AE(medium) will be used.
" [ ECUT ]
" Global PCUT= Global (in all regions) photon transport cut
-" off energy (in MeV). If this imput is missing,
+" off energy (in MeV). If this input is missing,
" AP(medium) will be used.
" [ PCUT ]
" Global SMAX= Global (in all regions) maximum step-size
@@ -886,14 +887,14 @@ subroutine get_transport_parameter(ounit);
" ESTEPE= Maximum fractional energy loss per step.
" Note that this is a global option only, no
" region-by-region setting is possible. If missing,
-" the defualt is 0.25 (25%).
+" the default is 0.25 (25%).
" [ ESTEPE ]
" XImax= Maximum first elastic scattering moment per step.
" Default is 0.5, NEVER use value greater than 1 as
" this is beyond the range of MS data available.
" [ XIMAX ]
-" Boundary crossing algorithm=
-" There are two selections possible: EXACT, means
+" Boundary crossing algorithm= EXACT (default), PRESTA-I
+" There are two selections possible: EXACT means
" the algorithm will cross boundaries in a single
" scattering (SS) mode, the distance from a boundary
" at which the transition to SS mode is made is
@@ -907,25 +908,23 @@ subroutine get_transport_parameter(ounit);
" Determines the distance from a boundary (in elastic
" MFP) at which the algorithm will go into single
" scattering mode (if EXACT boundary crossing) or
-" swith off lateral correlations (if PRESTA-I boundary
+" switch off lateral correlations (if PRESTA-I boundary
" crossing). Default value is 3 for EXACT or
" exp(BLCMIN)/BLCMIN for PRESTA-I (see the PRESTA paper
" for a definition of BLCMIN). Note that if you choose
" EXACT boundary crossing and set Skin depth for BCA
" to a very large number (e.g. 1e10), the entire
-" calculation will be in SS mode. If you choose
-" PRESTA-I boundary crossing and make Skin depth for BCA
-" large, you will get default EGS4 behavious (no PRESTA)
+" calculation will be in single-scattering mode. If you
+" choose PRESTA-I boundary crossing and make Skin depth
+" for BCA large, you will get default EGS4 behaviour
+" (no PRESTA).
" [ skindepth_for_bca ]
-" Electron-step algorithm=
-" PRESTA-II (the default), the name is
-" used for historical reasons
-" or PRESTA-I
+" Electron-step algorithm= PRESTA-II (default), PRESTA-I (legacy)
" Determines the algorithm used to take into account
" lateral and longitudinal correlations in a
" condensed history step.
" [ transport_algorithm ]
-" Spin effects= Off, On, default is On
+" Spin effects= Off, On (default)
" Turns off/on spin effects for electron elastic
" scattering. Spin On is ABSOLUTELY necessary for
" good backscattering calculations. Will make a
@@ -933,7 +932,7 @@ subroutine get_transport_parameter(ounit);
" (e.g. depth dose curves for RTP energy range
" electrons).
" [ spin_effects ]
-" Brems angular sampling= Simple, KM, default is KM
+" Brems angular sampling= Simple, KM (default)
" If Simple, use only the leading term of the Koch-Motz
" distribution to determine the emission angle of
" bremsstrahlung photons. If KM, complete
@@ -941,7 +940,7 @@ subroutine get_transport_parameter(ounit);
" concern proper handling of kinematics at low energies,
" makes 2BS almost the same as 2BN at low energies).
" [ IBRDST ]
-" Brems cross sections= BH, NIST, NRC default is BH
+" Brems cross sections= BH (default), NIST, NRC
" If BH is selected, the Bethe-Heitler bremsstrahlung
" cross sections (Coulomb corrected above 50 MeV)
" will be used. If NIST is selected, the NIST brems
@@ -955,6 +954,7 @@ subroutine get_transport_parameter(ounit);
" (corrections to the NIST data is typically only
" significant for low values of the atomic number Z
" and for k/T < 0.005).
+" [ ibr_nist ]
" Triplet production= On or Off (default). Turns on/off simulation
" of triplet production. If On, then Borsellino's
" first Born approximation is used to sample triplet
@@ -969,10 +969,10 @@ subroutine get_transport_parameter(ounit);
" broadenning). With norej the actual total bound
" Compton cross section is used and there are no
" rejections at run time.
-" Make sure to use for low energy applications,
+" Make sure to turn on for low energy applications,
" not necessary above, say, 1 MeV.
" [ IBCMP ]
-" Radiative Compton corrections= On or Off (default). If on, then
+" Radiative Compton corrections= On or Off (default). If On, then
" include radiative corrections for Compton scattering.
" Equations are based on original Brown & Feynman
" equations (Phys. Rev. 85, p 231--1952). Requires
@@ -982,23 +982,26 @@ subroutine get_transport_parameter(ounit);
" $(EGS_SOURCEDIR)get_inputs.mortran).
" [ radc_flag ]
" Electron Impact Ionization= Off (default), On, casnati, kolbenstvedt,
-" gryzinski, penelope. If set to On or ik, then use
-" Kawrakow's theory to derive EII cross-sections.
-" If set to casnati, then
-" use the cross-sections of Casnati (contained in the
-" file ($HEN_HOUSE/data/eii_casnati.data). Similar for
-" kolbenstvedt, gryzinski and penelope. This is only of
-" interest in kV X-ray calculations.
-" Case-sensitive except for Off, On or ik options.
-" [ eii_flag ]
-" Pair angular sampling= Off, Simple, KM.
+" gryzinski or penelope. If set to On or ik, then
+" use Kawrakow's theory to derive EII cross-sections.
+" If set to casnati, then use the cross-sections of
+" Casnati (from file $HEN_HOUSE/data/eii_casnati.data).
+" Similar for kolbenstvedt, gryzinski and penelope.
+" This is only of interest in kV X-ray calculations.
+" Note that the user can supply their own EII
+" cross-section data as well. The requirement is that
+" the file eii_suffix.data exists in the $HEN_HOUSE/data
+" directory, where suffix is the name specified.
+" Entry is case-sensitive except for Off, On or ik.
+" [ eii_flag, eii_xfile ]
+" Pair angular sampling= Off, Simple (default), KM.
" If off, pairs are set in motion at an angle m/E
" relative to the photon direction (m is electron rest
" energy, E the photon energy). Simple turns on
" the leading term of the angular distribution
" (this is sufficient for most applications),
" KM (comes from Koch and Motz) turns on using 2BS
-" from the article by Koch and Motz. Uniform
+" from the article by Koch and Motz.
" Default is Simple, make sure you always use
" Simple or KM
" [ IPRDST ]
@@ -1007,12 +1010,12 @@ subroutine get_transport_parameter(ounit);
" to NRC, then use NRC pair production cross-sections
" (in file $HEN_HOUSE/data/pair_nrc1.data). Only
" of interest at low energies, where the NRC cross-
-" sections take into account the assymmetry in the
+" sections take into account the asymmetry in the
" positron-electron energy distribution.
" [ pair_nrc ]
" Photon cross sections= Photon cross-section data. Current options are
" si (Storm-Israel), epdl (Evaluated Photon Data
-" Library), xcom (the default), pegs4, mcdf-xcom and
+" Library), xcom (default), pegs4, mcdf-xcom and
" mcdf-epdl:
" Allows the use of photon cross-sections other than
" from the PEGS4 file (unless the pegs4 option is
@@ -1028,8 +1031,7 @@ subroutine get_transport_parameter(ounit);
" photon_xsections_triplet.data, and
" photon_xsections_rayleigh.data exist in the
" $HEN_HOUSE/data directory, where photon_xsections
-" is the name specified.
-" Hence this entry is case-sensitive.
+" is the name specified. This entry is case-sensitive.
" [ photon_xsections ]
" Photon cross-sections output= Off (default) or On. If On, then
" a file $EGS_HOME/user_code/inputfile.xsections is
@@ -1044,13 +1046,13 @@ subroutine get_transport_parameter(ounit);
" (see below). The default file (ie in the absence
" of any user-supplied data) is compton_sigma.data.
" [ comp_xsections ]
-" Rayleigh scattering= Off, On, custom
-" If On, turn on coherent (Rayleigh) scattering.
+" Rayleigh scattering= Off, On (default), custom
+" If On, turns on coherent (Rayleigh) scattering.
" Default is On. Should be turned on for low energy
-" applications.
-" If custom, user must provide media names and form
-" factor files for each desired medium. For the rest
-" of the media, default atomic FF are used.
+" applications. If custom, user must provide media names
+" and form factor files for each desired medium. The
+" rest of the media use the default atomic form factors.
+" A PEGS4 data set is not required anymore.
" [ IRAYLR ]
" ff media names = A list of media names (must match media found in
" PEGS4 data file) for which the user is going to
@@ -1080,22 +1082,20 @@ subroutine get_transport_parameter(ounit);
" is set to 'default', the default file is
" iaea_photonuc.data.
" [ photonuc_xsections ]
-" Photoelectron angular sampling= Off or On
+" Photoelectron angular sampling= Off or On (default)
" If Off, photo-electrons get the direction of the
-" `mother' photon, with On, Sauter's furmula is
-" used (which is, striktly speaking, valid only for
+" `mother' photon, with On, Sauter's formula is
+" used (which is, strictly speaking, valid only for
" K-shell photo-absorption).
" If the user has a better approach, replace the macro
" $SELECT-PHOTOELECTRON-DIRECTION;
-" The only application that
-" I encountered until now where this option made a
-" small difference was a big ion chamber (cavity size
-" comparable with electron range) with high-Z walls
-" in a low energy photon beam.
-" Default is On
+" The only application encountered where this option
+" made a small difference was a big ion chamber
+" (cavity size comparable with electron range)
+" with high-Z walls in a low energy photon beam.
" [ IPHTER ]
-" Atomic relaxations= Off, On, eadl, simple
-" Default is eadl. On defaults to eadl.
+" Atomic relaxations= Off, On, eadl (default), simple
+" On defaults to eadl.
" When simulating atomic relaxations:
" - In photo-electric absorption events, the element
" (if material is mixture) and the shell the photon
@@ -1105,27 +1105,26 @@ subroutine get_transport_parameter(ounit);
" compton and electron impact ionization events
" are relaxed via emission of fluorescent X-Rays,
" Auger and Koster-Cronig electrons.
-" The eadl option features a more accurate treatment
-" of relaxation events and uses binding energies
-" consistent with those in of the photon cross sections
-" used in the simulation. If using mcdf-xcom or
-" mcdf-epdl photon cross sections, you cannot use
-" the simple option and this will automatically get
-" reset to eadl.
-" Make sure to use eadl or simple for low energy
-" applications.
-" [ IEDGFL ]
+" The eadl option features a more accurate treatment
+" of relaxation events and uses binding energies
+" consistent with those in of the photon cross sections
+" used in the simulation. If using mcdf-xcom or
+" mcdf-epdl photon cross sections, you cannot use
+" the simple option and this will automatically get
+" reset to eadl. Make sure to use eadl or simple for
+" low energy applications.
+" [ IEDGFL ]
"
-" Atomic relaxations, Rayleigh scattering,
-" Photoelectron angular sampling and Bound Compton scattering
-" and photonuclear effect(Ali:photonuc)
-" can also be turned On/Off on a region-by-region
-" basis. To do so, put e.g.
+" Atomic relaxations, Rayleigh scattering, Photoelectron angular sampling,
+" Bound Compton scattering and photonuclear effect (Ali:photonuc)
+" can also be turned On/Off on a region-by-region basis. An example for
+" Atomic relaxations on a region-by-region basis is:
"
" Atomic relaxations= On in Regions or
" Atomic relaxations= Off in regions
"
-" in your input file. Then use
+" Then define the regions in which you want
+" the feature to be turned on:
"
" Bound Compton start region=
" Bound Compton stop region=
@@ -1142,16 +1141,18 @@ subroutine get_transport_parameter(ounit);
" Photonuclear start region=
" Photonuclear stop region=
"
-" each followed by a lost of of one or more
+" each followed by a list of one or more
" start and stop regions separated by commas.
" Example:
+"
" Atomic relaxations= On in Regions
" Relaxations start region= 1, 40
" Relaxations stop region= 10, 99
+"
" will first turn off relaxations everywhere and
" then turn on in regions 1-10 and 40-99.
-" Note that input is checked against min. and max.
-" region number and ignored if
+" Note that the input is checked against minimum
+" and maximum region numbers and ignored if
" start region < 1 or stop_region > $MXREG or
" start region > stop region.
"
diff --git a/HEN_HOUSE/src/get_media_inputs.mortran b/HEN_HOUSE/src/get_media_inputs.mortran
index 477f8d433..dcfe65607 100644
--- a/HEN_HOUSE/src/get_media_inputs.mortran
+++ b/HEN_HOUSE/src/get_media_inputs.mortran
@@ -24,6 +24,7 @@
" Authors: Blake Walters, 2013 "
" "
" Contributors: Reid Townson "
+" Frederic Tessier "
" "
"#############################################################################"
@@ -256,18 +257,8 @@ DO I = NMIN, NMAX [ "for each value_sought"
]
"===============read the value(i)======================="
- IF ( (lnblnk1(TEXT)=0) | (lnblnk1(TEXT)=1) )
+ IF ( (lnblnk1(TEXT)=0) )
[
- IF (vname(:ivname)='TITLE')
- [
- READ (UNITNUM,FMT='(A256)') TEXTPIECE;
- IF (lnblnk1(TEXTPIECE)~=0) [
- TEXT=TEXTPIECE(:lnblnk1(TEXTPIECE));
- $SKIP LEADING BLANKS IN text;
- $SKIP LEADING BLANKS IN origtext;
- GOTO :TITLE-THERE:;
- ]
- ]
IF( error_level > 0 ) [
WRITE (ERR,*) '*************ERROR*************';
WRITE (ERR,*) 'VALUE SOUGHT: ',VALUES_SOUGHT(I);
@@ -277,7 +268,6 @@ DO I = NMIN, NMAX [ "for each value_sought"
ERROR_FLAGS(I)=1;
RETURN;
]
-:TITLE-THERE:
CONTINUE;
" Always check for default. The following sets the value to "
@@ -451,16 +441,11 @@ DO I = NMIN, NMAX [ "for each value_sought"
ERROR_FLAGS(I)=1;
RETURN;
]
- IF (vname(:ivname)='TITLE') [
- TEXTPIECE=origtext;
- GOTO :READ-IT:
- ]
iindex = INDEX(origtext,',');
IF ( iindex ~= 0 ) [ TEXTPIECE=origtext(:iindex-1); ]
ELSE [ TEXTPIECE=origtext; ]
"The above is to avoid conversion to upper case"
"for e.g. media names "
- :READ-IT:
CONTINUE;
READ(TEXTPIECE,ERR=:GI1008:,FMT='(A256)') CHAR_VALUE(I,IVAL);
$SKIP LEADING BLANKS IN CHAR_VALUE(I,IVAL);
@@ -913,7 +898,7 @@ DO i=1,NMED[
sterncid_tmp=medium_name;
gasp_tmp=0.0;
iunrst_tmp=0;
- iaprim_tmp=0;
+ iaprim_tmp=1;
epstfl_tmp=0;
density_file=' ';
@@ -1332,16 +1317,16 @@ DO i=1,NMED[
IF(densityfile_specified)[
"if a file separator is specified in the name, assume the full path + name"
"of the file is specified"
- write(*,*)' density_file ',density_file;
- IF(index(density_file,$file_sep)>0) [
+ write(*,*)' density_file ',density_file;
+ IF(index(density_file,$file_sep)>0) [
tmp_string=$cstring(density_file);
inquire(file=tmp_string,exist=ex);
IF(~ex)[
$WRITE_MEDERR(' Error: Density correction file ',tmp_string);
$WRITE_MEDERR(' cannot be found.');
]
- ]
- ELSE [
+ ]
+ ELSE [
density_file=$cstring(density_file)//'.density';
"first look in $EGS_HOME/pegs4/density_corrections"
tmp_string=$cstring(egs_home) // 'pegs4' // $file_sep //
@@ -1386,10 +1371,10 @@ DO i=1,NMED[
$WRITE_MEDERR(
' $HEN_HOUSE/pegs4/density_corrections/compounds.');
:density_file_found:
- ]
- ]
+ ]
+ ]
- IF(densityfile_specified)[
+ IF(densityfile_specified)[
"now try to open it"
i_density=19;
i_density=egs_get_unit(i_density);
@@ -1502,7 +1487,7 @@ DO i=1,NMED[
"close the density file"
close(i_density);
- ]
+ ]
"okay, now commit this to the media library"
IF(elements_specified & rho_specified)[
@@ -1642,7 +1627,7 @@ DO i=1,nmed[
:got_outfile:
IFLAG1=0;IFLAG2=0;IPLOTE=0;MEDIUM=i;
XAXIS = 'kinetic energy / MeV';
- YAXISE = 'dE/drhoX MeV/g/cm\\S2\\N';
+ YAXISE = 'dE/drhoX MeV/g/cm\S2\N';
YAXISEmfp = 'mean free path / cm';
YAXISPmfp = 'mean free path / cm';
write(GRAPHTITLE,'(24a1)')(media(j,i),j=1,24);
diff --git a/HEN_HOUSE/src/nrcaux.mortran b/HEN_HOUSE/src/nrcaux.mortran
index 4bf7703e8..f4028e39f 100644
--- a/HEN_HOUSE/src/nrcaux.mortran
+++ b/HEN_HOUSE/src/nrcaux.mortran
@@ -26,6 +26,7 @@
" "
" Contributors: Ernesto Mainegra-Hing "
" Reid Townson "
+" Blake Walters "
" "
"#############################################################################"
" "
diff --git a/HEN_HOUSE/src/pegs4_routines.mortran b/HEN_HOUSE/src/pegs4_routines.mortran
index 7cec059e0..f160d0367 100644
--- a/HEN_HOUSE/src/pegs4_routines.mortran
+++ b/HEN_HOUSE/src/pegs4_routines.mortran
@@ -23,7 +23,7 @@
" "
" Authors: Blake Walters, 2013 "
" "
-" Contributors: "
+" Contributors: Frederic Tessier "
" "
"#############################################################################"
" "
@@ -654,8 +654,8 @@ $REAL4 FUNCTION APRIM(Z,E);
" EMPIRICAL CORRECTION FACTOR TO BREMS CROSS SECTION "
" This version can be switched to use different values: "
-" IAPRIM = 0 equivalent to old PEGS4 (default) "
-" 1 reads in values from unit 22 "
+" IAPRIM = 0 equivalent to old PEGS4 "
+" 1 reads in values from unit 22 (default) "
" 2 sets APRIM to 1.0 "
" Future changes can be accommodated by reading in "
" different data on unit 22 and if necessary changing the array sizes: "
diff --git a/HEN_HOUSE/user_codes/cavity/array_sizes.h b/HEN_HOUSE/user_codes/cavity/array_sizes.h
index 5ee2d5fca..004066417 100644
--- a/HEN_HOUSE/user_codes/cavity/array_sizes.h
+++ b/HEN_HOUSE/user_codes/cavity/array_sizes.h
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
#
diff --git a/HEN_HOUSE/user_codes/cavity/cavity.cpp b/HEN_HOUSE/user_codes/cavity/cavity.cpp
index 708127f90..08bb32db9 100644
--- a/HEN_HOUSE/user_codes/cavity/cavity.cpp
+++ b/HEN_HOUSE/user_codes/cavity/cavity.cpp
@@ -25,6 +25,7 @@
#
# Contributors: Ernesto Mainegra-Hing
# Reid Townson
+# Blake Walters
#
###############################################################################
#
@@ -1507,7 +1508,7 @@ class APP_EXPORT Cavity_Application : public EGS_AdvancedApplication {
spe_output << "@ xaxis label char size 1.560000\n";
spe_output << "@ xaxis label font 4\n";
spe_output << "@ xaxis ticklabel font 4\n";
- spe_output << "@ yaxis label \"fluence / MeV\\S-1\\Ncm\\S-2\"\n";
+ spe_output << "@ yaxis label \"fluence / MeV\S-1\Ncm\S-2\"\n";
spe_output << "@ yaxis label char size 1.560000\n";
spe_output << "@ yaxis label font 4\n";
spe_output << "@ yaxis ticklabel font 4\n";
diff --git a/HEN_HOUSE/user_codes/cavrznrc/cavrznrc.io b/HEN_HOUSE/user_codes/cavrznrc/cavrznrc.io
index ebab4d767..8f64d1f73 100644
--- a/HEN_HOUSE/user_codes/cavrznrc/cavrznrc.io
+++ b/HEN_HOUSE/user_codes/cavrznrc/cavrznrc.io
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2003
#
# Contributors: Ernesto Mainegra-Hing
+# Blake Walters
#
###############################################################################
#
diff --git a/HEN_HOUSE/user_codes/cavrznrc/cavrznrc.mortran b/HEN_HOUSE/user_codes/cavrznrc/cavrznrc.mortran
index 3d244cfe0..a0bc1a458 100644
--- a/HEN_HOUSE/user_codes/cavrznrc/cavrznrc.mortran
+++ b/HEN_HOUSE/user_codes/cavrznrc/cavrznrc.mortran
@@ -30,6 +30,8 @@
" Ernesto Mainegra-Hing "
" Leslie Buckley "
" Blake Walters "
+" Reid Townson "
+" Frederic Tessier "
" "
"#############################################################################"
" "
@@ -889,7 +891,7 @@ REPLACE {$MXMDSH} WITH {200}
" All input associated with selection of various transport parameter
" is not crucial for the execution as there are default values set.
" Therefore, if some of the input options in this section are
-" missing/misspelled, this will be ignored and defualt parameter assumed
+" missing/misspelled, this will be ignored and default parameter assumed
" As the transport parameter input routine uses get_inputs, a lot
" of error/warning messages may be produced on UNIT 15, though.
" If you don't have the intention of changing default settings,
@@ -906,37 +908,37 @@ REPLACE {$MXMDSH} WITH {200}
"
" in your input file.
"
-" Currently, the following options are available (except for a few entries,
-" case does not matter):
+" Currently, the following options are available (case does not matter and
+" the internal variables are shown in [ ] brackets):
"
-" Global ECUT= Set a global (in all regions) electron transport
-" cut off energy (in MeV). If this imput is missing,
+" Global ECUT= Global (in all regions) electron transport cut
+" off energy (in MeV). If this input is missing,
" AE(medium) will be used.
" [ ECUT ]
-" Global PCUT= Set a global (in all regions) photon transport
-" cut off energy (in MeV). If this imput is missing,
+" Global PCUT= Global (in all regions) photon transport cut
+" off energy (in MeV). If this input is missing,
" AP(medium) will be used.
" [ PCUT ]
-" Global SMAX= Set a global (in all regions) maximum step-size
+" Global SMAX= Global (in all regions) maximum step-size
" restriction for electron transport (in cm).
-" If missing, no geometrical step-size restrictions will
-" be employed. Note that if you use the default
+" If missing, no geometrical step-size restrictions
+" will be employed. Note that if you use the default
" EGSnrc electron-step algorithm, no SMAX-restriction
" is necessary. Option is useful for transport in low
" density materials (air) when PRESTA behaviour is
" turned on (see below)
" [ SMAXIR ]
-" ESTEPE= Set the maximum fractional energy loss per step.
+" ESTEPE= Maximum fractional energy loss per step.
" Note that this is a global option only, no
" region-by-region setting is possible. If missing,
-" the defualt is 0.25 (25%)
+" the default is 0.25 (25%).
" [ ESTEPE ]
" XImax= Maximum first elastic scattering moment per step.
" Default is 0.5, NEVER use value greater than 1 as
" this is beyond the range of MS data available.
" [ XIMAX ]
-" Boundary crossing algorithm=
-" There are two selections possible: EXACT, means
+" Boundary crossing algorithm= EXACT (default), PRESTA-I
+" There are two selections possible: EXACT means
" the algorithm will cross boundaries in a single
" scattering (SS) mode, the distance from a boundary
" at which the transition to SS mode is made is
@@ -950,52 +952,84 @@ REPLACE {$MXMDSH} WITH {200}
" Determines the distance from a boundary (in elastic
" MFP) at which the algorithm will go into single
" scattering mode (if EXACT boundary crossing) or
-" swith off lateral correlations (if PRESTA-I boundary
+" switch off lateral correlations (if PRESTA-I boundary
" crossing). Default value is 3 for EXACT or
" exp(BLCMIN)/BLCMIN for PRESTA-I (see the PRESTA paper
" for a definition of BLCMIN). Note that if you choose
" EXACT boundary crossing and set Skin depth for BCA
" to a very large number (e.g. 1e10), the entire
-" calculation will be in SS mode. If you choose
-" PRESTA-I boundary crossing and make Skin depth for BCA
-" large, you will get default EGS4 behavious (no PRESTA)
+" calculation will be in single-scattering mode. If you
+" choose PRESTA-I boundary crossing and make Skin depth
+" for BCA large, you will get default EGS4 behaviour
+" (no PRESTA).
" [ skindepth_for_bca ]
-" Electron-step algorithm=
-" PRESTA-II (the default), the name is
-" used for historical reasons
-" or PRESTA-I
+" Electron-step algorithm= PRESTA-II (default), PRESTA-I (legacy)
" Determines the algorithm used to take into account
" lateral and longitudinal correlations in a
" condensed history step.
" [ transport_algorithm ]
-" Spin effects= Off, On, default is On
+" Spin effects= Off, On (default)
" Turns off/on spin effects for electron elastic
" scattering. Spin On is ABSOLUTELY necessary for
" good backscattering calculations. Will make a
-" even in `well conditioned' situations (e.g. depth
-" dose curves for RTP energy range electrons).
+" difference even in `well conditioned' situations
+" (e.g. depth dose curves for RTP energy range
+" electrons).
" [ spin_effects ]
-" Brems angular sampling= Simple, KM, default is KM
+" Brems angular sampling= Simple, KM (default)
" If Simple, use only the leading term of the Koch-Motz
" distribution to determine the emission angle of
-" bremsstrahlung photons. If On, complete
+" bremsstrahlung photons. If KM, complete
" modified Koch-Motz 2BS is used (modifications
" concern proper handling of kinematics at low energies,
" makes 2BS almost the same as 2BN at low energies).
" [ IBRDST ]
-" Brems cross sections= BH, NIST, default is BH
+" Brems cross sections= BH (default), NIST, NRC
" If BH is selected, the Bethe-Heitler bremsstrahlung
" cross sections (Coulomb corrected above 50 MeV)
" will be used. If NIST is selected, the NIST brems
" cross section data base (which is the basis for
" the ICRU radiative stopping powers) will be employed.
" Differences are negligible for E > ,say, 10 MeV,
-" but signifficant in the keV energy range.
+" but significant in the keV energy range. If NRC is
+" selected, the NRC brems cross-section data base will
+" be used, which is a version of the NIST data base
+" with corrected electron-electron brems contributions
+" (corrections to the NIST data is typically only
+" significant for low values of the atomic number Z
+" and for k/T < 0.005).
+" [ ibr_nist ]
+" Triplet production= On or Off (default). Turns on/off simulation
+" of triplet production. If On, then Borsellino's
+" first Born approximation is used to sample triplet
+" events based on the triplet cross-section data.
+" [ itriplet ]
+" Bound Compton scattering= On, Off, Simple or norej (default)
+" If Off, Compton scattering will be treated with
+" Klein-Nishina, with On Compton scattering is
+" treated in the Impulse approximation.
+" With Simple, the impulse approximation incoherent
+" scattering function will be used (i.e., no Doppler
+" broadenning). With norej the actual total bound
+" Compton cross section is used and there are no
+" rejections at run time.
+" Make sure to turn on for low energy applications,
+" not necessary above, say, 1 MeV.
+" [ IBCMP ]
+" Radiative Compton corrections= On or Off (default). If On, then
+" include radiative corrections for Compton scattering.
+" Equations are based on original Brown & Feynman
+" equations (Phys. Rev. 85, p 231--1952). Requires
+" a change to the user codes Makefile to include
+" $(EGS_SOURCEDIR)rad_compton1.mortran in the
+" SOURCES (just before
+" $(EGS_SOURCEDIR)get_inputs.mortran).
+" [ radc_flag ]
" Electron Impact Ionization= Off (default), On, casnati, kolbenstvedt,
" gryzinski or penelope. If set to On or ik, then
" use Kawrakow's theory to derive EII cross-sections.
" If set to casnati, then use the cross-sections of
-" Casnati (from file ($HEN_HOUSE/data/eii_casnati.data).
+" Casnati (from file $HEN_HOUSE/data/eii_casnati.data).
" Similar for kolbenstvedt, gryzinski and penelope.
" This is only of interest in kV X-ray calculations.
" Note that the user can supply their own EII
@@ -1003,20 +1037,8 @@ REPLACE {$MXMDSH} WITH {200}
" the file eii_suffix.data exists in the $HEN_HOUSE/data
" directory, where suffix is the name specified.
" Entry is case-sensitive except for Off, On or ik.
-" [ eii_flag ]
-" Bound Compton scattering= On, Off, Simple or norej
-" If Off, Compton scattering will be treated with
-" Klein-Nishina, with On Compton scattering is
-" treated in the Impuls approximation. Default is On.
-" With Simple, the impulse approximation incoherent
-" scattering function will be used (i.e., no Doppler
-" broadenning). With norej the actual total bound
-" Compton cross section is used and there are no
-" rejections at run time.
-" Make sure to turn on for low energy applications,
-" not necessary above, say, 1 MeV.
-" [ IBCMP ]
-" Pair angular sampling= Off, Simple or KM
+" [ eii_flag, eii_xfile ]
+" Pair angular sampling= Off, Simple (default), KM.
" If off, pairs are set in motion at an angle m/E
" relative to the photon direction (m is electron rest
" energy, E the photon energy). Simple turns on
@@ -1024,22 +1046,28 @@ REPLACE {$MXMDSH} WITH {200}
" (this is sufficient for most applications),
" KM (comes from Koch and Motz) turns on using 2BS
" from the article by Koch and Motz.
-" Default is Simple, make sure you always use Simple or
-" KM
+" Default is Simple, make sure you always use
+" Simple or KM
" [ IPRDST ]
" Pair cross sections= BH (default) or NRC. If set to BH, then use
" Bethe-Heitler pair production cross-sections. If set
" to NRC, then use NRC pair production cross-sections
" (in file $HEN_HOUSE/data/pair_nrc1.data). Only
" of interest at low energies, where the NRC cross-
-" sections take into account the assymmetry in the
+" sections take into account the asymmetry in the
" positron-electron energy distribution.
" [ pair_nrc ]
" Photon cross sections= Photon cross-section data. Current options are
-" si (Storm-Israel--the default), epdl (Evaluated Photon
-" Data Library), xcom and pegs4. Allows the use of
-" photon cross-sections other than from the PEGS4 file
-" unless the pegs4 option is specified.
+" si (Storm-Israel), epdl (Evaluated Photon Data
+" Library), xcom (default), pegs4, mcdf-xcom and
+" mcdf-epdl:
+" Allows the use of photon cross-sections other than
+" from the PEGS4 file (unless the pegs4 option is
+" specified). Options mcdf-xcom and mcdf-epdl use
+" Sabbatucci and Salvat's renormalized photoelectric
+" cross sections with either xcom or epdl for all other
+" cross sections. These are more accurate but can
+" increase CPU time by up to 6 %.
" Note that the user can supply their own cross-section
" data as well. The requirement is that the files
" photon_xsections_photo.data,
@@ -1047,8 +1075,7 @@ REPLACE {$MXMDSH} WITH {200}
" photon_xsections_triplet.data, and
" photon_xsections_rayleigh.data exist in the
" $HEN_HOUSE/data directory, where photon_xsections
-" is the name specified.
-" Hence this entry is case-sensitive.
+" is the name specified. This entry is case-sensitive.
" [ photon_xsections ]
" Photon cross-sections output= Off (default) or On. If On, then
" a file $EGS_HOME/user_code/inputfile.xsections is
@@ -1063,26 +1090,13 @@ REPLACE {$MXMDSH} WITH {200}
" (see below). The default file (ie in the absence
" of any user-supplied data) is compton_sigma.data.
" [ comp_xsections ]
-" Photoelectron angular sampling= Off or On
-" If Off, photo-electrons get the direction of the
-" `mother' photon, with On, Sauter's furmula is
-" used (which is, striktly speaking, valid only for
-" K-shell photo-absorption).
-" If the user has a better approach, replace the macro
-" $SELECT-PHOTOELECTRON-DIRECTION;
-" The only application that
-" I encountered until now where this option made a
-" small difference was a big ion chamber (cavity size
-" comparable with electron range) with high-Z walls
-" in a low energy photon beam.
-" Default is On
-" [ IPHTER ]
-" Rayleigh scattering= Off, On, custom
-" If On, turn on coherent (Rayleigh) scattering,
-" even if no Rayleigh data in PEGS4 file.
-" Default is Off. Should be turned on for low energy
+" Rayleigh scattering= Off, On (default), custom
+" If On, turns on coherent (Rayleigh) scattering.
+" Default is On. Should be turned on for low energy
" applications. If custom, user must provide media names
-" and form factor files for each medium.
+" and form factor files for each desired medium. The
+" rest of the media use the default atomic form factors.
+" A PEGS4 data set is not required anymore.
" [ IRAYLR ]
" ff media names = A list of media names (must match media found in
" PEGS4 data file) for which the user is going to
@@ -1097,28 +1111,63 @@ REPLACE {$MXMDSH} WITH {200}
" example files, see the directory
" $HEN_HOUSE/data/molecular_form_factors.
" [ iray_ff_file($MXMED) ]
-" Atomic relaxations= Off, On
-" Default is On. The effect of using On is twofold:
+" Photonuclear attenuation= Off (default) or On
+" If On, models the photonuclear effect. Current
+" implementation is crude. Available on a
+" region-by-region basis (see below)
+" [ IPHOTONUCR ]
+" Photonuclear cross sections= Total photonuclear cross sections. User-
+" supplied total photonuclear cross-sections in
+" $HEN_HOUSE/data/photonuc_xsections_photonuc.data,
+" where photonuc_xsections is the name supplied for
+" this input (case sensitive). In the absence of
+" any user-supplied data, or if photonuc_xsections
+" is set to 'default', the default file is
+" iaea_photonuc.data.
+" [ photonuc_xsections ]
+" Photoelectron angular sampling= Off or On (default)
+" If Off, photo-electrons get the direction of the
+" `mother' photon, with On, Sauter's formula is
+" used (which is, strictly speaking, valid only for
+" K-shell photo-absorption).
+" If the user has a better approach, replace the macro
+" $SELECT-PHOTOELECTRON-DIRECTION;
+" The only application encountered where this option
+" made a small difference was a big ion chamber
+" (cavity size comparable with electron range)
+" with high-Z walls in a low energy photon beam.
+" [ IPHTER ]
+" Atomic relaxations= Off, On, eadl (default), simple
+" On defaults to eadl.
+" When simulating atomic relaxations:
" - In photo-electric absorption events, the element
" (if material is mixture) and the shell the photon
" is interacting with are sampled from the appropriate
-" cross seections
-" - Shell vacancies created in photo-absorption events
+" cross sections
+" - Shell vacancies created in photoelectric,
+" compton and electron impact ionization events
" are relaxed via emission of fluorescent X-Rays,
" Auger and Koster-Cronig electrons.
-" Make sure to turn this option on for low energy
-" applications.
-" [ IEDGFL ]
-"
-" Atomic relaxations, Rayleigh scattering,
-" Photoelectron angular sampling and Bound Compton scattering
-" can also be turned On/Off on a region-by-region
-" basis. To do so, put e.g.
+" The eadl option features a more accurate treatment
+" of relaxation events and uses binding energies
+" consistent with those in of the photon cross sections
+" used in the simulation. If using mcdf-xcom or
+" mcdf-epdl photon cross sections, you cannot use
+" the simple option and this will automatically get
+" reset to eadl. Make sure to use eadl or simple for
+" low energy applications.
+" [ IEDGFL ]
+"
+" Atomic relaxations, Rayleigh scattering, Photoelectron angular sampling,
+" Bound Compton scattering and photonuclear effect
+" can also be turned On/Off on a region-by-region basis. An example for
+" Atomic relaxations on a region-by-region basis is:
"
" Atomic relaxations= On in Regions or
" Atomic relaxations= Off in regions
"
-" in your input file. Then use
+" Then define the regions in which you want
+" the feature to be turned on:
"
" Bound Compton start region=
" Bound Compton stop region=
@@ -1131,17 +1180,22 @@ REPLACE {$MXMDSH} WITH {200}
" or
" PE sampling start region=
" PE sampling stop region=
+" or
+" Photonuclear start region=
+" Photonuclear stop region=
"
-" each followed by a lost of of one or more
+" each followed by a list of one or more
" start and stop regions separated by commas.
" Example:
+"
" Atomic relaxations= On in Regions
" Relaxations start region= 1, 40
" Relaxations stop region= 10, 99
+"
" will first turn off relaxations everywhere and
-" then turn off in regions 1-10 and 40-99.
-" Note that input is checked against min. and max.
-" region number and ignored if
+" then turn on in regions 1-10 and 40-99.
+" Note that the input is checked against minimum
+" and maximum region numbers and ignored if
" start region < 1 or stop_region > $MXREG or
" start region > stop region.
"
diff --git a/HEN_HOUSE/user_codes/cavsphnrc/cavsphnrc.mortran b/HEN_HOUSE/user_codes/cavsphnrc/cavsphnrc.mortran
index b4109c1e3..57d1d3ab3 100644
--- a/HEN_HOUSE/user_codes/cavsphnrc/cavsphnrc.mortran
+++ b/HEN_HOUSE/user_codes/cavsphnrc/cavsphnrc.mortran
@@ -28,6 +28,7 @@
" Iwan Kawrakow "
" Blake Walters "
" Frederic Tessier "
+" Reid Townson "
" "
"#############################################################################"
" "
@@ -380,37 +381,37 @@ REPLACE {$MXMDSH} WITH {200};
"
" in your input file.
"
-" Currently, the following options are available (except for a few entries,
-" case does not matter):
+" Currently, the following options are available (case does not matter and
+" the internal variables are shown in [ ] brackets):
"
-" Global ECUT= Set a global (in all regions) electron transport
-" cut off energy (in MeV). If this imput is missing,
+" Global ECUT= Global (in all regions) electron transport cut
+" off energy (in MeV). If this input is missing,
" AE(medium) will be used.
" [ ECUT ]
-" Global PCUT= Set a global (in all regions) photon transport
-" cut off energy (in MeV). If this imput is missing,
+" Global PCUT= Global (in all regions) photon transport cut
+" off energy (in MeV). If this input is missing,
" AP(medium) will be used.
" [ PCUT ]
-" Global SMAX= Set a global (in all regions) maximum step-size
+" Global SMAX= Global (in all regions) maximum step-size
" restriction for electron transport (in cm).
-" If missing, no geometrical step-size restrictions will
-" be employed. Note that if you use the default
+" If missing, no geometrical step-size restrictions
+" will be employed. Note that if you use the default
" EGSnrc electron-step algorithm, no SMAX-restriction
" is necessary. Option is useful for transport in low
" density materials (air) when PRESTA behaviour is
" turned on (see below)
" [ SMAXIR ]
-" ESTEPE= Set the maximum fractional energy loss per step.
+" ESTEPE= Maximum fractional energy loss per step.
" Note that this is a global option only, no
" region-by-region setting is possible. If missing,
-" the defualt is 0.25 (25%)
+" the default is 0.25 (25%).
" [ ESTEPE ]
" XImax= Maximum first elastic scattering moment per step.
" Default is 0.5, NEVER use value greater than 1 as
" this is beyond the range of MS data available.
" [ XIMAX ]
-" Boundary crossing algorithm=
-" There are two selections possible: EXACT, means
+" Boundary crossing algorithm= EXACT (default), PRESTA-I
+" There are two selections possible: EXACT means
" the algorithm will cross boundaries in a single
" scattering (SS) mode, the distance from a boundary
" at which the transition to SS mode is made is
@@ -424,64 +425,62 @@ REPLACE {$MXMDSH} WITH {200};
" Determines the distance from a boundary (in elastic
" MFP) at which the algorithm will go into single
" scattering mode (if EXACT boundary crossing) or
-" swith off lateral correlations (if PRESTA-I boundary
+" switch off lateral correlations (if PRESTA-I boundary
" crossing). Default value is 3 for EXACT or
" exp(BLCMIN)/BLCMIN for PRESTA-I (see the PRESTA paper
" for a definition of BLCMIN). Note that if you choose
" EXACT boundary crossing and set Skin depth for BCA
" to a very large number (e.g. 1e10), the entire
-" calculation will be in SS mode. If you choose
-" PRESTA-I boundary crossing and make Skin depth for BCA
-" large, you will get default EGS4 behavious (no PRESTA)
+" calculation will be in single-scattering mode. If you
+" choose PRESTA-I boundary crossing and make Skin depth
+" for BCA large, you will get default EGS4 behaviour
+" (no PRESTA).
" [ skindepth_for_bca ]
-" Electron-step algorithm=
-" PRESTA-II (the default), the name is
-" used for historical reasons
-" or PRESTA-I
+" Electron-step algorithm= PRESTA-II (default), PRESTA-I (legacy)
" Determines the algorithm used to take into account
" lateral and longitudinal correlations in a
" condensed history step.
" [ transport_algorithm ]
-" Spin effects= Off, On, default is On
+" Spin effects= Off, On (default)
" Turns off/on spin effects for electron elastic
" scattering. Spin On is ABSOLUTELY necessary for
" good backscattering calculations. Will make a
-" even in `well conditioned' situations (e.g. depth
-" dose curves for RTP energy range electrons).
+" difference even in `well conditioned' situations
+" (e.g. depth dose curves for RTP energy range
+" electrons).
" [ spin_effects ]
-" Brems angular sampling= Simple, KM, default is KM
+" Brems angular sampling= Simple, KM (default)
" If Simple, use only the leading term of the Koch-Motz
" distribution to determine the emission angle of
-" bremsstrahlung photons. If On, complete
+" bremsstrahlung photons. If KM, complete
" modified Koch-Motz 2BS is used (modifications
" concern proper handling of kinematics at low energies,
" makes 2BS almost the same as 2BN at low energies).
" [ IBRDST ]
-" Brems cross sections= BH, NIST, default is BH
+" Brems cross sections= BH (default), NIST, NRC
" If BH is selected, the Bethe-Heitler bremsstrahlung
" cross sections (Coulomb corrected above 50 MeV)
" will be used. If NIST is selected, the NIST brems
" cross section data base (which is the basis for
" the ICRU radiative stopping powers) will be employed.
" Differences are negligible for E > ,say, 10 MeV,
-" but signifficant in the keV energy range.
-" Electron Impact Ionization= Off (default), On, casnati, kolbenstvedt,
-" gryzinski or penelope. If set to On or ik, then
-" use Kawrakow's theory to derive EII cross-sections.
-" If set to casnati, then use the cross-sections of
-" Casnati (from file ($HEN_HOUSE/data/eii_casnati.data).
-" Similar for kolbenstvedt, gryzinski and penelope.
-" This is only of interest in kV X-ray calculations.
-" Note that the user can supply their own EII
-" cross-section data as well. The requirement is that
-" the file eii_suffix.data exists in the $HEN_HOUSE/data
-" directory, where suffix is the name specified.
-" Entry case-sensitive except for Off, On or ik.
-" [ eii_flag ]
-" Bound Compton scattering= On, Off, Simple or norej
+" but significant in the keV energy range. If NRC is
+" selected, the NRC brems cross-section data base will
+" be used, which is a version of the NIST data base
+" with corrected electron-electron brems contributions
+" (corrections to the NIST data is typically only
+" significant for low values of the atomic number Z
+" and for k/T < 0.005).
+" [ ibr_nist ]
+" Triplet production= On or Off (default). Turns on/off simulation
+" of triplet production. If On, then Borsellino's
+" first Born approximation is used to sample triplet
+" events based on the triplet cross-section data.
+" [ itriplet ]
+" Bound Compton scattering= On, Off, Simple or norej (default)
" If Off, Compton scattering will be treated with
" Klein-Nishina, with On Compton scattering is
-" treated in the Impuls approximation. Default is On.
+" treated in the Impulse approximation.
" With Simple, the impulse approximation incoherent
" scattering function will be used (i.e., no Doppler
" broadenning). With norej the actual total bound
@@ -490,7 +489,29 @@ REPLACE {$MXMDSH} WITH {200};
" Make sure to turn on for low energy applications,
" not necessary above, say, 1 MeV.
" [ IBCMP ]
-" Pair angular sampling= Off, Simple or KM
+" Radiative Compton corrections= On or Off (default). If On, then
+" include radiative corrections for Compton scattering.
+" Equations are based on original Brown & Feynman
+" equations (Phys. Rev. 85, p 231--1952). Requires
+" a change to the user codes Makefile to include
+" $(EGS_SOURCEDIR)rad_compton1.mortran in the
+" SOURCES (just before
+" $(EGS_SOURCEDIR)get_inputs.mortran).
+" [ radc_flag ]
+" Electron Impact Ionization= Off (default), On, casnati, kolbenstvedt,
+" gryzinski or penelope. If set to On or ik, then
+" use Kawrakow's theory to derive EII cross-sections.
+" If set to casnati, then use the cross-sections of
+" Casnati (from file $HEN_HOUSE/data/eii_casnati.data).
+" Similar for kolbenstvedt, gryzinski and penelope.
+" This is only of interest in kV X-ray calculations.
+" Note that the user can supply their own EII
+" cross-section data as well. The requirement is that
+" the file eii_suffix.data exists in the $HEN_HOUSE/data
+" directory, where suffix is the name specified.
+" Entry is case-sensitive except for Off, On or ik.
+" [ eii_flag, eii_xfile ]
+" Pair angular sampling= Off, Simple (default), KM.
" If off, pairs are set in motion at an angle m/E
" relative to the photon direction (m is electron rest
" energy, E the photon energy). Simple turns on
@@ -498,22 +519,28 @@ REPLACE {$MXMDSH} WITH {200};
" (this is sufficient for most applications),
" KM (comes from Koch and Motz) turns on using 2BS
" from the article by Koch and Motz.
-" Default is Simple, make sure you always use Simple or
-" KM
+" Default is Simple, make sure you always use
+" Simple or KM
" [ IPRDST ]
" Pair cross sections= BH (default) or NRC. If set to BH, then use
" Bethe-Heitler pair production cross-sections. If set
" to NRC, then use NRC pair production cross-sections
" (in file $HEN_HOUSE/data/pair_nrc1.data). Only
" of interest at low energies, where the NRC cross-
-" sections take into account the assymmetry in the
+" sections take into account the asymmetry in the
" positron-electron energy distribution.
" [ pair_nrc ]
" Photon cross sections= Photon cross-section data. Current options are
-" si (Storm-Israel--the default), epdl (Evaluated Photon
-" Data Library), xcom and pegs4. Allows the use of
-" photon cross-sections other than from the PEGS4 file
-" unless the pegs4 option is specified.
+" si (Storm-Israel), epdl (Evaluated Photon Data
+" Library), xcom (default), pegs4, mcdf-xcom and
+" mcdf-epdl:
+" Allows the use of photon cross-sections other than
+" from the PEGS4 file (unless the pegs4 option is
+" specified). Options mcdf-xcom and mcdf-epdl use
+" Sabbatucci and Salvat's renormalized photoelectric
+" cross sections with either xcom or epdl for all other
+" cross sections. These are more accurate but can
+" increase CPU time by up to 6 %.
" Note that the user can supply their own cross-section
" data as well. The requirement is that the files
" photon_xsections_photo.data,
@@ -521,8 +548,7 @@ REPLACE {$MXMDSH} WITH {200};
" photon_xsections_triplet.data, and
" photon_xsections_rayleigh.data exist in the
" $HEN_HOUSE/data directory, where photon_xsections
-" is the name specified.
-" Hence this entry is case-sensitive.
+" is the name specified. This entry is case-sensitive.
" [ photon_xsections ]
" Photon cross-sections output= Off (default) or On. If On, then
" a file $EGS_HOME/user_code/inputfile.xsections is
@@ -537,26 +563,13 @@ REPLACE {$MXMDSH} WITH {200};
" (see below). The default file (ie in the absence
" of any user-supplied data) is compton_sigma.data.
" [ comp_xsections ]
-" Photoelectron angular sampling= Off or On
-" If Off, photo-electrons get the direction of the
-" `mother' photon, with On, Sauter's furmula is
-" used (which is, striktly speaking, valid only for
-" K-shell photo-absorption).
-" If the user has a better approach, replace the macro
-" $SELECT-PHOTOELECTRON-DIRECTION;
-" The only application that
-" I encountered until now where this option made a
-" small difference was a big ion chamber (cavity size
-" comparable with electron range) with high-Z walls
-" in a low energy photon beam.
-" Default is On
-" [ IPHTER ]
-" Rayleigh scattering= Off, On, custom
-" If On, turn on coherent (Rayleigh) scattering,
-" even if no Rayleigh data in PEGS4 file.
-" Default is Off. Should be turned on for low energy
+" Rayleigh scattering= Off, On (default), custom
+" If On, turns on coherent (Rayleigh) scattering.
+" Default is On. Should be turned on for low energy
" applications. If custom, user must provide media names
-" and form factor files for each medium.
+" and form factor files for each desired medium. The
+" rest of the media use the default atomic form factors.
+" A PEGS4 data set is not required anymore.
" [ IRAYLR ]
" ff media names = A list of media names (must match media found in
" PEGS4 data file) for which the user is going to
@@ -571,28 +584,63 @@ REPLACE {$MXMDSH} WITH {200};
" example files, see the directory
" $HEN_HOUSE/data/molecular_form_factors.
" [ iray_ff_file($MXMED) ]
-" Atomic relaxations= Off, On
-" Default is On. The effect of using On is twofold:
+" Photonuclear attenuation= Off (default) or On
+" If On, models the photonuclear effect. Current
+" implementation is crude. Available on a
+" region-by-region basis (see below)
+" [ IPHOTONUCR ]
+" Photonuclear cross sections= Total photonuclear cross sections. User-
+" supplied total photonuclear cross-sections in
+" $HEN_HOUSE/data/photonuc_xsections_photonuc.data,
+" where photonuc_xsections is the name supplied for
+" this input (case sensitive). In the absence of
+" any user-supplied data, or if photonuc_xsections
+" is set to 'default', the default file is
+" iaea_photonuc.data.
+" [ photonuc_xsections ]
+" Photoelectron angular sampling= Off or On (default)
+" If Off, photo-electrons get the direction of the
+" `mother' photon, with On, Sauter's formula is
+" used (which is, strictly speaking, valid only for
+" K-shell photo-absorption).
+" If the user has a better approach, replace the macro
+" $SELECT-PHOTOELECTRON-DIRECTION;
+" The only application encountered where this option
+" made a small difference was a big ion chamber
+" (cavity size comparable with electron range)
+" with high-Z walls in a low energy photon beam.
+" [ IPHTER ]
+" Atomic relaxations= Off, On, eadl (default), simple
+" On defaults to eadl.
+" When simulating atomic relaxations:
" - In photo-electric absorption events, the element
" (if material is mixture) and the shell the photon
" is interacting with are sampled from the appropriate
-" cross seections
-" - Shell vacancies created in photo-absorption events
+" cross sections
+" - Shell vacancies created in photoelectric,
+" compton and electron impact ionization events
" are relaxed via emission of fluorescent X-Rays,
" Auger and Koster-Cronig electrons.
-" Make sure to turn this option on for low energy
-" applications.
-" [ IEDGFL ]
-"
-" Atomic relaxations, Rayleigh scattering,
-" Photoelectron angular sampling and Bound Compton scattering
-" can also be turned On/Off on a region-by-region
-" basis. To do so, put e.g.
+" The eadl option features a more accurate treatment
+" of relaxation events and uses binding energies
+" consistent with those in of the photon cross sections
+" used in the simulation. If using mcdf-xcom or
+" mcdf-epdl photon cross sections, you cannot use
+" the simple option and this will automatically get
+" reset to eadl. Make sure to use eadl or simple for
+" low energy applications.
+" [ IEDGFL ]
+"
+" Atomic relaxations, Rayleigh scattering, Photoelectron angular sampling,
+" Bound Compton scattering and photonuclear effect
+" can also be turned On/Off on a region-by-region basis. An example for
+" Atomic relaxations on a region-by-region basis is:
"
" Atomic relaxations= On in Regions or
" Atomic relaxations= Off in regions
"
-" in your input file. Then use
+" Then define the regions in which you want
+" the feature to be turned on:
"
" Bound Compton start region=
" Bound Compton stop region=
@@ -605,17 +653,22 @@ REPLACE {$MXMDSH} WITH {200};
" or
" PE sampling start region=
" PE sampling stop region=
+" or
+" Photonuclear start region=
+" Photonuclear stop region=
"
-" each followed by a lost of of one or more
+" each followed by a list of one or more
" start and stop regions separated by commas.
" Example:
+"
" Atomic relaxations= On in Regions
" Relaxations start region= 1, 40
" Relaxations stop region= 10, 99
+"
" will first turn off relaxations everywhere and
-" then turn off in regions 1-10 and 40-99.
-" Note that input is checked against min. and max.
-" region number and ignored if
+" then turn on in regions 1-10 and 40-99.
+" Note that the input is checked against minimum
+" and maximum region numbers and ignored if
" start region < 1 or stop_region > $MXREG or
" start region > stop region.
"
diff --git a/HEN_HOUSE/user_codes/dosrznrc/dosrznrc.io b/HEN_HOUSE/user_codes/dosrznrc/dosrznrc.io
index fe85d97b4..d6eca17ae 100644
--- a/HEN_HOUSE/user_codes/dosrznrc/dosrznrc.io
+++ b/HEN_HOUSE/user_codes/dosrznrc/dosrznrc.io
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2003
#
# Contributors: Ernesto Mainegra-Hing
+# Blake Walters
#
###############################################################################
#
diff --git a/HEN_HOUSE/user_codes/dosrznrc/dosrznrc.mortran b/HEN_HOUSE/user_codes/dosrznrc/dosrznrc.mortran
index 7c602596b..2a20aa15b 100644
--- a/HEN_HOUSE/user_codes/dosrznrc/dosrznrc.mortran
+++ b/HEN_HOUSE/user_codes/dosrznrc/dosrznrc.mortran
@@ -34,6 +34,7 @@
" Blake Walters "
" Ernesto Mainegra-Hing "
" Reid Townson "
+" Frederic Tessier "
" "
"#############################################################################"
" "
@@ -1055,7 +1056,7 @@ REPLACE {$VERSION} WITH {
" All input associated with selection of various transport parameter
" is not crucial for the execution as there are default values set.
" Therefore, if some of the input options in this section are
-" missing/misspelled, this will be ignored and defualt parameter assumed
+" missing/misspelled, this will be ignored and default parameter assumed
" As the transport parameter input routine uses get_inputs, a lot
" of error/warning messages may be produced on UNIT 15, though.
" If you don't have the intention of changing default settings,
@@ -1066,37 +1067,37 @@ REPLACE {$VERSION} WITH {
" :start mc transport parameter:
" :stop mc transport parameter:
"
-" Currently, the following options are available (except for a few entries,
-" case does not matter):
+" Currently, the following options are available (case does not matter and
+" the internal variables are shown in [ ] brackets):
"
-" Global ECUT= Set a global (in all regions) electron transport
-" cut off energy (in MeV). If this imput is missing,
+" Global ECUT= Global (in all regions) electron transport cut
+" off energy (in MeV). If this input is missing,
" AE(medium) will be used.
" [ ECUT ]
-" Global PCUT= Set a global (in all regions) photon transport
-" cut off energy (in MeV). If this imput is missing,
+" Global PCUT= Global (in all regions) photon transport cut
+" off energy (in MeV). If this input is missing,
" AP(medium) will be used.
" [ PCUT ]
-" Global SMAX= Set a global (in all regions) maximum step-size
+" Global SMAX= Global (in all regions) maximum step-size
" restriction for electron transport (in cm).
-" If missing, no geometrical step-size restrictions will
-" be employed. Note that if you use the default
+" If missing, no geometrical step-size restrictions
+" will be employed. Note that if you use the default
" EGSnrc electron-step algorithm, no SMAX-restriction
" is necessary. Option is useful for transport in low
" density materials (air) when PRESTA behaviour is
" turned on (see below)
" [ SMAXIR ]
-" ESTEPE= Set the maximum fractional energy loss per step.
+" ESTEPE= Maximum fractional energy loss per step.
" Note that this is a global option only, no
" region-by-region setting is possible. If missing,
-" the defualt is 0.25 (25%)
+" the default is 0.25 (25%).
" [ ESTEPE ]
" XImax= Maximum first elastic scattering moment per step.
" Default is 0.5, NEVER use value greater than 1 as
" this is beyond the range of MS data available.
" [ XIMAX ]
-" Boundary crossing algorithm=
-" There are two selections possible: EXACT, means
+" Boundary crossing algorithm= EXACT (default), PRESTA-I
+" There are two selections possible: EXACT means
" the algorithm will cross boundaries in a single
" scattering (SS) mode, the distance from a boundary
" at which the transition to SS mode is made is
@@ -1110,52 +1111,84 @@ REPLACE {$VERSION} WITH {
" Determines the distance from a boundary (in elastic
" MFP) at which the algorithm will go into single
" scattering mode (if EXACT boundary crossing) or
-" swith off lateral correlations (if PRESTA-I boundary
+" switch off lateral correlations (if PRESTA-I boundary
" crossing). Default value is 3 for EXACT or
" exp(BLCMIN)/BLCMIN for PRESTA-I (see the PRESTA paper
" for a definition of BLCMIN). Note that if you choose
" EXACT boundary crossing and set Skin depth for BCA
" to a very large number (e.g. 1e10), the entire
-" calculation will be in SS mode. If you choose
-" PRESTA-I boundary crossing and make Skin depth for BCA
-" large, you will get default EGS4 behavious (no PRESTA)
+" calculation will be in single-scattering mode. If you
+" choose PRESTA-I boundary crossing and make Skin depth
+" for BCA large, you will get default EGS4 behaviour
+" (no PRESTA).
" [ skindepth_for_bca ]
-" Electron-step algorithm=
-" PRESTA-II (the default), the name is
-" used for historical reasons
-" or PRESTA-I
+" Electron-step algorithm= PRESTA-II (default), PRESTA-I (legacy)
" Determines the algorithm used to take into account
" lateral and longitudinal correlations in a
" condensed history step.
" [ transport_algorithm ]
-" Spin effects= Off, On, default is Off
+" Spin effects= Off, On (default)
" Turns off/on spin effects for electron elastic
" scattering. Spin On is ABSOLUTELY necessary for
" good backscattering calculations. Will make a
-" even in `well conditioned' situations (e.g. depth
-" dose curves for RTP energy range electrons).
+" difference even in `well conditioned' situations
+" (e.g. depth dose curves for RTP energy range
+" electrons).
" [ spin_effects ]
-" Brems angular sampling= Simple, KM, default is KM
+" Brems angular sampling= Simple, KM (default)
" If Simple, use only the leading term of the Koch-Motz
" distribution to determine the emission angle of
-" bremsstrahlung photons. If On, complete
+" bremsstrahlung photons. If KM, complete
" modified Koch-Motz 2BS is used (modifications
" concern proper handling of kinematics at low energies,
" makes 2BS almost the same as 2BN at low energies).
" [ IBRDST ]
-" Brems cross sections= BH, NIST, default is BH
+" Brems cross sections= BH (default), NIST, NRC
" If BH is selected, the Bethe-Heitler bremsstrahlung
" cross sections (Coulomb corrected above 50 MeV)
" will be used. If NIST is selected, the NIST brems
" cross section data base (which is the basis for
" the ICRU radiative stopping powers) will be employed.
" Differences are negligible for E > ,say, 10 MeV,
-" but signifficant in the keV energy range.
+" but significant in the keV energy range. If NRC is
+" selected, the NRC brems cross-section data base will
+" be used, which is a version of the NIST data base
+" with corrected electron-electron brems contributions
+" (corrections to the NIST data is typically only
+" significant for low values of the atomic number Z
+" and for k/T < 0.005).
+" [ ibr_nist ]
+" Triplet production= On or Off (default). Turns on/off simulation
+" of triplet production. If On, then Borsellino's
+" first Born approximation is used to sample triplet
+" events based on the triplet cross-section data.
+" [ itriplet ]
+" Bound Compton scattering= On, Off, Simple or norej (default)
+" If Off, Compton scattering will be treated with
+" Klein-Nishina, with On Compton scattering is
+" treated in the Impulse approximation.
+" With Simple, the impulse approximation incoherent
+" scattering function will be used (i.e., no Doppler
+" broadenning). With norej the actual total bound
+" Compton cross section is used and there are no
+" rejections at run time.
+" Make sure to turn on for low energy applications,
+" not necessary above, say, 1 MeV.
+" [ IBCMP ]
+" Radiative Compton corrections= On or Off (default). If On, then
+" include radiative corrections for Compton scattering.
+" Equations are based on original Brown & Feynman
+" equations (Phys. Rev. 85, p 231--1952). Requires
+" a change to the user codes Makefile to include
+" $(EGS_SOURCEDIR)rad_compton1.mortran in the
+" SOURCES (just before
+" $(EGS_SOURCEDIR)get_inputs.mortran).
+" [ radc_flag ]
" Electron Impact Ionization= Off (default), On, casnati, kolbenstvedt,
" gryzinski or penelope. If set to On or ik, then
" use Kawrakow's theory to derive EII cross-sections.
" If set to casnati, then use the cross-sections of
-" Casnati (from file ($HEN_HOUSE/data/eii_casnati.data).
+" Casnati (from file $HEN_HOUSE/data/eii_casnati.data).
" Similar for kolbenstvedt, gryzinski and penelope.
" This is only of interest in kV X-ray calculations.
" Note that the user can supply their own EII
@@ -1163,20 +1196,8 @@ REPLACE {$VERSION} WITH {
" the file eii_suffix.data exists in the $HEN_HOUSE/data
" directory, where suffix is the name specified.
" Entry is case-sensitive except for Off, On or ik.
-" [ eii_flag ]
-" Bound Compton scattering= On, Off, Simple or norej
-" If Off, Compton scattering will be treated with
-" Klein-Nishina, with On Compton scattering is
-" treated in the Impuls approximation. Default is On.
-" With Simple, the impulse approximation incoherent
-" scattering function will be used (i.e., no Doppler
-" broadenning). With norej the actual total bound
-" Compton cross section is used and there are no
-" rejections at run time.
-" Make sure to turn on for low energy applications,
-" not necessary above, say, 1 MeV.
-" [ IBCMP ]
-" Pair angular sampling= Off, Simple or KM
+" [ eii_flag, eii_xfile ]
+" Pair angular sampling= Off, Simple (default), KM.
" If off, pairs are set in motion at an angle m/E
" relative to the photon direction (m is electron rest
" energy, E the photon energy). Simple turns on
@@ -1184,22 +1205,28 @@ REPLACE {$VERSION} WITH {
" (this is sufficient for most applications),
" KM (comes from Koch and Motz) turns on using 2BS
" from the article by Koch and Motz.
-" Default is Simple, make sure you always use Simple or
-" KM
+" Default is Simple, make sure you always use
+" Simple or KM
" [ IPRDST ]
" Pair cross sections= BH (default) or NRC. If set to BH, then use
" Bethe-Heitler pair production cross-sections. If set
" to NRC, then use NRC pair production cross-sections
" (in file $HEN_HOUSE/data/pair_nrc1.data). Only
" of interest at low energies, where the NRC cross-
-" sections take into account the assymmetry in the
+" sections take into account the asymmetry in the
" positron-electron energy distribution.
" [ pair_nrc ]
" Photon cross sections= Photon cross-section data. Current options are
-" si (Storm-Israel--the default), epdl (Evaluated Photon
-" Data Library), xcom and pegs4. Allows the use of
-" photon cross-sections other than from the PEGS4 file
-" unless the pegs4 option is specified.
+" si (Storm-Israel), epdl (Evaluated Photon Data
+" Library), xcom (default), pegs4, mcdf-xcom and
+" mcdf-epdl:
+" Allows the use of photon cross-sections other than
+" from the PEGS4 file (unless the pegs4 option is
+" specified). Options mcdf-xcom and mcdf-epdl use
+" Sabbatucci and Salvat's renormalized photoelectric
+" cross sections with either xcom or epdl for all other
+" cross sections. These are more accurate but can
+" increase CPU time by up to 6 %.
" Note that the user can supply their own cross-section
" data as well. The requirement is that the files
" photon_xsections_photo.data,
@@ -1207,8 +1234,7 @@ REPLACE {$VERSION} WITH {
" photon_xsections_triplet.data, and
" photon_xsections_rayleigh.data exist in the
" $HEN_HOUSE/data directory, where photon_xsections
-" is the name specified.
-" Hence this entry is case-sensitive.
+" is the name specified. This entry is case-sensitive.
" [ photon_xsections ]
" Photon cross-sections output= Off (default) or On. If On, then
" a file $EGS_HOME/user_code/inputfile.xsections is
@@ -1223,26 +1249,13 @@ REPLACE {$VERSION} WITH {
" (see below). The default file (ie in the absence
" of any user-supplied data) is compton_sigma.data.
" [ comp_xsections ]
-" Photoelectron angular sampling= Off or On
-" If Off, photo-electrons get the direction of the
-" `mother' photon, with On, Sauter's furmula is
-" used (which is, striktly speaking, valid only for
-" K-shell photo-absorption).
-" If the user has a better approach, replace the macro
-" $SELECT-PHOTOELECTRON-DIRECTION;
-" The only application that
-" I encountered until now where this option made a
-" small difference was a big ion chamber (cavity size
-" comparable with electron range) with high-Z walls
-" in a low energy photon beam.
-" Default is Off
-" [ IPHTER ]
-" Rayleigh scattering= Off, On, custom
-" If On, turn on coherent (Rayleigh) scattering,
-" even if no Rayleigh data in PEGS4 file.
-" Default is Off. Should be turned on for low energy
+" Rayleigh scattering= Off, On (default), custom
+" If On, turns on coherent (Rayleigh) scattering.
+" Default is On. Should be turned on for low energy
" applications. If custom, user must provide media names
-" and form factor files for each medium.
+" and form factor files for each desired medium. The
+" rest of the media use the default atomic form factors.
+" A PEGS4 data set is not required anymore.
" [ IRAYLR ]
" ff media names = A list of media names (must match media found in
" PEGS4 data file) for which the user is going to
@@ -1257,28 +1270,63 @@ REPLACE {$VERSION} WITH {
" example files, see the directory
" $HEN_HOUSE/data/molecular_form_factors.
" [ iray_ff_file($MXMED) ]
-" Atomic relaxations= Off, On
-" Default is Off. The effect of using On is twofold:
+" Photonuclear attenuation= Off (default) or On
+" If On, models the photonuclear effect. Current
+" implementation is crude. Available on a
+" region-by-region basis (see below)
+" [ IPHOTONUCR ]
+" Photonuclear cross sections= Total photonuclear cross sections. User-
+" supplied total photonuclear cross-sections in
+" $HEN_HOUSE/data/photonuc_xsections_photonuc.data,
+" where photonuc_xsections is the name supplied for
+" this input (case sensitive). In the absence of
+" any user-supplied data, or if photonuc_xsections
+" is set to 'default', the default file is
+" iaea_photonuc.data.
+" [ photonuc_xsections ]
+" Photoelectron angular sampling= Off or On (default)
+" If Off, photo-electrons get the direction of the
+" `mother' photon, with On, Sauter's formula is
+" used (which is, strictly speaking, valid only for
+" K-shell photo-absorption).
+" If the user has a better approach, replace the macro
+" $SELECT-PHOTOELECTRON-DIRECTION;
+" The only application encountered where this option
+" made a small difference was a big ion chamber
+" (cavity size comparable with electron range)
+" with high-Z walls in a low energy photon beam.
+" [ IPHTER ]
+" Atomic relaxations= Off, On, eadl (default), simple
+" On defaults to eadl.
+" When simulating atomic relaxations:
" - In photo-electric absorption events, the element
" (if material is mixture) and the shell the photon
" is interacting with are sampled from the appropriate
-" cross seections
-" - Shell vacancies created in photo-absorption events
+" cross sections
+" - Shell vacancies created in photoelectric,
+" compton and electron impact ionization events
" are relaxed via emission of fluorescent X-Rays,
" Auger and Koster-Cronig electrons.
-" Make sure to turn this option on for low energy
-" applications.
-" [ IEDGFL ]
-"
-" Atomic relaxations, Rayleigh scattering,
-" Photoelectron angular sampling and Bound Compton scattering
-" can also be turned On/Off on a region-by-region
-" basis. To do so, put e.g.
+" The eadl option features a more accurate treatment
+" of relaxation events and uses binding energies
+" consistent with those in of the photon cross sections
+" used in the simulation. If using mcdf-xcom or
+" mcdf-epdl photon cross sections, you cannot use
+" the simple option and this will automatically get
+" reset to eadl. Make sure to use eadl or simple for
+" low energy applications.
+" [ IEDGFL ]
+"
+" Atomic relaxations, Rayleigh scattering, Photoelectron angular sampling,
+" Bound Compton scattering and photonuclear effect
+" can also be turned On/Off on a region-by-region basis. An example for
+" Atomic relaxations on a region-by-region basis is:
"
" Atomic relaxations= On in Regions or
" Atomic relaxations= Off in regions
"
-" in your input file. Then use
+" Then define the regions in which you want
+" the feature to be turned on:
"
" Bound Compton start region=
" Bound Compton stop region=
@@ -1291,17 +1339,22 @@ REPLACE {$VERSION} WITH {
" or
" PE sampling start region=
" PE sampling stop region=
+" or
+" Photonuclear start region=
+" Photonuclear stop region=
"
-" each followed by a lost of of one or more
+" each followed by a list of one or more
" start and stop regions separated by commas.
" Example:
+"
" Atomic relaxations= On in Regions
" Relaxations start region= 1, 40
" Relaxations stop region= 10, 99
+"
" will first turn off relaxations everywhere and
" then turn on in regions 1-10 and 40-99.
-" Note that input is checked against min. and max.
-" region number and ignored if
+" Note that the input is checked against minimum
+" and maximum region numbers and ignored if
" start region < 1 or stop_region > $MXREG or
" start region > stop region.
"
@@ -1726,7 +1779,7 @@ ELSE[
" input cs_enhance and iefl(irl) to increase the photon
" interaction density in regions of interest (where iefl(irl) is set to 1)
" cs_enhance means desired average number of interactions per
-" g/cm**2. If cs_enhance*rho(medium) > 1/gmfp (1/gmfp is the the actual
+" g/cm**2. If cs_enhance*rho(medium) > 1/gmfp (1/gmfp is the actual
" number of interactions per unit length), cs_enhance*rho(medium) is
" used to sample interaction distances in these regions.
" Scattered and unscattered photon fractions are then killed via Russian
diff --git a/HEN_HOUSE/user_codes/dosxyznrc/dosxyznrc.mortran b/HEN_HOUSE/user_codes/dosxyznrc/dosxyznrc.mortran
index 7aac85ed5..7ec50930a 100644
--- a/HEN_HOUSE/user_codes/dosxyznrc/dosxyznrc.mortran
+++ b/HEN_HOUSE/user_codes/dosxyznrc/dosxyznrc.mortran
@@ -36,6 +36,7 @@
" Ernesto Mainegra-Hing "
" Reid Townson "
" Marc-Andre Renaud "
+" Reid Townson "
" "
"#############################################################################"
" "
@@ -303,9 +304,12 @@
" generator, INSEED1 is the luxury level and should
" have a value >0 and <=4. Otherwise, a default
" luxury level of 1 will be used.
-" BEAM_SIZE Beam size for a square field for the dose calculation
-" This parameter is only used by sources 2,3 and 4
-" (default to 100 cm for a 100x100 cm square field)
+" BEAM_SIZE Size of maximum square beam field for the dose
+" calculation. This parameter is only used by phase
+" space sources (sources 2, 8, 20), BEAM simulation
+" sources (sources 9, 10, 21) and the beam model source
+" (source 4).
+" (Defaults to 100 cm for a 100x100 cm square field)
" ISMOOTH =1 re-distribute particles when re-start a ph-sp file
" and/or recycle an individual particle
" =0 re-use the ph-sp data once run out (no redistribution)
@@ -476,7 +480,7 @@
" All input associated with selection of EGSnrc transport parameter
" is not crucial for the execution as there are default values set.
" Therefore, if some of the input options in this section are
-" missing/misspelled, this will be ignored and defualt parameter assumed
+" missing/misspelled, this will be ignored and default parameter assumed
" As the transport parameter input routine uses get_inputs, a lot
" of error/warning messages may be produced on UNIT 15, though.
" If you don't have the intention of changing default settings,
@@ -488,19 +492,19 @@
" :stop mc transport parameter:
"
" Currently, the following options are available (case does not matter and
-" the internal variables are shown in [ ] brackets):
+" the internal variables are shown in [ ] brackets):
"
" Global ECUT= Global (in all regions) electron transport cut
-" off energy (in MeV). If this imput is missing,
+" off energy (in MeV). If this input is missing,
" or is < ECUTIN from the main DOSXYZnrc inputs
" (See above) then ECUTIN is used for global ECUT.
-" ECUT defaults to AE(medium).
+" If this input is missing, AE(medium) will be used.
" [ ECUT ]
" Global PCUT= Global (in all regions) photon transport cut
-" off energy (in MeV). If this imput is missing,
+" off energy (in MeV). If this input is missing,
" or is < PCUTIN from the main DOSXYZnrc inputs
" (See above) then PCUTIN is used for global PCUT.
-" PCUT defaults to AP(medium).
+" If this input is missing, AP(medium) will be used.
" [ PCUT ]
" Global SMAX= Global (in all regions) maximum step-size
" restriction for electron transport (in cm).
@@ -510,30 +514,28 @@
" will default to 1e10. However, if either
" Electron-step algorithm= PRESTA-I
" or
-" Boundary crossing algorithm= PRESTA-I (the default),
-" then a step-size restriction is necessary, and
-" SMAX will default to 5 cm.
+" Boundary crossing algorithm= PRESTA-I (the default in
+" DOSXYZnrc), then a step-size restriction is necessary,
+" and SMAX will default to 5 cm.
" [ SMAXIR ]
" ESTEPE= Maximum fractional energy loss per step.
" Note that this is a global option only, no
" region-by-region setting is possible. If missing,
-" the defualt is 0.25 (25%).
+" the default is 0.25 (25%).
" [ ESTEPE ]
" XImax= Maximum first elastic scattering moment per step.
" Default is 0.5, NEVER use value greater than 1 as
" this is beyond the range of MS data available.
" [ XIMAX ]
-" Boundary crossing algorithm=
-" There are two selections possible: EXACT and
-" PRESTA-I. PRESTA-I means that boundaries will
-" be crossed a la PRESTA. That is, with lateral
-" correlations turned off at a distance given by
-" `Skin depth for BCA' (see below) from the boundary
-" and MS forced at the boundary. EXACT means
+" Boundary crossing algorithm= EXACT, PRESTA-I (default in DOSXYZnrc)
+" There are two selections possible: EXACT means
" the algorithm will cross boundaries in a single
" scattering (SS) mode, the distance from a boundary
" at which the transition to SS mode is made is
-" determined by `Skin depth for BCA' (see below).
+" determined by 'Skin depth for BCA' (see below).
+" The second option is PRESTA-I, if selected boundaries
+" will be crossed a la PRESTA, i.e. with lateral
+" correlations turned off and MS forced at boundaries.
" Default is PRESTA-I for efficiency reasons. This
" is known not to be exactly correct, and when charged
" particle equilibrium does not hold or when there is
@@ -543,25 +545,22 @@
" cases, swich to EXACT BCA.
" [ bca_algorithm, exact_bca ]
" Skin depth for BCA=
-" If Boundary crossing algorithm= PRESTA-I (default)
-" then this is the distance from the boundary (in
-" elastic MFP) at which lateral correlations will be
-" switched off. The default in this case is to
-" calculate a value based on the scattering power at
-" ECUT (same as PRESTA in EGS4). If
-" Boundary crossing algorithm= EXACT then this is
-" the distance from the boundary (in elastic
+" Determines the distance from a boundary (in elastic
" MFP) at which the algorithm will go into single
-" scattering mode and defaults to 3 mfp.
-" Note that if you choose EXACT boundary crossing and
-" set Skin depth for BCA to a very large number (e.g.
-" 1e10), the entire calculation will be in SS mode.
-" If you choose PRESTA-I boundary crossing and make
-" Skin depth for BCA large, you will get default EGS4
-" behaviour (no PRESTA).
+" scattering mode (if EXACT boundary crossing) or
+" switch off lateral correlations (if PRESTA-I boundary
+" crossing). Default value is 3 for EXACT or
+" exp(BLCMIN)/BLCMIN for PRESTA-I (see the PRESTA paper
+" for a definition of BLCMIN). Note that if you choose
+" EXACT boundary crossing and set Skin depth for BCA
+" to a very large number (e.g. 1e10), the entire
+" calculation will be in single-scattering mode.
+" If you choose PRESTA-I boundary crossing (default
+" in DOSXYZnrc) and make Skin depth for BCA large,
+" you will get default EGS4 behaviour (no PRESTA).
" [ skindepth_for_bca ]
"
-" Note that the above defaults have been choosen as a compromise
+" Note that the above defaults have been chosen as a compromise
" between accuracy (EXACT BCA) and efficiency (PRESTA-I BCA)
" since the PRESTA-I BCA algorithm has proven to generally
" produce satisfactory results. Note that the new transport
@@ -569,15 +568,12 @@
" that one always has the option of verifying the accuracy
" by doing a long run with the EXACT BCA.
"
-" Electron-step algorithm=
-" PRESTA-II (the default), the name is
-" used for historical reasons
-" or PRESTA-I
+" Electron-step algorithm= PRESTA-II (default), PRESTA-I (legacy)
" Determines the algorithm used to take into account
" lateral and longitudinal correlations in a
" condensed history step.
" [ transport_algorithm ]
-" Spin effects= Off, On, default is On
+" Spin effects= Off, On (default)
" Turns off/on spin effects for electron elastic
" scattering. Spin On is ABSOLUTELY necessary for
" good backscattering calculations. Will make a
@@ -585,47 +581,47 @@
" (e.g. depth dose curves for RTP energy range
" electrons).
" [ spin_effects ]
-" Brems angular sampling= Simple, KM, default is Simple
+" Brems angular sampling= Simple, KM (default)
" If Simple, use only the leading term of the Koch-Motz
" distribution to determine the emission angle of
" bremsstrahlung photons. If KM, complete
" modified Koch-Motz 2BS is used (modifications
-" concern proper handling of kinematics at low
-" energies, makes 2BS almost the same as 2BN at low
-" energies).
+" concern proper handling of kinematics at low energies,
+" makes 2BS almost the same as 2BN at low energies).
" [ IBRDST ]
-" Brems cross sections= BH, NIST, NRC, default is BH
+" Brems cross sections= BH (default), NIST, NRC
" If BH is selected, the Bethe-Heitler bremsstrahlung
" cross sections (Coulomb corrected above 50 MeV)
" will be used. If NIST is selected, the NIST brems
" cross section data base (which is the basis for
" the ICRU radiative stopping powers) will be employed.
" Differences are negligible for E > ,say, 10 MeV,
-" but signifficant in the keV energy range. If NRC is
-" selected, NIST data including corrections for
-" electron-electron brems will be used (typically only
+" but significant in the keV energy range. If NRC is
+" selected, the NRC brems cross-section data base will
+" be used, which is a version of the NIST data base
+" with corrected electron-electron brems contributions
+" (corrections to the NIST data is typically only
" significant for low values of the atomic number Z
" and for k/T < 0.005).
-" Bound Compton scattering= On, Off or Norej (Default is On)
+" [ ibr_nist ]
+" Triplet production= On or Off (default). Turns on/off simulation
+" of triplet production. If On, then Borsellino's
+" first Born approximation is used to sample triplet
+" events based on the triplet cross-section data.
+" [ itriplet ]
+" Bound Compton scattering= On, Off, Simple or norej (default)
" If Off, Compton scattering will be treated with
" Klein-Nishina, with On Compton scattering is
" treated in the Impulse approximation.
+" With Simple, the impulse approximation incoherent
+" scattering function will be used (i.e., no Doppler
+" broadenning). With norej the actual total bound
+" Compton cross section is used and there are no
+" rejections at run time.
" Make sure to turn on for low energy applications,
-" not necessary above, say, 1 MeV. Option Norej
-" uses full bound Compton cross section data
-" supplied in input below and does not reject
-" interactions.
+" not necessary above, say, 1 MeV.
" [ IBCMP ]
-" Compton cross sections= Bound Compton cross-section data. User-
-" supplied bound Compton cross-sections in the file
-" $HEN_HOUSE/data/comp_xsections_compton.data, where
-" comp_xsections is the name supplied for this input.
-" This is only used if Bound Compton scattering= Simple
-" and is not available on a region-by-region basis
-" (see below). The default file (ie in the absence
-" of any user-supplied data) is compton_sigma.data.
-" [ comp_xsections ]
-" Radiative Compton corrections= On or Off (default). If on, then
+" Radiative Compton corrections= On or Off (default). If On, then
" include radiative corrections for Compton scattering.
" Equations are based on original Brown & Feynman
" equations (Phys. Rev. 85, p 231--1952). Requires
@@ -634,7 +630,20 @@
" SOURCES (just before
" $(EGS_SOURCEDIR)get_inputs.mortran).
" [ radc_flag ]
-" Pair angular sampling= Off, Simple or KM
+" Electron Impact Ionization= Off (default), On, casnati, kolbenstvedt,
+" gryzinski or penelope. If set to On or ik, then
+" use Kawrakow's theory to derive EII cross-sections.
+" If set to casnati, then use the cross-sections of
+" Casnati (from file $HEN_HOUSE/data/eii_casnati.data).
+" Similar for kolbenstvedt, gryzinski and penelope.
+" This is only of interest in kV X-ray calculations.
+" Note that the user can supply their own EII
+" cross-section data as well. The requirement is that
+" the file eii_suffix.data exists in the $HEN_HOUSE/data
+" directory, where suffix is the name specified.
+" Entry is case-sensitive except for Off, On or ik.
+" [ eii_flag, eii_xfile ]
+" Pair angular sampling= Off, Simple (default), KM.
" If off, pairs are set in motion at an angle m/E
" relative to the photon direction (m is electron rest
" energy, E the photon energy). Simple turns on
@@ -650,83 +659,120 @@
" to NRC, then use NRC pair production cross-sections
" (in file $HEN_HOUSE/data/pair_nrc1.data). Only
" of interest at low energies, where the NRC cross-
-" sections take into account the assymmetry in the
+" sections take into account the asymmetry in the
" positron-electron energy distribution.
" [ pair_nrc ]
-" Photoelectron angular sampling= Off or On
+" Photon cross sections= Photon cross-section data. Current options are
+" si (Storm-Israel), epdl (Evaluated Photon Data
+" Library), xcom (default), pegs4, mcdf-xcom and
+" mcdf-epdl:
+" Allows the use of photon cross-sections other than
+" from the PEGS4 file (unless the pegs4 option is
+" specified). Options mcdf-xcom and mcdf-epdl use
+" Sabbatucci and Salvat's renormalized photoelectric
+" cross sections with either xcom or epdl for all other
+" cross sections. These are more accurate but can
+" increase CPU time by up to 6 %.
+" Note that the user can supply their own cross-section
+" data as well. The requirement is that the files
+" photon_xsections_photo.data,
+" photon_xsections_pair.data,
+" photon_xsections_triplet.data, and
+" photon_xsections_rayleigh.data exist in the
+" $HEN_HOUSE/data directory, where photon_xsections
+" is the name specified. This entry is case-sensitive.
+" [ photon_xsections ]
+" Photon cross-sections output= Off (default) or On. If On, then
+" a file $EGS_HOME/user_code/inputfile.xsections is
+" output containing photon cross-section data used.
+" [ xsec_out ]
+" Compton cross sections= Bound Compton cross-section data. User-
+" supplied bound Compton cross-sections in the file
+" $HEN_HOUSE/data/comp_xsections_compton.data, where
+" comp_xsections is the name supplied for this input.
+" This is only used if Bound Compton scattering= Simple
+" and is not available on a region-by-region basis
+" (see below). The default file (ie in the absence
+" of any user-supplied data) is compton_sigma.data.
+" [ comp_xsections ]
+" Rayleigh scattering= Off, On (default), custom
+" If On, turns on coherent (Rayleigh) scattering.
+" Default is On. Should be turned on for low energy
+" applications. If custom, user must provide media names
+" and form factor files for each desired medium. The
+" rest of the media use the default atomic form factors.
+" A PEGS4 data set is not required anymore.
+" [ IRAYLR ]
+" ff media names = A list of media names (must match media found in
+" PEGS4 data file) for which the user is going to
+" provide custom Rayleigh form factor data.
+" [ iray_ff_media($MXMED) ]
+" ff file names = A list of names of files containing the Rayleigh
+" form factor data for the media specified by
+" the ff media names = input above. Full directory
+" paths must be given for all files, and for each medium
+" specified, iray_ff_media(i), there must be a
+" corresponding file name, iray_ff_file(i). For
+" example files, see the directory
+" $HEN_HOUSE/data/molecular_form_factors.
+" [ iray_ff_file($MXMED) ]
+" Photonuclear attenuation= Off (default) or On
+" If On, models the photonuclear effect. Current
+" implementation is crude. Available on a
+" region-by-region basis (see below)
+" [ IPHOTONUCR ]
+" Photonuclear cross sections= Total photonuclear cross sections. User-
+" supplied total photonuclear cross-sections in
+" $HEN_HOUSE/data/photonuc_xsections_photonuc.data,
+" where photonuc_xsections is the name supplied for
+" this input (case sensitive). In the absence of
+" any user-supplied data, or if photonuc_xsections
+" is set to 'default', the default file is
+" iaea_photonuc.data.
+" [ photonuc_xsections ]
+" Photoelectron angular sampling= Off or On (default)
" If Off, photo-electrons get the direction of the
-" `mother' photon, with On, Sauter's furmula is
-" used (which is, striktly speaking, valid only for
+" `mother' photon, with On, Sauter's formula is
+" used (which is, strictly speaking, valid only for
" K-shell photo-absorption).
" If the user has a better approach, replace the macro
" $SELECT-PHOTOELECTRON-DIRECTION;
-" The only application that
-" I encountered until now where this option made a
-" small difference was a big ion chamber (cavity size
-" comparable with electron range) with high-Z walls
-" in a low energy photon beam.
-" Default is Off
+" The only application encountered where this option
+" made a small difference was a big ion chamber
+" (cavity size comparable with electron range)
+" with high-Z walls in a low energy photon beam.
" [ IPHTER ]
-" Rayleigh scattering= Off, On, custom
-" If On, turned on coherent (Rayleigh) scattering.
-" Default is Off. Should be turned on for low energy
-" applications. Not set to On by default because
-" On requires a special PEGS4 data set. If set to
-" custom, then media for which custom form factors
-" are to be specified are listed in the input:
-" ff media names=
-" and the corresponding files containing custom data
-" are listed in:
-" ff file names=
-" [ IRAYLR ]
-" Atomic relaxations= Off, On
-" Default is Off. The effect of using On is twofold:
+" Atomic relaxations= Off, On, eadl (default), simple
+" On defaults to eadl.
+" When simulating atomic relaxations:
" - In photo-electric absorption events, the element
" (if material is mixture) and the shell the photon
-" is interacting with are sampled from the
-" appropriate cross seections
-" - Shell vacancies created in photo-absorption events
+" is interacting with are sampled from the appropriate
+" cross sections
+" - Shell vacancies created in photoelectric,
+" compton and electron impact ionization events
" are relaxed via emission of fluorescent X-Rays,
" Auger and Koster-Cronig electrons.
-" Make sure to turn this option on for low energy
-" applications.
-" [ IEDGFL ]
-" Electron impact ionization= Off, On, Casnati, Kolbenstvedt, Gryzinski
-" (Default is Off)
-" Determines which, if any, theory is used to model
-" electron impact ionization. If set to 'On' then the
-" theory of Kawrakow is used. Other settings use the
-" theory associated with the name given. See future
-" editions of the EGSnrc Manual (PIRS-701) for more
-" details. This is only of interest in keV X-Ray
-" simulations. Otherwise, leave it Off.
-" [ eii_flag ]
-" Photon cross sections= epdl, xcom, customized (Default is Storm-Israel
-" cross-sections from PEGS4)
-" The name of the cross-section data for photon
-" interactions. This input line must be left out
-" to access the default Storm-Israel cross-sections
-" from PEGS4. 'edpl' uses cross-sections from the
-" evaluated photon data library (EPDL) from Lawrence
-" Livermore. 'xcom' will use the XCOM cross-sections
-" from Burger and Hubbell. The user also has the
-" option of using their own customized cross-section
-" data. See the BEAMnrc manual for more details.
-" [ photon_xsections ]
-" Photon cross-sections output= Off (default) or On. If On, then
-" a file $EGS_HOME/user_code/inputfile.xsections is
-" output containing photon cross-section data used.
-" [ xsec_out ]
+" The eadl option features a more accurate treatment
+" of relaxation events and uses binding energies
+" consistent with those in of the photon cross sections
+" used in the simulation. If using mcdf-xcom or
+" mcdf-epdl photon cross sections, you cannot use
+" the simple option and this will automatically get
+" reset to eadl. Make sure to use eadl or simple for
+" low energy applications.
+" [ IEDGFL ]
"
-" Atomic relaxations, Rayleigh scattering,
-" Photoelectron angular sampling and Bound Compton scattering
-" can also be turned On/Off on a region-by-region
-" basis. To do so, put e.g.
+" Atomic relaxations, Rayleigh scattering, Photoelectron angular sampling,
+" Bound Compton scattering and photonuclear effect
+" can also be turned On/Off on a region-by-region basis. An example for
+" Atomic relaxations on a region-by-region basis is:
"
" Atomic relaxations= On in Regions or
" Atomic relaxations= Off in regions
"
-" in your input file. Then use
+" Then define the regions in which you want
+" the feature to be turned on:
"
" Bound Compton start region=
" Bound Compton stop region=
@@ -739,20 +785,37 @@
" or
" PE sampling start region=
" PE sampling stop region=
+" or
+" Photonuclear start region=
+" Photonuclear stop region=
"
-" each followed by a lost of of one or more
+" each followed by a list of one or more
" start and stop regions separated by commas.
" Example:
+"
" Atomic relaxations= On in Regions
" Relaxations start region= 1, 40
" Relaxations stop region= 10, 99
+"
" will first turn off relaxations everywhere and
" then turn on in regions 1-10 and 40-99.
-" Note that input is checked against min. and max.
-" region number and ignored if
+" Note that the input is checked against minimum
+" and maximum region numbers and ignored if
" start region < 1 or stop_region > $MXREG or
" start region > stop region.
"
+" ECUT, PCUT and SMAX can also be set on a
+" region-by-region basis. To do so, iclude
+" in your input file
+"
+" Set XXXX= f_value1, f_value2, ...
+" Set XXXX start region= i_value1, i_value2, ...
+" Set XXXX stop region= j_value1, j_value2, ...
+"
+" where XXXX is ECUT, PCUT or SMAX ,
+" f_value1, f_value2,... are the desired values for XXXX
+" and i_value_i and j_value_i are the start and
+" stop regions.
;
"Step 1 User overrides and declarations ""toc:
@@ -4402,7 +4465,7 @@ REAL xbnd($IMAX+1), "voxel x boundaries"
ERR50AVG, "average % error of doses > 50% of max dose"
ERR50FRAC, "average error of doses > 50% of max"
" dose as a fraction of max dose"
- DOSEFRAC, "fraction for calculating av. rel. uncertainty"
+ DOSEFRAC, "fraction for calculating av. rel. unc."
DOSEmin, "DOSEFRAC*MAXDOS(1)"
ARUFRAC; "average relative uncertainty on all voxels"
"with dose > DOSEFRAC*Dmax"
diff --git a/HEN_HOUSE/user_codes/dosxyznrc/dosxyznrc_user_macros.mortran b/HEN_HOUSE/user_codes/dosxyznrc/dosxyznrc_user_macros.mortran
index 6f2c7c17a..8430d989b 100644
--- a/HEN_HOUSE/user_codes/dosxyznrc/dosxyznrc_user_macros.mortran
+++ b/HEN_HOUSE/user_codes/dosxyznrc/dosxyznrc_user_macros.mortran
@@ -27,6 +27,7 @@
" Charlie Ma "
" Iwan Kawrakow "
" Frederic Tessier "
+" Reid Townson "
" "
"#############################################################################"
" "
diff --git a/HEN_HOUSE/user_codes/edknrc/edknrc.make b/HEN_HOUSE/user_codes/edknrc/edknrc.make
index fa12f4549..40c09aab2 100644
--- a/HEN_HOUSE/user_codes/edknrc/edknrc.make
+++ b/HEN_HOUSE/user_codes/edknrc/edknrc.make
@@ -55,14 +55,17 @@ SOURCES = $(EGS_SOURCEDIR)egsnrc.macros \
$(RANDOM).macros\
$(RANDOM).correlations\
$(EGS_SOURCEDIR)transportp.macros\
+ $(EGS_SOURCEDIR)pegs4_macros.mortran\
$(USER_CODE).mortran \
$(RANDOM).mortran \
$(EGS_UTILS)ensrc.mortran\
$(EGS_UTILS)geomsph.mortran\
$(EGS_SOURCEDIR)get_inputs.mortran\
+ $(EGS_SOURCEDIR)get_media_inputs.mortran\
$(EGS_UTILS)nrcaux.mortran \
$(MACHINE_MORTRAN) \
$(EGS_SOURCEDIR)egs_utilities.mortran \
$(EGS_SOURCEDIR)egs_parallel.mortran \
$(EGS_UTILS)xvgrplot.mortran\
+ $(EGS_SOURCEDIR)pegs4_routines.mortran\
$(EGS_SOURCEDIR)egsnrc.mortran
diff --git a/HEN_HOUSE/user_codes/edknrc/edknrc.mortran b/HEN_HOUSE/user_codes/edknrc/edknrc.mortran
index f954a78bf..5a7dc4546 100644
--- a/HEN_HOUSE/user_codes/edknrc/edknrc.mortran
+++ b/HEN_HOUSE/user_codes/edknrc/edknrc.mortran
@@ -26,6 +26,7 @@
" Contributors: Alex Bielajew "
" Iwan Kawrakow "
" Blake Walters "
+" Frederic Tessier "
" "
"#############################################################################"
" "
@@ -309,37 +310,37 @@
"
" in your input file.
"
-" Currently, the following options are available (except for a few entries,
-" case does not matter):
+" Currently, the following options are available (case does not matter and
+" the internal variables are shown in [ ] brackets):
"
-" Global ECUT= Set a global (in all regions) electron transport
-" cut off energy (in MeV). If this imput is missing,
+" Global ECUT= Global (in all regions) electron transport cut
+" off energy (in MeV). If this input is missing,
" AE(medium) will be used.
" [ ECUT ]
-" Global PCUT= Set a global (in all regions) photon transport
-" cut off energy (in MeV). If this imput is missing,
+" Global PCUT= Global (in all regions) photon transport cut
+" off energy (in MeV). If this input is missing,
" AP(medium) will be used.
" [ PCUT ]
-" Global SMAX= Set a global (in all regions) maximum step-size
+" Global SMAX= Global (in all regions) maximum step-size
" restriction for electron transport (in cm).
-" If missing, no geometrical step-size restrictions will
-" be employed. Note that if you use the default
+" If missing, no geometrical step-size restrictions
+" will be employed. Note that if you use the default
" EGSnrc electron-step algorithm, no SMAX-restriction
" is necessary. Option is useful for transport in low
" density materials (air) when PRESTA behaviour is
" turned on (see below)
" [ SMAXIR ]
-" ESTEPE= Set the maximum fractional energy loss per step.
+" ESTEPE= Maximum fractional energy loss per step.
" Note that this is a global option only, no
" region-by-region setting is possible. If missing,
-" the defualt is 0.25 (25%)
+" the default is 0.25 (25%).
" [ ESTEPE ]
" XImax= Maximum first elastic scattering moment per step.
" Default is 0.5, NEVER use value greater than 1 as
" this is beyond the range of MS data available.
" [ XIMAX ]
-" Boundary crossing algorithm=
-" There are two selections possible: EXACT, means
+" Boundary crossing algorithm= EXACT (default), PRESTA-I
+" There are two selections possible: EXACT means
" the algorithm will cross boundaries in a single
" scattering (SS) mode, the distance from a boundary
" at which the transition to SS mode is made is
@@ -353,64 +354,62 @@
" Determines the distance from a boundary (in elastic
" MFP) at which the algorithm will go into single
" scattering mode (if EXACT boundary crossing) or
-" swith off lateral correlations (if PRESTA-I boundary
+" switch off lateral correlations (if PRESTA-I boundary
" crossing). Default value is 3 for EXACT or
" exp(BLCMIN)/BLCMIN for PRESTA-I (see the PRESTA paper
" for a definition of BLCMIN). Note that if you choose
" EXACT boundary crossing and set Skin depth for BCA
" to a very large number (e.g. 1e10), the entire
-" calculation will be in SS mode. If you choose
-" PRESTA-I boundary crossing and make Skin depth for BCA
-" large, you will get default EGS4 behavious (no PRESTA)
+" calculation will be in single-scattering mode. If you
+" choose PRESTA-I boundary crossing and make Skin depth
+" for BCA large, you will get default EGS4 behaviour
+" (no PRESTA).
" [ skindepth_for_bca ]
-" Electron-step algorithm=
-" PRESTA-II (the default), the name is
-" used for historical reasons
-" or PRESTA-I
+" Electron-step algorithm= PRESTA-II (default), PRESTA-I (legacy)
" Determines the algorithm used to take into account
" lateral and longitudinal correlations in a
" condensed history step.
" [ transport_algorithm ]
-" Spin effects= Off, On, default is On
+" Spin effects= Off, On (default)
" Turns off/on spin effects for electron elastic
" scattering. Spin On is ABSOLUTELY necessary for
" good backscattering calculations. Will make a
-" even in `well conditioned' situations (e.g. depth
-" dose curves for RTP energy range electrons).
+" difference even in `well conditioned' situations
+" (e.g. depth dose curves for RTP energy range
+" electrons).
" [ spin_effects ]
-" Brems angular sampling= Simple, KM, default is KM
+" Brems angular sampling= Simple, KM (default)
" If Simple, use only the leading term of the Koch-Motz
" distribution to determine the emission angle of
-" bremsstrahlung photons. If On, complete
+" bremsstrahlung photons. If KM, complete
" modified Koch-Motz 2BS is used (modifications
" concern proper handling of kinematics at low energies,
" makes 2BS almost the same as 2BN at low energies).
" [ IBRDST ]
-" Brems cross sections= BH, NIST, default is BH
+" Brems cross sections= BH (default), NIST, NRC
" If BH is selected, the Bethe-Heitler bremsstrahlung
" cross sections (Coulomb corrected above 50 MeV)
" will be used. If NIST is selected, the NIST brems
" cross section data base (which is the basis for
" the ICRU radiative stopping powers) will be employed.
" Differences are negligible for E > ,say, 10 MeV,
-" but signifficant in the keV energy range.
-" Electron Impact Ionization= Off (default), On, casnati, kolbenstvedt,
-" gryzinski or penelope. If set to On or ik, then
-" use Kawrakow's theory to derive EII cross-sections.
-" If set to casnati, then use the cross-sections of
-" Casnati (from file ($HEN_HOUSE/data/eii_casnati.data).
-" Similar for kolbenstvedt, gryzinski and penelope.
-" This is only of interest in kV X-ray calculations.
-" Note that the user can supply their own EII
-" cross-section data as well. The requirement is that
-" the file eii_suffix.data exists in the $HEN_HOUSE/data
-" directory, where suffix is the name specified.
-" Entry case-sensitive except for Off, On or ik.
-" [ eii_flag ]
-" Bound Compton scattering= On, Off, Simple or norej
+" but significant in the keV energy range. If NRC is
+" selected, the NRC brems cross-section data base will
+" be used, which is a version of the NIST data base
+" with corrected electron-electron brems contributions
+" (corrections to the NIST data is typically only
+" significant for low values of the atomic number Z
+" and for k/T < 0.005).
+" [ ibr_nist ]
+" Triplet production= On or Off (default). Turns on/off simulation
+" of triplet production. If On, then Borsellino's
+" first Born approximation is used to sample triplet
+" events based on the triplet cross-section data.
+" [ itriplet ]
+" Bound Compton scattering= On, Off, Simple or norej (default)
" If Off, Compton scattering will be treated with
" Klein-Nishina, with On Compton scattering is
-" treated in the Impuls approximation. Default is On.
+" treated in the Impulse approximation.
" With Simple, the impulse approximation incoherent
" scattering function will be used (i.e., no Doppler
" broadenning). With norej the actual total bound
@@ -419,7 +418,29 @@
" Make sure to turn on for low energy applications,
" not necessary above, say, 1 MeV.
" [ IBCMP ]
-" Pair angular sampling= Off, Simple or KM
+" Radiative Compton corrections= On or Off (default). If On, then
+" include radiative corrections for Compton scattering.
+" Equations are based on original Brown & Feynman
+" equations (Phys. Rev. 85, p 231--1952). Requires
+" a change to the user codes Makefile to include
+" $(EGS_SOURCEDIR)rad_compton1.mortran in the
+" SOURCES (just before
+" $(EGS_SOURCEDIR)get_inputs.mortran).
+" [ radc_flag ]
+" Electron Impact Ionization= Off (default), On, casnati, kolbenstvedt,
+" gryzinski or penelope. If set to On or ik, then
+" use Kawrakow's theory to derive EII cross-sections.
+" If set to casnati, then use the cross-sections of
+" Casnati (from file $HEN_HOUSE/data/eii_casnati.data).
+" Similar for kolbenstvedt, gryzinski and penelope.
+" This is only of interest in kV X-ray calculations.
+" Note that the user can supply their own EII
+" cross-section data as well. The requirement is that
+" the file eii_suffix.data exists in the $HEN_HOUSE/data
+" directory, where suffix is the name specified.
+" Entry is case-sensitive except for Off, On or ik.
+" [ eii_flag, eii_xfile ]
+" Pair angular sampling= Off, Simple (default), KM.
" If off, pairs are set in motion at an angle m/E
" relative to the photon direction (m is electron rest
" energy, E the photon energy). Simple turns on
@@ -427,22 +448,28 @@
" (this is sufficient for most applications),
" KM (comes from Koch and Motz) turns on using 2BS
" from the article by Koch and Motz.
-" Default is Simple, make sure you always use Simple or
-" KM
+" Default is Simple, make sure you always use
+" Simple or KM
" [ IPRDST ]
" Pair cross sections= BH (default) or NRC. If set to BH, then use
" Bethe-Heitler pair production cross-sections. If set
" to NRC, then use NRC pair production cross-sections
" (in file $HEN_HOUSE/data/pair_nrc1.data). Only
" of interest at low energies, where the NRC cross-
-" sections take into account the assymmetry in the
+" sections take into account the asymmetry in the
" positron-electron energy distribution.
" [ pair_nrc ]
" Photon cross sections= Photon cross-section data. Current options are
-" si (Storm-Israel--the default), epdl (Evaluated Photon
-" Data Library), xcom and pegs4. Allows the use of
-" photon cross-sections other than from the PEGS4 file
-" unless the pegs4 option is specified.
+" si (Storm-Israel), epdl (Evaluated Photon Data
+" Library), xcom (default), pegs4, mcdf-xcom and
+" mcdf-epdl:
+" Allows the use of photon cross-sections other than
+" from the PEGS4 file (unless the pegs4 option is
+" specified). Options mcdf-xcom and mcdf-epdl use
+" Sabbatucci and Salvat's renormalized photoelectric
+" cross sections with either xcom or epdl for all other
+" cross sections. These are more accurate but can
+" increase CPU time by up to 6 %.
" Note that the user can supply their own cross-section
" data as well. The requirement is that the files
" photon_xsections_photo.data,
@@ -450,8 +477,7 @@
" photon_xsections_triplet.data, and
" photon_xsections_rayleigh.data exist in the
" $HEN_HOUSE/data directory, where photon_xsections
-" is the name specified.
-" Hence this entry is case-sensitive.
+" is the name specified. This entry is case-sensitive.
" [ photon_xsections ]
" Photon cross-sections output= Off (default) or On. If On, then
" a file $EGS_HOME/user_code/inputfile.xsections is
@@ -466,26 +492,13 @@
" (see below). The default file (ie in the absence
" of any user-supplied data) is compton_sigma.data.
" [ comp_xsections ]
-" Photoelectron angular sampling= Off or On
-" If Off, photo-electrons get the direction of the
-" `mother' photon, with On, Sauter's furmula is
-" used (which is, striktly speaking, valid only for
-" K-shell photo-absorption).
-" If the user has a better approach, replace the macro
-" $SELECT-PHOTOELECTRON-DIRECTION;
-" The only application that
-" I encountered until now where this option made a
-" small difference was a big ion chamber (cavity size
-" comparable with electron range) with high-Z walls
-" in a low energy photon beam.
-" Default is On
-" [ IPHTER ]
-" Rayleigh scattering= Off, On, custom
-" If On, turn on coherent (Rayleigh) scattering,
-" even if no Rayleigh data in PEGS4 file.
-" Default is Off. Should be turned on for low energy
+" Rayleigh scattering= Off, On (default), custom
+" If On, turns on coherent (Rayleigh) scattering.
+" Default is On. Should be turned on for low energy
" applications. If custom, user must provide media names
-" and form factor files for each medium.
+" and form factor files for each desired medium. The
+" rest of the media use the default atomic form factors.
+" A PEGS4 data set is not required anymore.
" [ IRAYLR ]
" ff media names = A list of media names (must match media found in
" PEGS4 data file) for which the user is going to
@@ -500,28 +513,63 @@
" example files, see the directory
" $HEN_HOUSE/data/molecular_form_factors.
" [ iray_ff_file($MXMED) ]
-" Atomic relaxations= Off, On
-" Default is On. The effect of using On is twofold:
+" Photonuclear attenuation= Off (default) or On
+" If On, models the photonuclear effect. Current
+" implementation is crude. Available on a
+" region-by-region basis (see below)
+" [ IPHOTONUCR ]
+" Photonuclear cross sections= Total photonuclear cross sections. User-
+" supplied total photonuclear cross-sections in
+" $HEN_HOUSE/data/photonuc_xsections_photonuc.data,
+" where photonuc_xsections is the name supplied for
+" this input (case sensitive). In the absence of
+" any user-supplied data, or if photonuc_xsections
+" is set to 'default', the default file is
+" iaea_photonuc.data.
+" [ photonuc_xsections ]
+" Photoelectron angular sampling= Off or On (default)
+" If Off, photo-electrons get the direction of the
+" `mother' photon, with On, Sauter's formula is
+" used (which is, strictly speaking, valid only for
+" K-shell photo-absorption).
+" If the user has a better approach, replace the macro
+" $SELECT-PHOTOELECTRON-DIRECTION;
+" The only application encountered where this option
+" made a small difference was a big ion chamber
+" (cavity size comparable with electron range)
+" with high-Z walls in a low energy photon beam.
+" [ IPHTER ]
+" Atomic relaxations= Off, On, eadl (default), simple
+" On defaults to eadl.
+" When simulating atomic relaxations:
" - In photo-electric absorption events, the element
" (if material is mixture) and the shell the photon
" is interacting with are sampled from the appropriate
-" cross seections
-" - Shell vacancies created in photo-absorption events
+" cross sections
+" - Shell vacancies created in photoelectric,
+" compton and electron impact ionization events
" are relaxed via emission of fluorescent X-Rays,
" Auger and Koster-Cronig electrons.
-" Make sure to turn this option on for low energy
-" applications.
-" [ IEDGFL ]
-"
-" Atomic relaxations, Rayleigh scattering,
-" Photoelectron angular sampling and Bound Compton scattering
-" can also be turned On/Off on a region-by-region
-" basis. To do so, put e.g.
+" The eadl option features a more accurate treatment
+" of relaxation events and uses binding energies
+" consistent with those in of the photon cross sections
+" used in the simulation. If using mcdf-xcom or
+" mcdf-epdl photon cross sections, you cannot use
+" the simple option and this will automatically get
+" reset to eadl. Make sure to use eadl or simple for
+" low energy applications.
+" [ IEDGFL ]
+"
+" Atomic relaxations, Rayleigh scattering, Photoelectron angular sampling,
+" Bound Compton scattering and photonuclear effect
+" can also be turned On/Off on a region-by-region basis. An example for
+" Atomic relaxations on a region-by-region basis is:
"
" Atomic relaxations= On in Regions or
" Atomic relaxations= Off in regions
"
-" in your input file. Then use
+" Then define the regions in which you want
+" the feature to be turned on:
"
" Bound Compton start region=
" Bound Compton stop region=
@@ -534,17 +582,22 @@
" or
" PE sampling start region=
" PE sampling stop region=
+" or
+" Photonuclear start region=
+" Photonuclear stop region=
"
-" each followed by a lost of of one or more
+" each followed by a list of one or more
" start and stop regions separated by commas.
" Example:
+"
" Atomic relaxations= On in Regions
" Relaxations start region= 1, 40
" Relaxations stop region= 10, 99
+"
" will first turn off relaxations everywhere and
-" then turn off in regions 1-10 and 40-99.
-" Note that input is checked against min. and max.
-" region number and ignored if
+" then turn on in regions 1-10 and 40-99.
+" Note that the input is checked against minimum
+" and maximum region numbers and ignored if
" start region < 1 or stop_region > $MXREG or
" start region > stop region.
"
@@ -3885,9 +3938,9 @@ IF (IOPLOT > 0)["plotting requested"
"XVGRPLOT.MORTRAN"
NPTS=NR; "number of points per graph"
- SERIESTITLE='\\8q\\0 =' // ch_var(ini:fin) // '\\So';
+ SERIESTITLE='\\8q\\0 =' // ch_var(ini:fin) // '\So';
XTITLE='radius r /cm';
- YTITLE='dose per particle D(r)*r\\S2 \\N / Gy*cm\\S2\\N';
+ YTITLE='dose per particle D(r)*r\S2 \N / Gy*cm\S2\N';
SUBTITLE='energy fraction vs. radius on '// time_and_date;
UNITNUM=IPLTUNX; "Output file"
"PLTYPE=1; histogram=1, XY-plot=0"
diff --git a/HEN_HOUSE/user_codes/edknrc/edknrc_template.egsinp b/HEN_HOUSE/user_codes/edknrc/edknrc_template.egsinp
index aadea4845..239d04692 100644
--- a/HEN_HOUSE/user_codes/edknrc/edknrc_template.egsinp
+++ b/HEN_HOUSE/user_codes/edknrc/edknrc_template.egsinp
@@ -150,9 +150,9 @@ INCIDENT KINETIC ENERGY(MEV)= 1.0 # only use for "monoenergetic"
# include: output spectrum data to .egslst file
SOURCE NUMBER= 0 # 0,1,2
- # 0: point source AT origin, emission along Z-axis
- # 1: point source AT origin, isotropically radiating in 4Pi
- # 2: point source NEAR origin, emission along Z-axis
+ # 0: Photon moving along Z axis forced to interact at origin
+ # 1: Point source at origin, isotropically radiating into 4 Pi
+ # 2: Same as 0 but interaction point as in old code
# ZIN= 0.000001 # only for source number 2
# source offset on Z-axis
@@ -400,4 +400,3 @@ Set SMAX stop region= 1
:stop plot control:
########################
-
diff --git a/HEN_HOUSE/user_codes/egs_app/array_sizes.h b/HEN_HOUSE/user_codes/egs_app/array_sizes.h
index 432fbe05c..600cbad66 100644
--- a/HEN_HOUSE/user_codes/egs_app/array_sizes.h
+++ b/HEN_HOUSE/user_codes/egs_app/array_sizes.h
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2007
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
#
diff --git a/HEN_HOUSE/user_codes/egs_cbct/egs_cbct.cpp b/HEN_HOUSE/user_codes/egs_cbct/egs_cbct.cpp
index 0229eded7..c727f73cf 100644
--- a/HEN_HOUSE/user_codes/egs_cbct/egs_cbct.cpp
+++ b/HEN_HOUSE/user_codes/egs_cbct/egs_cbct.cpp
@@ -24,7 +24,8 @@
# Authors: Iwan Kawrakow, 2007
# Ernesto Mainegra-Hing, 2007
#
-# Contributors:
+# Contributors: Reid Townson
+# Blake Walters
#
###############################################################################
#
diff --git a/HEN_HOUSE/user_codes/egs_chamber/array_sizes.h b/HEN_HOUSE/user_codes/egs_chamber/array_sizes.h
index 5c11eb60e..b496e0102 100644
--- a/HEN_HOUSE/user_codes/egs_chamber/array_sizes.h
+++ b/HEN_HOUSE/user_codes/egs_chamber/array_sizes.h
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2007
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
#
diff --git a/HEN_HOUSE/user_codes/egs_chamber/egs_chamber.cpp b/HEN_HOUSE/user_codes/egs_chamber/egs_chamber.cpp
index 99b2f0a32..472a437b8 100644
--- a/HEN_HOUSE/user_codes/egs_chamber/egs_chamber.cpp
+++ b/HEN_HOUSE/user_codes/egs_chamber/egs_chamber.cpp
@@ -28,6 +28,7 @@
# Hugo Bouchard
# Frederic Tessier
# Reid Townson
+# Blake Walters
#
###############################################################################
#
diff --git a/HEN_HOUSE/user_codes/egs_chamber/egs_chamber.macros b/HEN_HOUSE/user_codes/egs_chamber/egs_chamber.macros
index 6f1514829..f472482be 100644
--- a/HEN_HOUSE/user_codes/egs_chamber/egs_chamber.macros
+++ b/HEN_HOUSE/user_codes/egs_chamber/egs_chamber.macros
@@ -25,6 +25,7 @@
" Joerg Wulff, 2007 "
" "
" Contributors: Frederic Tessier "
+" Reid Townson "
" "
"#############################################################################"
@@ -131,4 +132,3 @@ REPLACE {$CALL-HOWFAR-IN-ELECTR; } WITH{;
]
]
};
-
diff --git a/HEN_HOUSE/user_codes/egs_fac/array_sizes.h b/HEN_HOUSE/user_codes/egs_fac/array_sizes.h
index 6edba165c..fb7297e4a 100644
--- a/HEN_HOUSE/user_codes/egs_fac/array_sizes.h
+++ b/HEN_HOUSE/user_codes/egs_fac/array_sizes.h
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2008
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
#
diff --git a/HEN_HOUSE/user_codes/egs_fac/egs_fac.cpp b/HEN_HOUSE/user_codes/egs_fac/egs_fac.cpp
index 25d4411fc..954bd0d2e 100644
--- a/HEN_HOUSE/user_codes/egs_fac/egs_fac.cpp
+++ b/HEN_HOUSE/user_codes/egs_fac/egs_fac.cpp
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2008
#
# Contributors: Ernesto Mainegra-Hing
+# Blake Walters
#
###############################################################################
#
diff --git a/HEN_HOUSE/user_codes/egs_kerma/egs_kerma.cpp b/HEN_HOUSE/user_codes/egs_kerma/egs_kerma.cpp
index 6e5b159db..341eb8333 100644
--- a/HEN_HOUSE/user_codes/egs_kerma/egs_kerma.cpp
+++ b/HEN_HOUSE/user_codes/egs_kerma/egs_kerma.cpp
@@ -762,7 +762,7 @@ class APP_EXPORT EGS_KermaApplication : public EGS_AdvancedApplication {
spe_output << "@ xaxis label char size 1.560000\n";
spe_output << "@ xaxis label font 4\n";
spe_output << "@ xaxis ticklabel font 4\n";
- spe_output << "@ yaxis label \"fluence / MeV\\S-1\\Ncm\\S-2\"\n";
+ spe_output << "@ yaxis label \"fluence / MeV\S-1\Ncm\S-2\"\n";
spe_output << "@ yaxis label char size 1.560000\n";
spe_output << "@ yaxis label font 4\n";
spe_output << "@ yaxis ticklabel font 4\n";
diff --git a/HEN_HOUSE/user_codes/examin/examin.mortran b/HEN_HOUSE/user_codes/examin/examin.mortran
index 892530669..d6a52cbe7 100644
--- a/HEN_HOUSE/user_codes/examin/examin.mortran
+++ b/HEN_HOUSE/user_codes/examin/examin.mortran
@@ -208,7 +208,7 @@
YAXISPcom = 'fractional component of photon cross section';
YAXISPmfp = 'mean free path / cm';
YAXISEmfp = 'mean free path / cm';
- YAXISE = 'dE/drhoX MeV/g/cm\\S2\\N';
+ YAXISE = 'dE/drhoX MeV/g/cm\S2\N';
XAXIS = 'kinetic energy / MeV';
@@ -853,4 +853,3 @@ END;
SUBROUTINE AUSGAB(IARG);RETURN;END;
SUBROUTINE HOWFAR;RETURN;END; "DUMMIES TO FOOL LINKER";
-
diff --git a/HEN_HOUSE/user_codes/flurznrc/flurznrc.mortran b/HEN_HOUSE/user_codes/flurznrc/flurznrc.mortran
index 4f69e5952..d286d0526 100644
--- a/HEN_HOUSE/user_codes/flurznrc/flurznrc.mortran
+++ b/HEN_HOUSE/user_codes/flurznrc/flurznrc.mortran
@@ -32,6 +32,7 @@
" Iwan Kawrakow "
" Ernesto Mainegra-Hing "
" Reid Townson "
+" Frederic Tessier "
" "
"#############################################################################"
" "
@@ -926,7 +927,7 @@ REPLACE {$VERSION} WITH {
" All input associated with selection of various transport parameter
" is not crucial for the execution as there are default values set.
" Therefore, if some of the input options in this section are
-" missing/misspelled, this will be ignored and defualt parameter assumed
+" missing/misspelled, this will be ignored and default parameter assumed
" As the transport parameter input routine uses get_inputs, a lot
" of error/warning messages may be produced on UNIT 15, though.
" If you don't have the intention of changing default settings,
@@ -937,37 +938,37 @@ REPLACE {$VERSION} WITH {
" :start mc transport parameter:
" :stop mc transport parameter:
"
-" Currently, the following options are available (except for a few entries,
-" case does not matter):
+" Currently, the following options are available (case does not matter and
+" the internal variables are shown in [ ] brackets):
"
-" Global ECUT= Set a global (in all regions) electron transport
-" cut off energy (in MeV). If this imput is missing,
+" Global ECUT= Global (in all regions) electron transport cut
+" off energy (in MeV). If this input is missing,
" AE(medium) will be used.
" [ ECUT ]
-" Global PCUT= Set a global (in all regions) photon transport
-" cut off energy (in MeV). If this imput is missing,
+" Global PCUT= Global (in all regions) photon transport cut
+" off energy (in MeV). If this input is missing,
" AP(medium) will be used.
" [ PCUT ]
-" Global SMAX= Set a global (in all regions) maximum step-size
+" Global SMAX= Global (in all regions) maximum step-size
" restriction for electron transport (in cm).
-" If missing, no geometrical step-size restrictions will
-" be employed. Note that if you use the default
+" If missing, no geometrical step-size restrictions
+" will be employed. Note that if you use the default
" EGSnrc electron-step algorithm, no SMAX-restriction
" is necessary. Option is useful for transport in low
" density materials (air) when PRESTA behaviour is
" turned on (see below)
" [ SMAXIR ]
-" ESTEPE= Set the maximum fractional energy loss per step.
+" ESTEPE= Maximum fractional energy loss per step.
" Note that this is a global option only, no
" region-by-region setting is possible. If missing,
-" the defualt is 0.25 (25%)
+" the default is 0.25 (25%).
" [ ESTEPE ]
" XImax= Maximum first elastic scattering moment per step.
" Default is 0.5, NEVER use value greater than 1 as
" this is beyond the range of MS data available.
" [ XIMAX ]
-" Boundary crossing algorithm=
-" There are two selections possible: EXACT, means
+" Boundary crossing algorithm= EXACT (default), PRESTA-I
+" There are two selections possible: EXACT means
" the algorithm will cross boundaries in a single
" scattering (SS) mode, the distance from a boundary
" at which the transition to SS mode is made is
@@ -981,64 +982,62 @@ REPLACE {$VERSION} WITH {
" Determines the distance from a boundary (in elastic
" MFP) at which the algorithm will go into single
" scattering mode (if EXACT boundary crossing) or
-" swith off lateral correlations (if PRESTA-I boundary
+" switch off lateral correlations (if PRESTA-I boundary
" crossing). Default value is 3 for EXACT or
" exp(BLCMIN)/BLCMIN for PRESTA-I (see the PRESTA paper
" for a definition of BLCMIN). Note that if you choose
" EXACT boundary crossing and set Skin depth for BCA
" to a very large number (e.g. 1e10), the entire
-" calculation will be in SS mode. If you choose
-" PRESTA-I boundary crossing and make Skin depth for BCA
-" large, you will get default EGS4 behavious (no PRESTA)
+" calculation will be in single-scattering mode. If you
+" choose PRESTA-I boundary crossing and make Skin depth
+" for BCA large, you will get default EGS4 behaviour
+" (no PRESTA).
" [ skindepth_for_bca ]
-" Electron-step algorithm=
-" PRESTA-II (the default), the name is
-" used for historical reasons
-" or PRESTA-I
+" Electron-step algorithm= PRESTA-II (default), PRESTA-I (legacy)
" Determines the algorithm used to take into account
" lateral and longitudinal correlations in a
" condensed history step.
" [ transport_algorithm ]
-" Spin effects= Off, On, default is On
+" Spin effects= Off, On (default)
" Turns off/on spin effects for electron elastic
" scattering. Spin On is ABSOLUTELY necessary for
" good backscattering calculations. Will make a
-" even in `well conditioned' situations (e.g. depth
-" dose curves for RTP energy range electrons).
+" difference even in `well conditioned' situations
+" (e.g. depth dose curves for RTP energy range
+" electrons).
" [ spin_effects ]
-" Brems angular sampling= Simple, KM, default is KM
+" Brems angular sampling= Simple, KM (default)
" If Simple, use only the leading term of the Koch-Motz
" distribution to determine the emission angle of
-" bremsstrahlung photons. If On, complete
+" bremsstrahlung photons. If KM, complete
" modified Koch-Motz 2BS is used (modifications
" concern proper handling of kinematics at low energies,
" makes 2BS almost the same as 2BN at low energies).
" [ IBRDST ]
-" Brems cross sections= BH, NIST, default is BH
+" Brems cross sections= BH (default), NIST, NRC
" If BH is selected, the Bethe-Heitler bremsstrahlung
" cross sections (Coulomb corrected above 50 MeV)
" will be used. If NIST is selected, the NIST brems
" cross section data base (which is the basis for
" the ICRU radiative stopping powers) will be employed.
" Differences are negligible for E > ,say, 10 MeV,
-" but signifficant in the keV energy range.
-" Electron Impact Ionization= Off (default), On, casnati, kolbenstvedt,
-" gryzinski or penelope. If set to On or ik, then
-" use Kawrakow's theory to derive EII cross-sections.
-" If set to casnati, then use the cross-sections of
-" Casnati (from file ($HEN_HOUSE/data/eii_casnati.data).
-" Similar for kolbenstvedt, gryzinski and penelope.
-" This is only of interest in kV X-ray calculations.
-" Note that the user can supply their own EII
-" cross-section data as well. The requirement is that
-" the file eii_suffix.data exists in the $HEN_HOUSE/data
-" directory, where suffix is the name specified.
-" Entry case-sensitive except for Off, On or ik.
-" [ eii_flag ]
-" Bound Compton scattering= On, Off, Simple or norej
+" but significant in the keV energy range. If NRC is
+" selected, the NRC brems cross-section data base will
+" be used, which is a version of the NIST data base
+" with corrected electron-electron brems contributions
+" (corrections to the NIST data is typically only
+" significant for low values of the atomic number Z
+" and for k/T < 0.005).
+" [ ibr_nist ]
+" Triplet production= On or Off (default). Turns on/off simulation
+" of triplet production. If On, then Borsellino's
+" first Born approximation is used to sample triplet
+" events based on the triplet cross-section data.
+" [ itriplet ]
+" Bound Compton scattering= On, Off, Simple or norej (default)
" If Off, Compton scattering will be treated with
" Klein-Nishina, with On Compton scattering is
-" treated in the Impuls approximation. Default is On.
+" treated in the Impulse approximation.
" With Simple, the impulse approximation incoherent
" scattering function will be used (i.e., no Doppler
" broadenning). With norej the actual total bound
@@ -1047,7 +1046,29 @@ REPLACE {$VERSION} WITH {
" Make sure to turn on for low energy applications,
" not necessary above, say, 1 MeV.
" [ IBCMP ]
-" Pair angular sampling= Off, Simple or KM
+" Radiative Compton corrections= On or Off (default). If On, then
+" include radiative corrections for Compton scattering.
+" Equations are based on original Brown & Feynman
+" equations (Phys. Rev. 85, p 231--1952). Requires
+" a change to the user codes Makefile to include
+" $(EGS_SOURCEDIR)rad_compton1.mortran in the
+" SOURCES (just before
+" $(EGS_SOURCEDIR)get_inputs.mortran).
+" [ radc_flag ]
+" Electron Impact Ionization= Off (default), On, casnati, kolbenstvedt,
+" gryzinski or penelope. If set to On or ik, then
+" use Kawrakow's theory to derive EII cross-sections.
+" If set to casnati, then use the cross-sections of
+" Casnati (from file $HEN_HOUSE/data/eii_casnati.data).
+" Similar for kolbenstvedt, gryzinski and penelope.
+" This is only of interest in kV X-ray calculations.
+" Note that the user can supply their own EII
+" cross-section data as well. The requirement is that
+" the file eii_suffix.data exists in the $HEN_HOUSE/data
+" directory, where suffix is the name specified.
+" Entry is case-sensitive except for Off, On or ik.
+" [ eii_flag, eii_xfile ]
+" Pair angular sampling= Off, Simple (default), KM.
" If off, pairs are set in motion at an angle m/E
" relative to the photon direction (m is electron rest
" energy, E the photon energy). Simple turns on
@@ -1055,22 +1076,28 @@ REPLACE {$VERSION} WITH {
" (this is sufficient for most applications),
" KM (comes from Koch and Motz) turns on using 2BS
" from the article by Koch and Motz.
-" Default is Simple, make sure you always use Simple or
-" KM
+" Default is Simple, make sure you always use
+" Simple or KM
" [ IPRDST ]
" Pair cross sections= BH (default) or NRC. If set to BH, then use
" Bethe-Heitler pair production cross-sections. If set
" to NRC, then use NRC pair production cross-sections
" (in file $HEN_HOUSE/data/pair_nrc1.data). Only
" of interest at low energies, where the NRC cross-
-" sections take into account the assymmetry in the
+" sections take into account the asymmetry in the
" positron-electron energy distribution.
" [ pair_nrc ]
" Photon cross sections= Photon cross-section data. Current options are
-" si (Storm-Israel--the default), epdl (Evaluated Photon
-" Data Library), xcom and pegs4. Allows the use of
-" photon cross-sections other than from the PEGS4 file
-" unless the pegs4 option is specified.
+" si (Storm-Israel), epdl (Evaluated Photon Data
+" Library), xcom (default), pegs4, mcdf-xcom and
+" mcdf-epdl:
+" Allows the use of photon cross-sections other than
+" from the PEGS4 file (unless the pegs4 option is
+" specified). Options mcdf-xcom and mcdf-epdl use
+" Sabbatucci and Salvat's renormalized photoelectric
+" cross sections with either xcom or epdl for all other
+" cross sections. These are more accurate but can
+" increase CPU time by up to 6 %.
" Note that the user can supply their own cross-section
" data as well. The requirement is that the files
" photon_xsections_photo.data,
@@ -1078,8 +1105,7 @@ REPLACE {$VERSION} WITH {
" photon_xsections_triplet.data, and
" photon_xsections_rayleigh.data exist in the
" $HEN_HOUSE/data directory, where photon_xsections
-" is the name specified.
-" Hence this entry is case-sensitive.
+" is the name specified. This entry is case-sensitive.
" [ photon_xsections ]
" Photon cross-sections output= Off (default) or On. If On, then
" a file $EGS_HOME/user_code/inputfile.xsections is
@@ -1094,26 +1120,13 @@ REPLACE {$VERSION} WITH {
" (see below). The default file (ie in the absence
" of any user-supplied data) is compton_sigma.data.
" [ comp_xsections ]
-" Photoelectron angular sampling= Off or On
-" If Off, photo-electrons get the direction of the
-" `mother' photon, with On, Sauter's furmula is
-" used (which is, striktly speaking, valid only for
-" K-shell photo-absorption).
-" If the user has a better approach, replace the macro
-" $SELECT-PHOTOELECTRON-DIRECTION;
-" The only application that
-" I encountered until now where this option made a
-" small difference was a big ion chamber (cavity size
-" comparable with electron range) with high-Z walls
-" in a low energy photon beam.
-" Default is On
-" [ IPHTER ]
-" Rayleigh scattering= Off, On, custom
-" If On, turn on coherent (Rayleigh) scattering,
-" even if no Rayleigh data in PEGS4 file.
-" Default is Off. Should be turned on for low energy
+" Rayleigh scattering= Off, On (default), custom
+" If On, turns on coherent (Rayleigh) scattering.
+" Default is On. Should be turned on for low energy
" applications. If custom, user must provide media names
-" and form factor files for each medium.
+" and form factor files for each desired medium. The
+" rest of the media use the default atomic form factors.
+" A PEGS4 data set is not required anymore.
" [ IRAYLR ]
" ff media names = A list of media names (must match media found in
" PEGS4 data file) for which the user is going to
@@ -1128,29 +1141,64 @@ REPLACE {$VERSION} WITH {
" example files, see the directory
" $HEN_HOUSE/data/molecular_form_factors.
" [ iray_ff_file($MXMED) ]
-" Atomic relaxations= Off, On
-" Default is On. The effect of using On is twofold:
+" Photonuclear attenuation= Off (default) or On
+" If On, models the photonuclear effect. Current
+" implementation is crude. Available on a
+" region-by-region basis (see below)
+" [ IPHOTONUCR ]
+" Photonuclear cross sections= Total photonuclear cross sections. User-
+" supplied total photonuclear cross-sections in
+" $HEN_HOUSE/data/photonuc_xsections_photonuc.data,
+" where photonuc_xsections is the name supplied for
+" this input (case sensitive). In the absence of
+" any user-supplied data, or if photonuc_xsections
+" is set to 'default', the default file is
+" iaea_photonuc.data.
+" [ photonuc_xsections ]
+" Photoelectron angular sampling= Off or On (default)
+" If Off, photo-electrons get the direction of the
+" `mother' photon, with On, Sauter's formula is
+" used (which is, strictly speaking, valid only for
+" K-shell photo-absorption).
+" If the user has a better approach, replace the macro
+" $SELECT-PHOTOELECTRON-DIRECTION;
+" The only application encountered where this option
+" made a small difference was a big ion chamber
+" (cavity size comparable with electron range)
+" with high-Z walls in a low energy photon beam.
+" [ IPHTER ]
+" Atomic relaxations= Off, On, eadl (default), simple
+" On defaults to eadl.
+" When simulating atomic relaxations:
" - In photo-electric absorption events, the element
" (if material is mixture) and the shell the photon
" is interacting with are sampled from the appropriate
-" cross seections
-" - Shell vacancies created in photo-absorption events
+" cross sections
+" - Shell vacancies created in photoelectric,
+" compton and electron impact ionization events
" are relaxed via emission of fluorescent X-Rays,
" Auger and Koster-Cronig electrons.
-" Make sure to turn this option on for low energy
-" applications.
-" [ IEDGFL ]
-"
-" Atomic relaxations, Rayleigh scattering,
-" Photoelectron angular sampling and Bound Compton scattering
-" can also be turned On/Off on a region-by-region
-" basis. To do so, put e.g.
+" The eadl option features a more accurate treatment
+" of relaxation events and uses binding energies
+" consistent with those in of the photon cross sections
+" used in the simulation. If using mcdf-xcom or
+" mcdf-epdl photon cross sections, you cannot use
+" the simple option and this will automatically get
+" reset to eadl. Make sure to use eadl or simple for
+" low energy applications.
+" [ IEDGFL ]
+"
+" Atomic relaxations, Rayleigh scattering, Photoelectron angular sampling,
+" Bound Compton scattering and photonuclear effect
+" can also be turned On/Off on a region-by-region basis. An example for
+" Atomic relaxations on a region-by-region basis is:
"
" Atomic relaxations= On in Regions or
" Atomic relaxations= Off in regions
"
-" in your input file. Then use
-
+" Then define the regions in which you want
+" the feature to be turned on:
+"
" Bound Compton start region=
" Bound Compton stop region=
" or
@@ -1162,17 +1210,22 @@ REPLACE {$VERSION} WITH {
" or
" PE sampling start region=
" PE sampling stop region=
+" or
+" Photonuclear start region=
+" Photonuclear stop region=
"
-" each followed by a lost of of one or more
+" each followed by a list of one or more
" start and stop regions separated by commas.
" Example:
+"
" Atomic relaxations= On in Regions
" Relaxations start region= 1, 40
" Relaxations stop region= 10, 99
+"
" will first turn off relaxations everywhere and
" then turn on in regions 1-10 and 40-99.
-" Note that input is checked against min. and max.
-" region number and ignored if
+" Note that the input is checked against minimum
+" and maximum region numbers and ignored if
" start region < 1 or stop_region > $MXREG or
" start region > stop region.
"
diff --git a/HEN_HOUSE/user_codes/flurznrc/flurznrc_template.egsinp b/HEN_HOUSE/user_codes/flurznrc/flurznrc_template.egsinp
index 4186f8a59..168cbd1c0 100644
--- a/HEN_HOUSE/user_codes/flurznrc/flurznrc_template.egsinp
+++ b/HEN_HOUSE/user_codes/flurznrc/flurznrc_template.egsinp
@@ -73,13 +73,12 @@
# those regions specified by
# LIST FLUENCE START REGION and
# LIST FLUENCE STOP REGION below
- LIST FLUENCE START REGION= 12, 72, 132, 192, 252 #Only used if PRINT FLUENCE
- LIST FLUENCE STOP REGION= 12, 72, 132, 192, 252 #SPECTRA= specified.
+ LIST FLUENCE START REGION= 12, 27, 42 #Only used if PRINT FLUENCE
+ LIST FLUENCE STOP REGION= 12, 27, 42 #SPECTRA= specified.
#This will print fluence spectra
#for particles crossing the slab
- #between Z=10 cm and Z=12 cm
- #(see geometry below) in the
- #.egslst file
+ #between Z=5-6 cm (see geometry
+ # below) in the .egslst file
IPRIMARY= total fluence #total fluence, electron primaries, include
#brem secondaries, photon primaries, electron
@@ -112,7 +111,7 @@
##########################
:start Monte Carlo inputs:
- NUMBER OF HISTORIES= 10000 #splits into $STAT statistical batches
+ NUMBER OF HISTORIES= 1000000 #splits into $STAT statistical batches
#must be >=$STAT**2 if IWATCH= Off
#can have less than this if IWATCH set to
#another option
@@ -285,7 +284,7 @@ Brems cross sections= BH # BH (default),NIST;
# BH: Bethe-Heitler cross-sections used
# NIST: NIST cross-sections used
-Bound Compton scattering= Off # Off, On, simple or norej (default);
+Bound Compton scattering= On # Off, On, simple or norej (default);
# Off: Klein-Nishina used for Compton
# scattering
# On: Impulse approximation used for
@@ -487,18 +486,17 @@ Atomic relaxations= On # Off (default),On;
#pair, a fluence spectrum (ie fluence vs
#energy) will be output to the .spectra
#file. In this case, spectra will be
- #output for the slab between Z=10 cm and Z=12 cm
- #(see geometry above). Each radial region
- #will have its own spectrum
+ #output for regions defined by
+ #(r=0-3 cm, Z=0-0.5 cm) and
+ #(r=0-3 cm, Z=4-4.5 cm).
PLOT RADIAL REGION IX= 0 #Indices of cylinders for which to output
#fluence vs depth data in .plotdat (0-->
#no plots)
PLOT PLANAR REGION IZ= 1,6 #Indices of slabs for which to plot fluence vs
#radius in .plotdat file (0 --> no plots)
- #Here, we will generate plots for the slab
- #between Z=10 cm and Z=12 cm and for
- #the last slab in the geometry.
+ #Here, we will generate plots for the slabs
+ #between Z=0-0.5 cm and Z=2.5-3 cm.
:stop plot control:
########################
diff --git a/HEN_HOUSE/user_codes/g/g.make b/HEN_HOUSE/user_codes/g/g.make
index f00ed14c7..f6ac3086c 100644
--- a/HEN_HOUSE/user_codes/g/g.make
+++ b/HEN_HOUSE/user_codes/g/g.make
@@ -23,7 +23,7 @@
#
# Author: Ernesto Mainegra-Hing, 2004
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
#
diff --git a/HEN_HOUSE/user_codes/g/g.mortran b/HEN_HOUSE/user_codes/g/g.mortran
index af5da55c4..2ab637a64 100644
--- a/HEN_HOUSE/user_codes/g/g.mortran
+++ b/HEN_HOUSE/user_codes/g/g.mortran
@@ -26,6 +26,8 @@
" Contributors: Dave Rogers "
" Ernesto Mainegra-Hing "
" Reid Townson "
+" Marc Chamberland "
+" Blake Walters "
" "
"#############################################################################"
%L
diff --git a/HEN_HOUSE/user_codes/ranlux_test/ranlux_test.mortran b/HEN_HOUSE/user_codes/ranlux_test/ranlux_test.mortran
index 49a045c8c..d20be0964 100644
--- a/HEN_HOUSE/user_codes/ranlux_test/ranlux_test.mortran
+++ b/HEN_HOUSE/user_codes/ranlux_test/ranlux_test.mortran
@@ -23,7 +23,7 @@
" "
" Author: Dave Rogers, 2000 "
" "
-" Contributors: "
+" Contributors: Blake Walters "
" "
"#############################################################################"
" "
diff --git a/HEN_HOUSE/user_codes/ranmar_test/ranmar_test.mortran b/HEN_HOUSE/user_codes/ranmar_test/ranmar_test.mortran
index 5632ba705..eb45915f9 100644
--- a/HEN_HOUSE/user_codes/ranmar_test/ranmar_test.mortran
+++ b/HEN_HOUSE/user_codes/ranmar_test/ranmar_test.mortran
@@ -24,6 +24,7 @@
" Author: Dave Rogers, 2000 "
" "
" Contributors: Iwan Kawrakow "
+" Blake Walters "
" "
"#############################################################################"
" "
diff --git a/HEN_HOUSE/user_codes/sprrznrc/sprrznrc.mortran b/HEN_HOUSE/user_codes/sprrznrc/sprrznrc.mortran
index e44bbaa8b..7632dfd22 100644
--- a/HEN_HOUSE/user_codes/sprrznrc/sprrznrc.mortran
+++ b/HEN_HOUSE/user_codes/sprrznrc/sprrznrc.mortran
@@ -30,6 +30,7 @@
" Iwan Kawrakow "
" Ernesto Mainegra-Hing "
" Reid Townson "
+" Frederic Tessier "
" "
"#############################################################################"
" "
@@ -918,7 +919,7 @@ REPLACE {$VERSION} WITH {
" All input associated with selection of various transport parameter
" is not crucial for the execution as there are default values set.
" Therefore, if some of the input options in this section are
-" missing/misspelled, this will be ignored and defualt parameter assumed
+" missing/misspelled, this will be ignored and default parameter assumed
" As the transport parameter input routine uses get_inputs, a lot
" of error/warning messages may be produced on UNIT 15, though.
" If you don't have the intention of changing default settings,
@@ -935,37 +936,37 @@ REPLACE {$VERSION} WITH {
"
" in your input file.
"
-" Currently, the following options are available (except for a few entries,
-" case does not matter):
+" Currently, the following options are available (case does not matter and
+" the internal variables are shown in [ ] brackets):
"
-" Global ECUT= Set a global (in all regions) electron transport
-" cut off energy (in MeV). If this imput is missing,
+" Global ECUT= Global (in all regions) electron transport cut
+" off energy (in MeV). If this input is missing,
" AE(medium) will be used.
" [ ECUT ]
-" Global PCUT= Set a global (in all regions) photon transport
-" cut off energy (in MeV). If this imput is missing,
+" Global PCUT= Global (in all regions) photon transport cut
+" off energy (in MeV). If this input is missing,
" AP(medium) will be used.
" [ PCUT ]
-" Global SMAX= Set a global (in all regions) maximum step-size
+" Global SMAX= Global (in all regions) maximum step-size
" restriction for electron transport (in cm).
-" If missing, no geometrical step-size restrictions will
-" be employed. Note that if you use the default
+" If missing, no geometrical step-size restrictions
+" will be employed. Note that if you use the default
" EGSnrc electron-step algorithm, no SMAX-restriction
" is necessary. Option is useful for transport in low
" density materials (air) when PRESTA behaviour is
" turned on (see below)
" [ SMAXIR ]
-" ESTEPE= Set the maximum fractional energy loss per step.
+" ESTEPE= Maximum fractional energy loss per step.
" Note that this is a global option only, no
" region-by-region setting is possible. If missing,
-" the defualt is 0.25 (25%)
+" the default is 0.25 (25%).
" [ ESTEPE ]
" XImax= Maximum first elastic scattering moment per step.
" Default is 0.5, NEVER use value greater than 1 as
" this is beyond the range of MS data available.
" [ XIMAX ]
-" Boundary crossing algorithm=
-" There are two selections possible: EXACT, means
+" Boundary crossing algorithm= EXACT (default), PRESTA-I
+" There are two selections possible: EXACT means
" the algorithm will cross boundaries in a single
" scattering (SS) mode, the distance from a boundary
" at which the transition to SS mode is made is
@@ -979,64 +980,62 @@ REPLACE {$VERSION} WITH {
" Determines the distance from a boundary (in elastic
" MFP) at which the algorithm will go into single
" scattering mode (if EXACT boundary crossing) or
-" swith off lateral correlations (if PRESTA-I boundary
+" switch off lateral correlations (if PRESTA-I boundary
" crossing). Default value is 3 for EXACT or
" exp(BLCMIN)/BLCMIN for PRESTA-I (see the PRESTA paper
" for a definition of BLCMIN). Note that if you choose
" EXACT boundary crossing and set Skin depth for BCA
" to a very large number (e.g. 1e10), the entire
-" calculation will be in SS mode. If you choose
-" PRESTA-I boundary crossing and make Skin depth for BCA
-" large, you will get default EGS4 behavious (no PRESTA)
+" calculation will be in single-scattering mode. If you
+" choose PRESTA-I boundary crossing and make Skin depth
+" for BCA large, you will get default EGS4 behaviour
+" (no PRESTA).
" [ skindepth_for_bca ]
-" Electron-step algorithm=
-" PRESTA-II (the default), the name is
-" used for historical reasons
-" or PRESTA-I
+" Electron-step algorithm= PRESTA-II (default), PRESTA-I (legacy)
" Determines the algorithm used to take into account
" lateral and longitudinal correlations in a
" condensed history step.
" [ transport_algorithm ]
-" Spin effects= Off, On, default is On
+" Spin effects= Off, On (default)
" Turns off/on spin effects for electron elastic
" scattering. Spin On is ABSOLUTELY necessary for
" good backscattering calculations. Will make a
-" even in `well conditioned' situations (e.g. depth
-" dose curves for RTP energy range electrons).
+" difference even in `well conditioned' situations
+" (e.g. depth dose curves for RTP energy range
+" electrons).
" [ spin_effects ]
-" Brems angular sampling= Simple, KM, default is KM
+" Brems angular sampling= Simple, KM (default)
" If Simple, use only the leading term of the Koch-Motz
" distribution to determine the emission angle of
-" bremsstrahlung photons. If On, complete
+" bremsstrahlung photons. If KM, complete
" modified Koch-Motz 2BS is used (modifications
" concern proper handling of kinematics at low energies,
" makes 2BS almost the same as 2BN at low energies).
" [ IBRDST ]
-" Brems cross sections= BH, NIST, default is BH
+" Brems cross sections= BH (default), NIST, NRC
" If BH is selected, the Bethe-Heitler bremsstrahlung
" cross sections (Coulomb corrected above 50 MeV)
" will be used. If NIST is selected, the NIST brems
" cross section data base (which is the basis for
" the ICRU radiative stopping powers) will be employed.
" Differences are negligible for E > ,say, 10 MeV,
-" but signifficant in the keV energy range.
-" Electron Impact Ionization= Off (default), On, casnati, kolbenstvedt,
-" gryzinski or penelope. If set to On or ik, then
-" use Kawrakow's theory to derive EII cross-sections.
-" If set to casnati, then use the cross-sections of
-" Casnati (from file ($HEN_HOUSE/data/eii_casnati.data).
-" Similar for kolbenstvedt, gryzinski and penelope.
-" This is only of interest in kV X-ray calculations.
-" Note that the user can supply their own EII
-" cross-section data as well. The requirement is that
-" the file eii_suffix.data exists in the $HEN_HOUSE/data
-" directory, where suffix is the name specified.
-" Entry case-sensitive except for Off, On or ik.
-" [ eii_flag ]
-" Bound Compton scattering= On, Off, Simple or norej
+" but significant in the keV energy range. If NRC is
+" selected, the NRC brems cross-section data base will
+" be used, which is a version of the NIST data base
+" with corrected electron-electron brems contributions
+" (corrections to the NIST data is typically only
+" significant for low values of the atomic number Z
+" and for k/T < 0.005).
+" [ ibr_nist ]
+" Triplet production= On or Off (default). Turns on/off simulation
+" of triplet production. If On, then Borsellino's
+" first Born approximation is used to sample triplet
+" events based on the triplet cross-section data.
+" [ itriplet ]
+" Bound Compton scattering= On, Off, Simple or norej (default)
" If Off, Compton scattering will be treated with
" Klein-Nishina, with On Compton scattering is
-" treated in the Impuls approximation. Default is On.
+" treated in the Impulse approximation.
" With Simple, the impulse approximation incoherent
" scattering function will be used (i.e., no Doppler
" broadenning). With norej the actual total bound
@@ -1045,7 +1044,29 @@ REPLACE {$VERSION} WITH {
" Make sure to turn on for low energy applications,
" not necessary above, say, 1 MeV.
" [ IBCMP ]
-" Pair angular sampling= Off, Simple or KM
+" Radiative Compton corrections= On or Off (default). If On, then
+" include radiative corrections for Compton scattering.
+" Equations are based on original Brown & Feynman
+" equations (Phys. Rev. 85, p 231--1952). Requires
+" a change to the user codes Makefile to include
+" $(EGS_SOURCEDIR)rad_compton1.mortran in the
+" SOURCES (just before
+" $(EGS_SOURCEDIR)get_inputs.mortran).
+" [ radc_flag ]
+" Electron Impact Ionization= Off (default), On, casnati, kolbenstvedt,
+" gryzinski or penelope. If set to On or ik, then
+" use Kawrakow's theory to derive EII cross-sections.
+" If set to casnati, then use the cross-sections of
+" Casnati (from file $HEN_HOUSE/data/eii_casnati.data).
+" Similar for kolbenstvedt, gryzinski and penelope.
+" This is only of interest in kV X-ray calculations.
+" Note that the user can supply their own EII
+" cross-section data as well. The requirement is that
+" the file eii_suffix.data exists in the $HEN_HOUSE/data
+" directory, where suffix is the name specified.
+" Entry is case-sensitive except for Off, On or ik.
+" [ eii_flag, eii_xfile ]
+" Pair angular sampling= Off, Simple (default), KM.
" If off, pairs are set in motion at an angle m/E
" relative to the photon direction (m is electron rest
" energy, E the photon energy). Simple turns on
@@ -1053,22 +1074,28 @@ REPLACE {$VERSION} WITH {
" (this is sufficient for most applications),
" KM (comes from Koch and Motz) turns on using 2BS
" from the article by Koch and Motz.
-" Default is Simple, make sure you always use Simple or
-" KM
+" Default is Simple, make sure you always use
+" Simple or KM
" [ IPRDST ]
" Pair cross sections= BH (default) or NRC. If set to BH, then use
" Bethe-Heitler pair production cross-sections. If set
" to NRC, then use NRC pair production cross-sections
" (in file $HEN_HOUSE/data/pair_nrc1.data). Only
" of interest at low energies, where the NRC cross-
-" sections take into account the assymmetry in the
+" sections take into account the asymmetry in the
" positron-electron energy distribution.
" [ pair_nrc ]
" Photon cross sections= Photon cross-section data. Current options are
-" si (Storm-Israel--the default), epdl (Evaluated Photon
-" Data Library), xcom and pegs4. Allows the use of
-" photon cross-sections other than from the PEGS4 file
-" unless the pegs4 option is specified.
+" si (Storm-Israel), epdl (Evaluated Photon Data
+" Library), xcom (default), pegs4, mcdf-xcom and
+" mcdf-epdl:
+" Allows the use of photon cross-sections other than
+" from the PEGS4 file (unless the pegs4 option is
+" specified). Options mcdf-xcom and mcdf-epdl use
+" Sabbatucci and Salvat's renormalized photoelectric
+" cross sections with either xcom or epdl for all other
+" cross sections. These are more accurate but can
+" increase CPU time by up to 6 %.
" Note that the user can supply their own cross-section
" data as well. The requirement is that the files
" photon_xsections_photo.data,
@@ -1076,8 +1103,7 @@ REPLACE {$VERSION} WITH {
" photon_xsections_triplet.data, and
" photon_xsections_rayleigh.data exist in the
" $HEN_HOUSE/data directory, where photon_xsections
-" is the name specified.
-" Hence this entry is case-sensitive.
+" is the name specified. This entry is case-sensitive.
" [ photon_xsections ]
" Photon cross-sections output= Off (default) or On. If On, then
" a file $EGS_HOME/user_code/inputfile.xsections is
@@ -1092,26 +1118,13 @@ REPLACE {$VERSION} WITH {
" (see below). The default file (ie in the absence
" of any user-supplied data) is compton_sigma.data.
" [ comp_xsections ]
-" Photoelectron angular sampling= Off or On
-" If Off, photo-electrons get the direction of the
-" `mother' photon, with On, Sauter's furmula is
-" used (which is, striktly speaking, valid only for
-" K-shell photo-absorption).
-" If the user has a better approach, replace the macro
-" $SELECT-PHOTOELECTRON-DIRECTION;
-" The only application that
-" I encountered until now where this option made a
-" small difference was a big ion chamber (cavity size
-" comparable with electron range) with high-Z walls
-" in a low energy photon beam.
-" Default is On
-" [ IPHTER ]
-" Rayleigh scattering= Off, On, custom
-" If On, turn on coherent (Rayleigh) scattering,
-" even if no Rayleigh data in PEGS4 file.
-" Default is Off. Should be turned on for low energy
+" Rayleigh scattering= Off, On (default), custom
+" If On, turns on coherent (Rayleigh) scattering.
+" Default is On. Should be turned on for low energy
" applications. If custom, user must provide media names
-" and form factor files for each medium.
+" and form factor files for each desired medium. The
+" rest of the media use the default atomic form factors.
+" A PEGS4 data set is not required anymore.
" [ IRAYLR ]
" ff media names = A list of media names (must match media found in
" PEGS4 data file) for which the user is going to
@@ -1126,28 +1139,63 @@ REPLACE {$VERSION} WITH {
" example files, see the directory
" $HEN_HOUSE/data/molecular_form_factors.
" [ iray_ff_file($MXMED) ]
-" Atomic relaxations= Off, On
-" Default is On. The effect of using On is twofold:
+" Photonuclear attenuation= Off (default) or On
+" If On, models the photonuclear effect. Current
+" implementation is crude. Available on a
+" region-by-region basis (see below)
+" [ IPHOTONUCR ]
+" Photonuclear cross sections= Total photonuclear cross sections. User-
+" supplied total photonuclear cross-sections in
+" $HEN_HOUSE/data/photonuc_xsections_photonuc.data,
+" where photonuc_xsections is the name supplied for
+" this input (case sensitive). In the absence of
+" any user-supplied data, or if photonuc_xsections
+" is set to 'default', the default file is
+" iaea_photonuc.data.
+" [ photonuc_xsections ]
+" Photoelectron angular sampling= Off or On (default)
+" If Off, photo-electrons get the direction of the
+" `mother' photon, with On, Sauter's formula is
+" used (which is, strictly speaking, valid only for
+" K-shell photo-absorption).
+" If the user has a better approach, replace the macro
+" $SELECT-PHOTOELECTRON-DIRECTION;
+" The only application encountered where this option
+" made a small difference was a big ion chamber
+" (cavity size comparable with electron range)
+" with high-Z walls in a low energy photon beam.
+" [ IPHTER ]
+" Atomic relaxations= Off, On, eadl (default), simple
+" On defaults to eadl.
+" When simulating atomic relaxations:
" - In photo-electric absorption events, the element
" (if material is mixture) and the shell the photon
" is interacting with are sampled from the appropriate
-" cross seections
-" - Shell vacancies created in photo-absorption events
+" cross sections
+" - Shell vacancies created in photoelectric,
+" compton and electron impact ionization events
" are relaxed via emission of fluorescent X-Rays,
" Auger and Koster-Cronig electrons.
-" Make sure to turn this option on for low energy
-" applications.
-" [ IEDGFL ]
-;
-" Atomic relaxations, Rayleigh scattering,
-" Photoelectron angular sampling and Bound Compton scattering
-" can also be turned On/Off on a region-by-region
-" basis. To do so, put e.g.
+" The eadl option features a more accurate treatment
+" of relaxation events and uses binding energies
+" consistent with those in of the photon cross sections
+" used in the simulation. If using mcdf-xcom or
+" mcdf-epdl photon cross sections, you cannot use
+" the simple option and this will automatically get
+" reset to eadl. Make sure to use eadl or simple for
+" low energy applications.
+" [ IEDGFL ]
+"
+" Atomic relaxations, Rayleigh scattering, Photoelectron angular sampling,
+" Bound Compton scattering and photonuclear effect
+" can also be turned On/Off on a region-by-region basis. An example for
+" Atomic relaxations on a region-by-region basis is:
"
" Atomic relaxations= On in Regions or
" Atomic relaxations= Off in regions
"
-" in your input file. Then use
+" Then define the regions in which you want
+" the feature to be turned on:
"
" Bound Compton start region=
" Bound Compton stop region=
@@ -1160,17 +1208,22 @@ REPLACE {$VERSION} WITH {
" or
" PE sampling start region=
" PE sampling stop region=
+" or
+" Photonuclear start region=
+" Photonuclear stop region=
"
-" each followed by a lost of of one or more
+" each followed by a list of one or more
" start and stop regions separated by commas.
" Example:
+"
" Atomic relaxations= On in Regions
" Relaxations start region= 1, 40
" Relaxations stop region= 10, 99
+"
" will first turn off relaxations everywhere and
-" then turn off in regions 1-10 and 40-99.
-" Note that input is checked against min. and max.
-" region number and ignored if
+" then turn on in regions 1-10 and 40-99.
+" Note that the input is checked against minimum
+" and maximum region numbers and ignored if
" start region < 1 or stop_region > $MXREG or
" start region > stop region.
"
@@ -4603,7 +4656,7 @@ IF(ISPRREG=1)["create the .plotdat file"
IF(ISOURC=3|ISOURC=21|ISOURC=22|ISOURC=23)[
YTITLE='dose per incident particle/Gy'; ]
- ELSE[ YTITLE='dose per incident fluence/Gy cm\\S2\\N'; ]
+ ELSE[ YTITLE='dose per incident fluence/Gy cm\S2\N'; ]
HISTXMIN=BIN_CUT; "value of lower X-bin (histograms only)"
AXISTYPE=0; "0 for no logs"
DO IZ=1, NZ [
@@ -4663,7 +4716,7 @@ IF(ISPRREG=1)["create the .plotdat file"
IF(ISOURC=3|ISOURC=21|ISOURC=22|ISOURC=23)[
YTITLE='dose per incident particle/Gy'; ]
- ELSE[ YTITLE='dose per incident fluence/Gy cm\\S2\\N'; ]
+ ELSE[ YTITLE='dose per incident fluence/Gy cm\S2\N'; ]
" --------------------- >
" SUBTITLE='dose vs radius at ' // TIMEN // ' on ' // DATEN;
HISTXMIN=BIN_CUT; "value of lower X-bin (histograms only)"
diff --git a/HEN_HOUSE/user_codes/tutor2pp/tutor2pp.cpp b/HEN_HOUSE/user_codes/tutor2pp/tutor2pp.cpp
index ad141ebee..804fad352 100644
--- a/HEN_HOUSE/user_codes/tutor2pp/tutor2pp.cpp
+++ b/HEN_HOUSE/user_codes/tutor2pp/tutor2pp.cpp
@@ -24,6 +24,7 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Ernesto Mainegra-Hing
+# Reid Townson
#
###############################################################################
#
@@ -178,4 +179,3 @@ APP_LIB(Tutor2_Application);
#else
APP_MAIN(Tutor2_Application);
#endif
-
diff --git a/HEN_HOUSE/user_codes/tutor7pp/array_sizes.h b/HEN_HOUSE/user_codes/tutor7pp/array_sizes.h
index 8d9f4c7bc..723a674a1 100644
--- a/HEN_HOUSE/user_codes/tutor7pp/array_sizes.h
+++ b/HEN_HOUSE/user_codes/tutor7pp/array_sizes.h
@@ -23,7 +23,7 @@
#
# Author: Iwan Kawrakow, 2005
#
-# Contributors:
+# Contributors: Reid Townson
#
###############################################################################
#
diff --git a/HEN_HOUSE/user_codes/tutor7pp/tutor7pp.cpp b/HEN_HOUSE/user_codes/tutor7pp/tutor7pp.cpp
index ebdc90ef5..4abce121d 100644
--- a/HEN_HOUSE/user_codes/tutor7pp/tutor7pp.cpp
+++ b/HEN_HOUSE/user_codes/tutor7pp/tutor7pp.cpp
@@ -24,6 +24,10 @@
# Author: Iwan Kawrakow, 2005
#
# Contributors: Frederic Tessier
+# Ernesto Mainegra-Hing
+# Blake Walters
+# Reid Townson
+# Max Orok
#
###############################################################################
#
diff --git a/HEN_HOUSE/utils/geomsph.mortran b/HEN_HOUSE/utils/geomsph.mortran
index bc7a4efc1..637ab06ce 100644
--- a/HEN_HOUSE/utils/geomsph.mortran
+++ b/HEN_HOUSE/utils/geomsph.mortran
@@ -25,6 +25,7 @@
" "
" Contributors: Iwan Kawrakow "
" Ernesto Mainegra-Hing "
+" Blake Walters "
" "
"#############################################################################"
diff --git a/HEN_HOUSE/utils/grids.mortran b/HEN_HOUSE/utils/grids.mortran
index a6272f12f..010bb7fc2 100644
--- a/HEN_HOUSE/utils/grids.mortran
+++ b/HEN_HOUSE/utils/grids.mortran
@@ -26,6 +26,7 @@
" "
" Contributors: Blake Walters "
" Iwan Kawrakow "
+" Ernesto Mainegra-Hing "
" "
"#############################################################################"