diff --git a/HEN_HOUSE/doc/src/pirs898-egs++/Doxyfile b/HEN_HOUSE/doc/src/pirs898-egs++/Doxyfile
index 0775afb85..362433333 100644
--- a/HEN_HOUSE/doc/src/pirs898-egs++/Doxyfile
+++ b/HEN_HOUSE/doc/src/pirs898-egs++/Doxyfile
@@ -748,6 +748,7 @@ INPUT = main.doxy \
egs_cbct.doxy \
egs_chamber.doxy \
egs_fac.doxy \
+ egs_kerma.doxy \
../../../egs++ \
../../../interface/egs_interface2.h
diff --git a/HEN_HOUSE/doc/src/pirs898-egs++/egs_kerma.doxy b/HEN_HOUSE/doc/src/pirs898-egs++/egs_kerma.doxy
new file mode 100644
index 000000000..9ed239ff3
--- /dev/null
+++ b/HEN_HOUSE/doc/src/pirs898-egs++/egs_kerma.doxy
@@ -0,0 +1,574 @@
+/*
+###############################################################################
+#
+# EGSnrc egs++ egs_kerma application documentation
+# Copyright (C) 2019 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: Ernesto Mainegra-Hing, 2019
+#
+# Contributors:
+#
+###############################################################################
+*/
+
+/*! \file egs_kerma.doxy
+ * \brief Documents the egs_kerma application
+ * \EM
+ */
+
+/*! \page egs_kerma egs_kerma: Kerma calculations in a volume
+
+
+- \ref egs_kerma_intro
+- \ref egs_kerma_geometry
+- \ref egs_kerma_sources
+- \ref egs_kerma_options
+
+- \ref egs_kerma_calculation
+ - \ref egs_kerma_FD
+ - \ref egs_kerma_fluence
+
+- \ref egs_kerma_output
+- \ref common_mc
+- \ref egs_kerma_usage
+- \ref egs_kerma_example
+
+
+\section egs_kerma_intro Introduction
+
+The C++ application \c egs_kerma is an advanced EGSnrc application whose
+main goal is the estimation of kerma in a volume defined by one or
+more geometrical regions by means of a track-length estimator.
+The efficiency of the calculation can be increased by several orders
+of magnitude by using the variance reduction technique (VRT) known as
+\ref egs_kerma_FD "forced detection" (FD). It can also be used for estimating the total and
+differential photon fluence in the scoring volume.
+
+This code is by no means in its final stage. It is still very experimental
+and it has been cleaned up for release in the hope it will be useful
+to EGSnrc users. A number of collaborators have been using it for some time and
+have helped with their comments and bug reporting.
+
+\section egs_kerma_geometry Geometries
+
+Geometries are specified in an input file as explained in
+the \ref Geometry "geometry module". Besides the simulation geometry, a geometry
+should be defined that encompasses all scoring regions to be able to take advantage
+of the \ref egs_kerma_FD "FD" VRT.
+
+\section egs_kerma_sources Particle source definition
+
+Any source from the \c egs++ \link Sources particle sources module\endlink can be used. Here is an example for
+an isotropic point source of 40 keV photons placed at 100 cm on the negative z-axis:
+
+\verbatim
+:start source:
+ name = isotropic
+ library = egs_isotropic_source
+ charge = 0
+
+ ### source shape
+ :start shape:
+ type = point
+ position = 0, 0, -100
+ :stop shape:
+
+ ### source spectrum
+ :start spectrum:
+ type = monoenergetic
+ energy = 0.04 # MeV
+ :stop spectrum:
+
+:stop source:
+\endverbatim
+
+BEWARE: No check is made for the charge of the initial particles.
+Although kerma is only defined for neutral particles such as photons and neutrons,
+one could potentially want to calculate kerma for secondary neutral particles
+generated by charged particles.
+
+\section egs_kerma_options Scoring options input block
+
+Kerma in the scoring volume can be calculated
+for several geometries at once. Hence a correlated scoring
+of kerma ratios can be requested by linking any combination of
+two calculation geometries. In cases of small differences between
+these geometries, the kerma ratios will be strongly correlated,
+resulting in a significant reduction of the variance.
+Correlated scoring is requested by assigning two geometry names to
+the correlated geometries
key.
+A pseudo input block of such an input is shown below:
+
+\verbatim
+:start scoring options:
+
+ :start calculation geometry:
+ geometry name = name_1
+ cavity regions = list_of_cavity_region_indices
+ cavity mass = total cavity mass in grams
+ excluded regions = list_of_regions # exclude particles touching these regions
+ :stop calculation geometry:
+ :start calculation geometry:
+ geometry name = name_1
+ cavity regions = list_of_cavity_region_indices
+ cavity mass = total cavity mass in grams
+ excluded regions = list_of_regions
+ :stop calculation geometry:
+ :start calculation geometry:
+ geometry name = name_2
+ ...
+ :stop calculation geometry:
+ ...
+ :start calculation geometry:
+ geometry name = name_n
+ ...
+ :stop calculation geometry:
+
+ correlated geometries = name_i name_j
+ ...
+ correlated geometries = name_k name_l
+
+ ### fluence scoring requested (common to all calculation geometries)
+ :start fluence scoring:
+ minimum energy = Emin
+ maximum energy = Emax
+ number of bins = N
+ scale = linear # linear or logarithmic
+ :stop fluence scoring:
+
+ ### E*muen file (could also be E*mutr): absolute or relative file path
+ emuen file = absolute_file_name
+
+ ### geometry for forced-detection (if omitted, an analog scoring is used)
+ cavity geometry = cavity # For forced detection
+
+:stop scoring options:
+\endverbatim
+
+The meaning of the various keys defining a calculation geometry should
+be self explanatory. The reason one must specify the cavity mass is that
+due to the generality of the geometry package it is not possible to
+automatically compute the cavity volume and therefore the user must supply
+this information for proper normalization. Geometrical regions spanning the
+scoring volume (cavity) are provided via the
+cavity regions
key. If no valid region is entered or
+this input is ignored, no kerma to the cavity of the calculation geometry
+is calculated.
+
+\section egs_kerma_calculation Kerma scoring
+
+Kerma calculations require a file containing pairs of energy \f$ E \f$ and
+\f$ E \times \frac{\mu_{en}}{\rho} \f$ values for the medium of interest.
+This allows a faster evaluation of the
+summation over all contributing particles by saving the multiplication operation.
+The full name (absolute path) of this file must be provided using the
+emuen file
key as shown in the above example.
+
+Kerma for medium \f$m\f$, \f$K_m\f$ is computed by summing up the individual contributions
+of N photons crossing the scoring volume \f$V\f$ using the expression
+
+\f[
+K_m=\sum_{i=1}^{N} w_i \cdot \frac{l_i}{V} \cdot E_i \cdot
+\left(\frac{\mu_\mathrm{en}}{\rho}\right)_i^m
+\f]
+
+The example file emuen_icru90_1.5MeV.data contains \f$ E \times \frac{\mu_{en}}{\rho} \f$
+values for air on a logarithmic energy scale from 1 keV up to 1.5 MeV. These values
+were calculated with the g application using the following (non-default)
+transport parameters:
+
+\verbatim
+##############################
+:start mc transport parameter:
+
+ Global ECUT = 0.512
+ Global PCUT = 0.001
+
+ Photon cross sections = mcdf-xcom # XCOM with renormalized PE xsections
+ Pair cross sections = nrc
+ Triplet production = On
+ Radiative Compton corrections = On
+
+ Brems cross sections = nrc
+ Electron Impact Ionization = penelope # Could be also ik
+
+:stop mc transport parameter:
+##############################
+ \endverbatim
+
+This file is distributed with egs_kerma in the same folder.
+
+\section egs_kerma_FD Variance reduction: Forced Detection
+
+If the user provides the name of a defined geometry encompassing all scoring regions,
+then a variance reduction technique known as forced detection can be used
+which increases the calculation efficiency by about 3 orders of magnitude compared
+to an analog calculation. The name of such a geometry should be provided to the
+application via the key cavity geometry
in the
+scoring options
input block.
+If no such geometry is provided, kerma is calculated in an analog manner,
+\em i.e. by scoring every time a photon crosses the scoring volume.
+
+The usual approach to compute kerma \f$K_m\f$ for medium \f$m\f$ is to score the individual
+contributions from photons crossing the scoring region. This approach is already several
+times more efficient than using the kerma approximation where a full simulation of
+all photon interactions is performed assuming electrons deposit their energy on the spot.
+One can go one step further and estimate the contribution to kerma from any photon
+that could potentially cross the scoring region due to its direction. An algorithm
+to determine whether the direction of the photon intercepts with the scoring region
+ needs to be implemented, as well as a ray-tracing algorithm to account for the attenuation
+through the geometry. This way, one does not have to wait until the photon reaches
+the scoring region to estimate its contribution to the kerma and a more efficient
+sampling of all possible contributions is achieved. This approach is equivalent to
+running N separate MC simulations where in the \f$ k^{th} \f$ simulation, only the contribution
+to the kerma from particles interacting \f$k-1\f$ times is scored. After running all these
+simulations, they can be added together to obtain the total kerma.
+
+Kerma to medium \f$m\f$ is computed by adding up the contribution
+from all photons aimed at the cavity geometry
using the expression
+
+\f[
+K_m=\sum_{i=1}^{N} w_i \cdot \frac{l_i}{V} \cdot E_i \cdot
+\left(\frac{\mu_\mathrm{en}}{\rho}\right)_i^m \cdot
+e^{- \sum_{j=1}^{N_j} \mu_{ij} \cdot l_{ij}}
+\f]
+
+with \f$N_j\f$ the number of regions crossed by the \f$ i^\mathrm{th}\f$ photon,
+\f$\mu_{ij}\f$ the attenuation coefficient in region \f$j\f$ and \f$l_{ij}\f$
+the path across region \f$j\f$.
+
+\section egs_kerma_fluence Fluence scoring
+
+A photon fluence calculation can be requested using the following input block:
+
+\verbatim
+:start scoring options:
+ ...
+ :start fluence scoring:
+ minimum energy = Emin
+ maximum energy = Emax
+ number of bins = N
+ scale = linear, logarithmic
+ :stop fluence scoring:
+:stop scoring options:
+\endverbatim
+
+Differential fluence \f$ \phi_j \f$ is calculated by scoring the volume-averaged
+track length for particles with energies E between \f$E_j\f$ and \f$E_{j+1}\f$
+using Chilton's fluence concept for any sampling volume V:
+
+\f[
+\phi_j=\frac{\sum_{i=1}^{N_j} w_i \cdot l_i}{V}
+\f]
+
+where \f$\displaystyle l_i\f$ is the length of the \f$\displaystyle i^{th} \f$
+particle track. The width of the energy bins is defined by \f$ E_{min} \f$,
+\f$ E_{max} \f$ and the number of bins N. Total fluence \f$ \Phi \f$
+is calculated as the sum over all contributions to the fluence
+
+\f[
+\Phi=\sum_{j=0}^{N-1} \phi_j
+\f]
+
+The fluence scoring
input block can be used
+to request the photon fluence spectrum in a volume \f$V\f$
+defined by the cavity regions
.
+
+\section egs_kerma_output Output
+
+Kerma to medium in the volume of interest for each geometry as well as kerma
+ratios requested by the user are output
+to an *.egslog file (batch execution) or to the screen (interactive execution).
+If a fluence calculation is requested, total and differential photon fluences
+are also output for each calculation geometry. Additionally,
+a Grace plot of
+the differential fluence for all geometries is generated in a file (*.agr).
+
+\section egs_kerma_usage Usage
+
+As any other EGSnrc application, \c egs_kerma can be started from the command line
+using
+\verbatim
+egs_kerma -i input_file [-p pegs_file] [-o output_file] [-b] [-s] [-P N -j i]
+\endverbatim
+where the arguments in square brackets are optional. With the \c -o option
+one can change the name of the output files (by default \c input_file.xxx
+is used, where \c xxx is \c .egslog for the log file, \c .egsdat for the
+data file, etc.). With \c -b one specifies a "batch" run, \em i.e. the
+output is redirected to \c output_file.egslog. With \c -s one can force
+\c egs_kerma to use a simple RCO instead of a JCF-RCO in parallel runs
+specified with -P N -j i
, where \c N is the number of parallel
+jobs and \c i the job index. Note that one Unix-type systems it is easier
+to use the \c exb command to submit parallel jobs
+\verbatim
+exb egs_kerma input_file pegs_file [p=N] [batch=pbs]
+\endverbatim
+where the \c batch option specifies the queuing system to be used.
+If using a \em pegsless input file, then pegs_file
must be substituted with
+the keyword pegsless.
+The EGSnrc GUI can be also used, see
+see PIRS-877 for more details on running EGSnrc applications.
+
+
+\section egs_kerma_example An input example: Kerma in 5 cm air sphere for 40 keV
+photons
+
+\verbatim
+###############################################################################
+#
+# EGSnrc egs++ egs_kerma application sample input file
+# Copyright (C) 2016 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: Ernesto Mainegra-Hing, 2016
+#
+# Contributors:
+#
+###############################################################################
+#
+# A simple example input file for the egs_kerma C++ application.
+#
+# Simulates a 40 keV isotropic photon source in a room with concrete walls.
+# Kerma and fluence inside a 5 cm radius air sphere are calculated using a
+# forced-detection (FD) technique and a track-length estimator. The air sphere
+# is in the centre of the room and the source is 1 m from the sphere.
+#
+# NOTE 1: Material data is generated in pegsless mode. If source energy
+# changed, make sure to adjust energy cut-offs (ae, ue, ap, up) below.
+#
+# NOTE 2: Two geometries are used here for illustration purposes. Most likely
+# only one geometry is needed for kerma and fluence calculations.
+#
+###############################################################################
+
+
+###############################################################################
+### Geometry
+###############################################################################
+:start geometry definition:
+
+ ### air cavity, spherical, 5 cm radius
+ :start geometry:
+ name = cavity
+ library = egs_spheres
+ midpoint = 0 0 0
+ radii = 5.0
+ :start media input:
+ media = air
+ :stop media input:
+ :stop geometry:
+
+ ### air box (8 m x 8 m x 8 m)
+ :start geometry:
+ name = air
+ library = egs_box
+ box size = 800
+ :start media input:
+ media = air
+ :stop media input:
+ :stop geometry:
+
+ ### room with 1 m thick concrete walls
+ :start geometry:
+ name = walls
+ library = egs_box
+ box size = 900
+ :start media input:
+ media = concrete
+ :stop media input:
+ :stop geometry:
+
+ ### room with concrete walls
+ :start geometry:
+ name = room
+ library = egs_genvelope
+ base geometry = walls
+ inscribed geometries = air
+ :stop geometry:
+
+ ###########################################################################
+ #
+ # The two geometries below are identical
+ #
+ # The purpose is to account for wall contributions to the air sphere. The
+ # first geometry does NOT include contributions from the wall during the
+ # calculation, while the second one does. See the 'scoring options' block
+ # for more detail.
+ #
+ # There are several ways of accomplishing this. One could just have used
+ # the same geometry for both calculations, with and without the sensitive
+ # regions, or have one geometry with and another without the walls.
+ #
+ ###########################################################################
+
+ ### air sphere in room with concrete walls (wall contribution NOT included)
+ :start geometry:
+ name = cavity_in_room_no_wall
+ library = egs_genvelope
+ base geometry = room
+ inscribed geometries = cavity
+ :stop geometry:
+
+ ### air sphere in room with concrete walls (wall contribution included)
+ :start geometry:
+ name = cavity_in_room_all
+ library = egs_genvelope
+ base geometry = room
+ inscribed geometries = cavity
+ :stop geometry:
+
+ ### simulation geometry
+ simulation geometry = cavity_in_room_no_wall
+
+:stop geometry definition:
+
+
+###############################################################################
+### Media
+###############################################################################
+:start media definition:
+
+ ### energy cutoffs
+ ae = 0.512
+ ue = 0.555
+ ap = 0.001
+ up = 0.045
+
+ ### air
+ :start air:
+ density correction file = air_dry_nearsealevel
+ :stop air:
+
+ ### concrete
+ :start concrete:
+ density correction file = concrete_ordinary
+ :stop concrete:
+
+:stop media definition:
+
+
+###############################################################################
+### Source
+###############################################################################
+:start source definition:
+
+ ### isotropic
+ :start source:
+ name = isotropic
+ library = egs_isotropic_source
+ charge = 0
+
+ ### source shape
+ :start shape:
+ type = point
+ position = 0, 0, -100
+ :stop shape:
+
+ ### source spectrum
+ :start spectrum:
+ type = monoenergetic
+ energy = 0.04 # MeV
+ :stop spectrum:
+
+ :stop source:
+
+ ### simulation source
+ simulation source = isotropic
+
+:stop source definition:
+
+
+###############################################################################
+### Scoring options
+###############################################################################
+:start scoring options:
+
+ ### use the same geometry under two different names, for easier bookeeping
+ :start calculation geometry:
+ geometry name = cavity_in_room_no_wall
+ cavity regions = 2
+ excluded regions = 0 # exclude particles passing through these regions
+ cavity mass = 0.630831804841 # 5 cm radius air sphere
+ :stop calculation geometry:
+
+ :start calculation geometry:
+ geometry name = cavity_in_room_all
+ cavity regions = 2
+ #excluded regions = 0 # exclude particles passing through these regions
+ cavity mass = 0.630831804841 # 5 cm radius air sphere
+ :stop calculation geometry:
+
+ ### ratio estimates wall contribution to air sphere
+ correlated geometries = cavity_in_room_all cavity_in_room_no_wall
+
+ ### fluence scoring requested (common to all calculation geometries)
+ :start fluence scoring:
+ minimum energy = 0.0
+ maximum energy = 0.040
+ number of bins = 400
+ scale = linear
+ :stop fluence scoring:
+
+ ### E*muen file (could also be E*mutr): absolute or relative file path
+ emuen file = emuen_icru90_1.5MeV.data
+
+ ### geometry for forced-detection (if omitted, an analog scoring is used)
+ cavity geometry = cavity
+
+:stop scoring options:
+
+
+###############################################################################
+### Transport parameters
+###############################################################################
+:start MC transport parameter:
+
+ ### you can include here any of the EGSnrc transport parameters
+
+ Global ECUT = 2000. # Turn-off electron transport
+ Photon cross sections = mcdf-xcom # XCOM with renormalized PE xsections
+
+:stop MC transport parameter:
+
+
+###############################################################################
+### Run control
+###############################################################################
+:start run control:
+ ncase = 1000000
+:stop run control:
+\endverbatim
+*/
diff --git a/HEN_HOUSE/doc/src/pirs898-egs++/main.doxy b/HEN_HOUSE/doc/src/pirs898-egs++/main.doxy
index 1301f70db..8a13adb1b 100644
--- a/HEN_HOUSE/doc/src/pirs898-egs++/main.doxy
+++ b/HEN_HOUSE/doc/src/pirs898-egs++/main.doxy
@@ -104,6 +104,9 @@
\ref egs_cbct "egs_cbct" An application for CBCT/CT scanner simulations |
+
+ \ref egs_kerma "egs_kerma" An application for volumetric kerma calculations |
+
How to write an egs++ application |
diff --git a/HEN_HOUSE/scripts/finalize_egs_foruser b/HEN_HOUSE/scripts/finalize_egs_foruser
index 7035ac37f..6f00c3e82 100755
--- a/HEN_HOUSE/scripts/finalize_egs_foruser
+++ b/HEN_HOUSE/scripts/finalize_egs_foruser
@@ -75,7 +75,7 @@ else
test_egs_home=$(cd $my_dir/../..; pwd)/egs_home
fi
-cpp_user_codes="egs_app cavity egs_cbct egs_chamber egs_fac tutor2pp tutor7pp"
+cpp_user_codes="cavity egs_app egs_cbct egs_chamber egs_fac egs_kerma tutor2pp tutor7pp"
# Now explain to the user what this script is going to do.
#
cat >&2 <<_ACEOF
diff --git a/HEN_HOUSE/user_codes/egs_kerma/Makefile b/HEN_HOUSE/user_codes/egs_kerma/Makefile
new file mode 100644
index 000000000..c984500cb
--- /dev/null
+++ b/HEN_HOUSE/user_codes/egs_kerma/Makefile
@@ -0,0 +1,78 @@
+
+###############################################################################
+#
+# EGSnrc makefile to build egs++ egs_kerma application
+# Copyright (C) 2016 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: Ernesto Mainegra-Hing, 2016
+#
+# Contributors:
+#
+###############################################################################
+
+
+include $(EGS_CONFIG)
+include $(SPEC_DIR)egspp1.spec
+include $(SPEC_DIR)egspp_$(my_machine).conf
+
+# Specify the name of the user code.
+# The name of the executable is determined from this variable.
+#
+USER_CODE = egs_kerma
+
+# The following can be used to add user macros and mortran subroutines.
+# The file(s) specified here are added after egsnrc.macros, machine.macros
+# and egs_c_interface2.macros but before any files that have
+# executable code.
+#
+EGSPP_USER_MACROS = egs_kerma.macros
+#EGSPP_USER_MACROS = egs_kerma.macros \
+# $(EGS_SOURCEDIR)emf_macros.mortran
+
+# Specify from which base class this application is being derived.
+# This has the effect of automatically compiling the base application
+# class and including it into the list of object files.
+#
+EGS_BASE_APPLICATION = egs_advanced_application
+
+# Specify the set of mortran sources used.
+# Here we simply use the standard set defined in $HEN_HOUSE/specs/egspp1.spec
+#
+CPP_SOURCES = $(C_ADVANCED_SOURCES)
+
+# Specify here other header files that your user code depends upon.
+#
+other_dep_user_code = $(ABS_EGSPP)egs_scoring.h
+
+# User code defines
+#
+#DEF_USER = -DCAVITY_DEBUG
+
+include $(HEN_HOUSE)makefiles$(DSEP)cpp_makefile
+
+test_sources:
+ @echo $(C_SOURCES)
+#
+#test_objects:
+# @echo "egs_objects: $(egs_objects)"
+# @echo "user_objects: $(user_objects)"
+#
+c_sources:
+ @echo "C_SOURCES: $(CPP_SOURCES)"
diff --git a/HEN_HOUSE/user_codes/egs_kerma/array_sizes.h b/HEN_HOUSE/user_codes/egs_kerma/array_sizes.h
new file mode 100644
index 000000000..6579eef1d
--- /dev/null
+++ b/HEN_HOUSE/user_codes/egs_kerma/array_sizes.h
@@ -0,0 +1,47 @@
+/*
+###############################################################################
+#
+# EGSnrc egs++ egs_kerma application array sizes headers
+# Copyright (C) 2016 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: Ernesto Mainegra-Hing, 2016
+#
+# Contributors:
+#
+###############################################################################
+#
+# Defines he maximum number of media (MXMED) and the maximum number of
+# particles on the stack (MXSTACK). This file gets included by the egsnrc
+# fortran subroutines (egsnrc_$my_machine.F), the base application
+# (egs_simple_application.cpp or egs_advanced_application.cpp in
+# $HEN_HOUSE/egs++), and possibly the user code, if it uses the particle
+# stack or one of the structures that depends on the maximum number of media.
+#
+###############################################################################
+*/
+
+
+#ifndef ARRAY_SIZES_
+#define ARRAY_SIZES_
+
+#define MXMED 20
+#define MXSTACK 2000000
+
+#endif
diff --git a/HEN_HOUSE/user_codes/egs_kerma/egs_kerma.cpp b/HEN_HOUSE/user_codes/egs_kerma/egs_kerma.cpp
new file mode 100644
index 000000000..e0f293e97
--- /dev/null
+++ b/HEN_HOUSE/user_codes/egs_kerma/egs_kerma.cpp
@@ -0,0 +1,1131 @@
+/*
+###############################################################################
+#
+# EGSnrc egs++ egs_kerma application
+# Copyright (C) 2016 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: Ernesto Mainegra-Hing, 2016
+#
+# Contributors:
+#
+###############################################################################
+#
+# C++ user code for estimating the quantity kerma in a volume.
+#
+# Additionally, the fluence in the volume can be also calculated if
+# requested in the scoring options input block. Two calculation options
+# are available:
+#
+# - If a cavity geometry provided, a forced detection scoring technique
+# can be used to score kerma and fluence for photons reaching the geometry
+# that haven't been in any of the exclusion regions. Photons interacting
+# inside the cavity are NOT included.
+#
+# - If no geometry provided, an analog TL scoring 'a la FLURZnrc' is used
+# for kerma and fluence.
+#
+# Required: E*muen or E*mutr file for scoring either collision or total kerma
+# -------- for the cavity medium
+#
+# Calculations for multiple geometries.
+#
+# Kerma ratios can be calculated using a correlated scoring technique.
+#
+# Exclusion of user specified regions.
+#
+# Scoring volume regions must be provided (consider using labels).
+#
+# Fluence scoring must be specifically requested.
+#
+# Dose calculation in the cavity can be done using a dose scoring ausgab
+# object.This is useful to check the validity of the kerma-approximation.
+#
+# NOTE 1 : Dose calculation with very high ECUT produces an estimate of
+# total kerma, not collision kerma.
+#
+# NOTE 2 : dose scoring ONLY makes sense for ONE calculation geometry.
+# If more than one geometry defined, dose scoring should NOT
+# be used as it would score dose for all geometries in one
+# scoring array.
+#
+###############################################################################
+*/
+
+
+#include
+// We derive from EGS_AdvancedApplication => need the header file.
+#include "egs_advanced_application.h"
+// We use scoring objects provided by egspp => need the header file.
+#include "egs_scoring.h"
+// Every C++ EGSnrc application needs this header file
+#include "egs_interface2.h"
+// We use egsInformation() => need the egs_functions.h header file.
+#include "egs_functions.h"
+// We use the EGS_Input class
+#include "egs_input.h"
+// To get the maximum source energy
+#include "egs_base_source.h"
+// The random number generator
+#include "egs_rndm.h"
+// Transformations
+#include "egs_transformations.h"
+// Interpolators
+#include "egs_interpolator.h"
+
+#include
+#include
+
+#define calculatePhotonMFP F77_OBJ_(calculate_photon_mfp,CALCULATE_PHOTON_MFP)
+extern __extc__ void calculatePhotonMFP(EGS_Float *,EGS_Float *);
+#define doRayleigh F77_OBJ_(do_rayleigh,DO_RAYLEIGH)
+extern __extc__ void doRayleigh();
+#define calculatePhotonBranching F77_OBJ_(calculate_photon_branching,CALCULATE_PHOTON_BRANCHING)
+extern __extc__ void calculatePhotonBranching(EGS_Float *gbr1,EGS_Float *gbr2);
+extern __extc__ void F77_OBJ(pair,PAIR)();
+extern __extc__ void F77_OBJ(compt,COMPT)();
+extern __extc__ void F77_OBJ(photo,PHOTO)();
+
+EGS_Float Eave;
+
+class APP_EXPORT EGS_KermaApplication : public EGS_AdvancedApplication {
+
+public:
+
+ /*! Constructor */
+ EGS_KermaApplication(int argc, char **argv) :
+ EGS_AdvancedApplication(argc,argv), ngeom(0),
+ kerma(0), scg(0), cgeom(0),
+ ncg(0), flug(0),flugT(0) {
+ Eave=0.0;
+ };
+
+ /*! Destructor. */
+ ~EGS_KermaApplication() {
+ if (kerma) {
+ delete kerma;
+ }
+ if (ngeom > 0) {
+ if (flug) {
+ for (int j=0; j 0) {
+ delete [] gind1;
+ delete [] gind2;
+ delete [] scg;
+ }
+ };
+
+ /*! Describe the application. */
+ void describeUserCode() const {
+ egsInformation(
+ "\n *************************************************"
+ "\n * *"
+ "\n * egs_kerma *"
+ "\n * *"
+ "\n *************************************************"
+ "\n\n");
+ egsInformation("This is EGS_KermaApplication %s based on\n"
+ " EGS_AdvancedApplication %s\n\n",
+ egsSimplifyCVSKey(revision).c_str(),
+ egsSimplifyCVSKey(base_revision).c_str());
+
+ };
+
+ /*! Describe the simulation */
+ void describeSimulation();
+
+ /*! Initialize scoring. */
+ int initScoring();
+
+ /*! Accumulate quantities of interest at run time */
+ int ausgab(int iarg) {
+ int np = the_stack->np-1, ir = the_stack->ir[np]-2, iq = the_stack->iq[np];
+ /* Photon about to be transported in geometry */
+ if (iarg == BeforeTransport && !iq && ir >= 0) {
+ int latch = the_stack->latch[np];
+ /* Analog Kerma scoring */
+ if (is_cavity[ig][ir]) {
+ if (!cgeom && latch >= 0) {
+ EGS_Float E = the_stack->E[np], gle = log(E),
+ emuen_rho = E_Muen_Rho->interpolateFast(gle),
+ wtstep = the_stack->wt[np]*the_epcont->tvstep;
+
+ kerma->score(ig,wtstep*emuen_rho*rho_cav);
+ //--------------------------------------------
+ // score photon fluence
+ //--------------------------------------------
+ if (flug) {
+ EGS_Float e = E;
+ if (flu_s) {
+ e = log(e);
+ }
+ EGS_Float ae;
+ int je;
+ if (e > flu_xmin && e <= flu_xmax) {
+ ae = flu_a*e + flu_b;
+ je = min((int)ae,flu_nbin-1);//je = (int) ae;
+ EGS_ScoringArray *aux = flug[ig];
+ aux->score(je,wtstep);
+ flugT->score(ig,wtstep);
+ }
+ }
+ }
+ /* Mark photon inside cavity */
+ latch = 1;
+ }
+ /* Mark photons in exclusion regions */
+ else if (is_excluded[ig][ir]) {
+ latch = -1;
+ }
+ /* photon outside cavity and has not been in any exclusion zone */
+ else if (latch >= 0) {
+ latch = 0;
+ }
+
+ the_stack->latch[np] = latch;
+
+ }
+ return 0;
+ }
+
+ /*! Simulate a single shower.
+ We need to do special things and therefore reimplement this method.
+ */
+ int simulateSingleShower() {
+ last_case = current_case;
+ EGS_Vector x,u;
+ current_case = source->getNextParticle(rndm,p.q,p.latch,p.E,p.wt,x,u);
+ Eave += p.q ? p.E - the_useful->rm: p.E;
+
+ int err = startNewShower();
+ if (err) {
+ return err;
+ }
+ EGS_BaseGeometry *save_geometry = geometry;
+ for (ig=0; igtransform(p.x);
+ transforms[ig]->rotate(p.u);
+ }
+ int ireg = geometry->isWhere(p.x);
+ if (ireg < 0) {
+ EGS_Float t = 1e30;
+ ireg = geometry->howfar(ireg,p.x,p.u,t);
+ if (ireg >= 0) {
+ p.x += p.u*t;
+ }
+ }
+ if (ireg >= 0) {
+ p.ir = ireg;
+ err = shower();
+ if (err) {
+ return err;
+ }
+ }
+ }
+ err = finishShower();
+ geometry = save_geometry;
+ return err;
+ };
+
+ /*! Score Air-Kerma in Collecting Volume (CV)
+
+ Photons touching excludedd region are immediately discarded.
+
+ TODO: Use region labels to define cavity regions
+
+ */
+ int scoreInCavity() {
+
+ int np = the_stack->np-1;
+ EGS_Float E = the_stack->E[np];
+
+ if (E < the_bounds->pcut) {
+ return 0;
+ }
+
+ EGS_Vector x(the_stack->x[np],the_stack->y[np],the_stack->z[np]);
+ EGS_Vector u(the_stack->u[np],the_stack->v[np],the_stack->w[np]);
+
+ int ireg = the_stack->ir[np]-2, newmed = geometry->medium(ireg);
+
+ EGS_Float tstep;
+ int inew;
+ int imed = -1;
+ EGS_Float gmfp, sigma = 0, cohfac = 1;
+ EGS_Float cohfac_int, gle = log(E), //rho_cav, -> global var now
+ exp_Lambda = 0, Lambda_to_CV = 0;
+ double Lambda = 0, ttot = 0, t_cav = 0;
+ bool enters_cavity = false;
+ /* Ray-trace from current position to CV and keep track of path to
+ * CV and path in the CV
+ */
+ while (1) {
+ if (is_excluded[ig][ireg]) {
+ break;
+ }
+ if (imed != newmed) {
+ imed = newmed;
+ if (imed >= 0) {
+ gmfp = i_gmfp[imed].interpolateFast(gle);
+ if (the_xoptions->iraylr) {
+ cohfac = i_cohe[imed].interpolateFast(gle);
+ gmfp *= cohfac;
+ }
+ sigma = 1/gmfp;
+ }
+ else {
+ sigma = 0;
+ cohfac = 1;
+ }
+ }
+ tstep = 1e35;
+ inew = geometry->howfar(ireg,x,u,tstep,&newmed);
+
+ Lambda += tstep*sigma;// keep track of path
+
+ if (is_cavity[ig][ireg]) { //in cavity, get path through it
+ t_cav += tstep;
+ //rho_cav = the_media->rho[imed];
+ if (!enters_cavity) {
+ Lambda_to_CV = Lambda - tstep*sigma;
+ enters_cavity = true;
+ }
+ }
+
+ if (inew < 0) {
+ break; // outside geometry, stop and score
+ }
+ // track-length estimation of kerma
+
+ if (enters_cavity && !is_cavity[ig][inew]) {
+ break; // leaves cavity
+ }
+
+ ireg = inew;
+ x += u*tstep;
+ ttot += tstep;
+ }
+ if (enters_cavity) {
+ EGS_Float wt = the_stack->wt[np];
+ exp_Lambda = exp(-Lambda_to_CV);
+ //exp_Lambda = exp(-Lambda);
+ //--------------------------------------------
+ // score Kerma
+ //--------------------------------------------
+ EGS_Float emuen_rho = E_Muen_Rho->interpolateFast(gle);
+ kerma->score(ig,wt*exp_Lambda*emuen_rho*rho_cav*t_cav);
+ //--------------------------------------------
+ // score photon fluence
+ //--------------------------------------------
+ if (flug) {
+ EGS_Float e = the_stack->E[np];
+ if (flu_s) {
+ e = log(e);
+ }
+ EGS_Float ae;
+ int je;
+ if (e > flu_xmin && e <= flu_xmax) {
+ ae = flu_a*e + flu_b;
+ je = min((int)ae,flu_nbin-1);
+ EGS_ScoringArray *aux = flug[ig];
+ aux->score(je,wt*exp_Lambda*t_cav);
+ flugT->score(ig,wt*exp_Lambda*t_cav);
+ }
+ }
+ }
+ //==============================================================
+ return 0;
+ }
+
+ /*! Output intermediate results to the .egsdat file. */
+ int outputData() {
+ int err = EGS_AdvancedApplication::outputData();
+ if (err) {
+ return err;
+ }
+ if (!kerma->storeState(*data_out)) {
+ return 101;
+ }
+ if (ncg > 0) {
+ for (int j=0; jthisHistoryScore(gind1[j])*
+ kerma->thisHistoryScore(gind2[j]);
+ (*data_out) << scg[j]+aux << " ";
+ }
+ (*data_out) << endl;
+ if (!data_out->good()) {
+ return 104;
+ }
+ }
+ if (flug) {
+ for (int j=0; jstoreState(*data_out)) {
+ return 108+2*j;
+ }
+ }
+ if (!flugT->storeState(*data_out)) {
+ return 109+2*ngeom;
+ }
+ }
+
+ (*data_out) << Eave << endl;
+ if (!data_out->good()) {
+ return 1031;
+ }
+
+ data_out->flush();
+ delete data_out;
+ data_out = 0;
+ return 0;
+ };
+
+ /*! Read results from a .egsdat file. */
+ int readData() {
+ int err = EGS_AdvancedApplication::readData();
+ if (err) {
+ return err;
+ }
+ if (!kerma->setState(*data_in)) {
+ return 101;
+ }
+ if (ncg > 0) {
+ for (int j=0; j> scg[j];
+ }
+ if (!data_in->good()) {
+ return 104;
+ }
+ }
+ if (flug) {
+ for (int j=0; jsetState(*data_in)) {
+ return 108+2*j;
+ }
+ }
+ if (!flugT->setState(*data_in)) {
+ return 109+2*ngeom;
+ }
+ }
+
+ (*data_in) >> Eave;
+ if (!data_in->good()) {
+ return 1031;
+ }
+
+ return 0;
+ };
+
+ /*! Reset the variables used for accumulating results */
+ void resetCounter() {
+ EGS_AdvancedApplication::resetCounter();
+ kerma->reset();
+ if (ncg > 0) {
+ for (int j=0; jreset();
+ }
+ flugT->reset();
+ }
+ Eave = 0;
+ };
+
+ /*! Add simulation results */
+ int addState(istream &data) {
+ int err = EGS_AdvancedApplication::addState(data);
+ if (err) {
+ return err;
+ }
+ EGS_ScoringArray tmp(ngeom);
+ if (!tmp.setState(data)) {
+ return 101;
+ }
+ (*kerma) += tmp;
+ if (ncg > 0) {
+ for (int j=0; j> tmp;
+ if (!data.good()) {
+ return 104;
+ }
+ scg[j] += tmp;
+ }
+ }
+ if (flug) {
+ EGS_ScoringArray tg(flu_nbin);
+ for (int j=0; j> aux_Eave;
+ if (!data.good()) {
+ return 1036;
+ }
+ Eave += aux_Eave;
+
+ return 0;
+ };
+
+ /*! Output the results of a simulation. */
+ void outputResults() {
+ egsInformation("\n\n last case = %lld fluence = %g\n\n",
+ current_case,source->getFluence());
+ egsInformation(" Average sampled energy Eave = %g \n\n",Eave/EGS_Float(current_case));
+
+ egsInformation("%-25s Cavity kerma[Gy] ","Geometry");
+ egsInformation("\n-----------------------------------------------\n");
+ char c = '%';
+ for (int j=0; jcurrentResult(j,r,dr);
+ if (r > 0) {
+ dr = 100*dr/r;
+ }
+ else {
+ dr = 100;
+ }
+ EGS_Float norm = 1.602e-10*current_case/source->getFluence();
+ norm /= mass[j];
+ egsInformation("%-25s %14.8le +/- %-10.6lf%c \n",
+ geoms[j]->getName().c_str(),
+ r*norm,dr,c);
+ }
+ egsInformation("\n\n");
+ if (ncg > 0) {
+ egsInformation("%-20s %-20s KERMA ratio\n","Geometry 1", "Geometry 2");
+
+ vector ratio, dratio;
+
+ for (int j=0; jcurrentResult(gind1[j],r1,dr1);
+ kerma->currentResult(gind2[j],r2,dr2);
+ if (r1 > 0 && r2 > 0) {
+ double rc=(scg[j]/(r1*r2*current_case)-1)/(current_case-1);
+ dr1 /= r1;
+ dr2 /= r2;
+ double dr = dr1*dr1 + dr2*dr2 - 2*rc;
+ if (dr > 0) {
+ dr = sqrt(dr);
+ }
+ double r = r1*mass[gind2[j]]/(r2*mass[gind1[j]]);
+ egsInformation("%-20s %-20s %-11.8lg +/- %-10.8lg [%-10.6lf%c]\n",
+ geoms[gind1[j]]->getName().c_str(),
+ geoms[gind2[j]]->getName().c_str(),r,r*dr,100.*dr,c);
+ ratio.push_back(r);
+ dratio.push_back(r*dr);
+ }
+ else {
+ egsInformation("zero dose\n");
+ }
+ }
+
+ }
+ if (flug) {
+ string spe_name = constructIOFileName(".agr",true);
+ //string spe_name = output_file + ".agr";
+ ofstream spe_output(spe_name.c_str());
+ spe_output << "# Photon fluence \n";
+ spe_output << "# \n";
+ spe_output << "@ legend 0.2, 0.8\n";
+ spe_output << "@ legend box linestyle 0\n";
+ spe_output << "@ legend font 4\n";
+ spe_output << "@ xaxis label \"energy / MeV\"\n";
+ 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 char size 1.560000\n";
+ spe_output << "@ yaxis label font 4\n";
+ spe_output << "@ yaxis ticklabel font 4\n";
+ spe_output << "@ title \""<< output_file <<"\"\n";
+ spe_output << "@ title font 4\n";
+ spe_output << "@ title size 1.500000\n";
+ spe_output << "@ subtitle \"pegs4 data: "<< pegs_file <<"\"\n";
+ spe_output << "@ subtitle font 4\n";
+ spe_output << "@ subtitle size 1.000000\n";
+
+ egsInformation("\n\nPhoton fluence\n"
+ "=============================\n");
+ for (int j=0; jgetFluence();//per particle
+ norm /= (mass[j]/rho_cav); //per unit volume
+ norm *= flu_a; //per unit bin width
+
+ egsInformation("\nGeometry %s :",geoms[j]->getName().c_str());
+ spe_output<<"@ s"<getName().c_str()<<"\"\n";
+ spe_output<<"@target G0.S"<currentResult(j,fe,dfe);
+ if (fe > 0) {
+ dfe = 100*dfe/fe;
+ }
+ else {
+ dfe = 100;
+ }
+ egsInformation(" total fluence [cm-2] = %10.4le +/- %-7.3lf\%\n\n",
+ fe*norm/flu_a,dfe);
+ egsInformation(" Emid/MeV Flu/(MeV*cm2) DFlu/(MeV*cm2)\n"
+ "---------------------------------------------\n");
+ for (int i=0; icurrentResult(i,fe,dfe);
+ EGS_Float e = (i+0.5-flu_b)/flu_a;
+ if (flu_s) {
+ e = exp(e);
+ }
+ spe_output<getFluence();
+ norm = flu > 0 ? 1.602e-10*count/(flu*mass[0]) : 0;
+ kerma->currentScore(0,sum,sum2);
+ };
+
+ /* Select photon mean-free-path */
+ void selectPhotonMFP(EGS_Float &dpmfp) {
+ int np = the_stack->np-1;
+ EGS_Vector x(the_stack->x[np],the_stack->y[np],the_stack->z[np]);
+ EGS_Vector u(the_stack->u[np],the_stack->v[np],the_stack->w[np]);
+ int ireg = the_stack->ir[np]-2, newmed = geometry->medium(ireg);
+ EGS_Float tstep = 1e35;
+ //******************************************************************
+ // FD Track-length kerma estimation for photons entering or aimed
+ // at the cavity. It requires a cavity geometry and that the photon
+ // has not touched an exclusion region and is not inside the geometry
+ // (latch = 0)
+ //******************************************************************
+ if (cgeom && !the_stack->latch[np] &&
+ (is_cavity[ig][ireg] || cgeom->howfar(-1,x,u,tstep,&newmed)>= 0)) {
+ /* Photon at or aimed at cavity */
+ int errK = scoreInCavity();
+ }
+ dpmfp = -log(1 - rndm->getUniform());
+ return;
+
+ };
+
+protected:
+
+ /*! Start a new shower. */
+ int startNewShower() {
+ int res = EGS_Application::startNewShower();
+ if (res) {
+ return res;
+ }
+ if (current_case != last_case) {
+ if (ncg > 0) {
+ for (int j=0; jthisHistoryScore(gind1[j])*
+ kerma->thisHistoryScore(gind2[j]);
+ }
+ kerma->setHistory(current_case);
+ if (flug) {
+ for (int j=0; jsetHistory(current_case);
+ }
+ flugT->setHistory(current_case);
+ }
+ last_case = current_case;
+ }
+ return 0;
+ };
+
+private:
+
+ int ngeom; // number of geometries to calculate quantities of interest
+ int ig; // current geometry index
+
+ int ncg; // number of correlated geometry pairs.
+ int *gind1,
+ *gind2; // indices of correlated geometries
+
+ double *scg; // sum(kerma(gind1[j])*kerma(gind2[j]);
+
+ EGS_BaseGeometry **geoms; // geometries for which to calculate the quantites of interest.
+ EGS_AffineTransform **transforms; // transformations to apply before transporting for each geometry
+ bool **is_cavity; // array of flags for each region in each geometry, which is true if the region belongs to the cavity and false otherwise
+
+ bool **is_excluded; // array of flags for each region in each geometry, which is true if the region is excludedd, false otherwise
+
+ EGS_ScoringArray *kerma; // kerma scoring array
+
+ EGS_Interpolator *E_Muen_Rho;
+
+
+ /****************************************************************/
+
+ EGS_ScoringArray **flug; // photon fluence
+ EGS_ScoringArray *flugT; // total photon fluence
+ EGS_Float flu_a,
+ flu_b,
+ flu_xmin,
+ flu_xmax,
+ rho_cav; // cavity mass density
+ int flu_s,
+ flu_nbin;
+ EGS_Float *mass; // mass of the material in the cavity.
+
+ /*! Cavity bounding geometry.
+ If no cavity bounding geometry is defined, range-rejection of RR
+ is used only on a region-by-region basis. If a cavity bounding geometry
+ is defined, then tperp to that geometry is also checked and if greater
+ than the electron range, range-rejection or RR is done.
+ */
+ EGS_BaseGeometry *cgeom;
+
+ static string revision;
+};
+
+string EGS_KermaApplication::revision = "$Revision: 1.0 $";
+
+extern __extc__ void
+F77_OBJ_(select_photon_mfp,SELECT_PHOTON_MFP)(EGS_Float *dpmfp) {
+ EGS_Application *a = EGS_Application::activeApplication();
+ EGS_KermaApplication *app = dynamic_cast(a);
+ if (!app) egsFatal("select_photon_mfp called with active application "
+ " not being of type EGS_KermaApplication!\n");
+ app->selectPhotonMFP(*dpmfp);
+}
+
+int EGS_KermaApplication::initScoring() {
+
+ EGS_Input *options = input->takeInputItem("scoring options");
+ if (options) {
+
+ //
+ // *********** calculation geometries
+ //
+ vector geometries;
+ vector cavity_regions;
+ vector n_cavity_regions;
+ vector excluded_regions;
+ vector n_excluded_regions;
+ vector cavity_masses;
+ vector transformations;
+ EGS_Input *aux;
+ EGS_BaseGeometry::setActiveGeometryList(app_index);
+ while ((aux = options->takeInputItem("calculation geometry"))) {
+ string gname;
+ int err = aux->getInput("geometry name",gname);
+ vector cav;
+ int err1 = aux->getInput("cavity regions",cav);
+ vector apert;
+ int err4 = aux->getInput("excluded regions",apert);
+ EGS_Float cmass;
+ int err2 = aux->getInput("cavity mass",cmass);
+ if (err) egsWarning("initScoring: missing/wrong 'geometry name' "
+ "input\n");
+ if (err1) egsWarning("initScoring: missing/wrong 'cavity regions' "
+ "input\n");
+ if (err2) {
+ egsWarning("initScoring: missing/wrong 'cavity mass' "
+ "input\n");
+ cmass = -1;
+ }
+
+ if (err4) {
+ egsWarning("\n\n*** Geometry %s : Error reading excluded regions or not found.\n"
+ " No region excluded from scoring\n\n",gname.c_str());
+ }
+ if (err || err1) {
+ egsWarning(" --> input ignored\n");
+ }
+ else {
+ EGS_BaseGeometry::setActiveGeometryList(app_index);
+ EGS_BaseGeometry *g = EGS_BaseGeometry::getGeometry(gname);
+ if (!g) egsWarning("initScoring: no geometry named %s -->"
+ " input ignored\n",gname.c_str());
+ else {
+ int nreg = g->regions();
+ int *regs = new int [cav.size()];
+ int ncav = 0;
+ for (int j=0; j= nreg)
+ egsWarning("initScoring: region %d is not within"
+ " the allowed range of 0...%d -> input"
+ " ignored\n",cav[j],nreg-1);
+ else {
+ regs[ncav++] = cav[j];
+ }
+ }
+ if (!ncav) {
+ egsWarning("initScoring: no cavity regions "
+ "specified for geometry %s --> input ignored\n",
+ gname.c_str());
+ delete [] regs;
+ }
+ else {
+ geometries.push_back(g);
+ n_cavity_regions.push_back(ncav);
+ cavity_regions.push_back(regs);
+ cavity_masses.push_back(cmass);
+ transformations.push_back(
+ EGS_AffineTransform::getTransformation(aux));
+ /* excluded regions */
+ if (!err4 && apert.size() > 0) {
+ int *ap = new int [apert.size()];
+ int nap=0;
+ for (int j=0; j= 0 && apert[j] < nreg) {
+ ap[nap++] = apert[j];
+ }
+ else {
+ egsFatal("\n\n*** Excluded region %d is\n"
+ " outside the allowed range of \n"
+ " 0...%d \n"
+ " This is a fatal error\n\n",
+ apert[j],nreg-1);
+ }
+ }
+ n_excluded_regions.push_back(nap);
+ excluded_regions.push_back(ap);
+ }
+ else {
+ excluded_regions.push_back(0);
+ n_excluded_regions.push_back(0);
+ }
+ }
+ }
+ }
+ delete aux;
+ }
+ ngeom = geometries.size();
+ if (!ngeom) {
+ egsWarning("initScoring: no calculation geometries defined\n");
+ return 1;
+ }
+ geoms = new EGS_BaseGeometry* [ngeom];
+ is_cavity = new bool* [ngeom];
+ is_excluded = new bool* [ngeom];
+ mass = new EGS_Float [ngeom];
+ kerma = new EGS_ScoringArray(ngeom);
+ transforms = new EGS_AffineTransform* [ngeom];
+
+ rho_cav = -1;
+ for (int j=0; jref();
+ mass[j] = cavity_masses[j];
+ transforms[j] = transformations[j];
+ int nreg = geoms[j]->regions();
+ is_cavity[j] = new bool [nreg];
+ is_excluded[j] = new bool [nreg];
+ int i;
+ for (i=0; imedium(ireg);
+ }
+ else {
+ int imed1 = geoms[j]->medium(ireg);
+ if (imed1 != imed) egsWarning("initScoring: different "
+ "medium %d in region %d compared to medium %d in "
+ "region %d. Hope you know what you are doing\n",
+ imed1,ireg,imed,cavity_regions[j][0]);
+ }
+ }
+ delete [] cavity_regions[j];
+
+ /* Get cavity mass density */
+ if (rho_cav < 0) {
+ rho_cav = the_media->rho[imed];
+ }
+ else {
+ EGS_Float rho_cav_new = the_media->rho[imed];
+ if (rho_cav != rho_cav_new) egsWarning("initScoring:\n"
+ "density of cavity medium in geometry %s is %g g/cm3\n"
+ "which differs from initial cavity medium density %g g/cm3",
+ geoms[j]->getName().c_str(), rho_cav_new, rho_cav);
+
+ }
+
+ //if (n_excluded_regions.size()>0){
+ if (!n_excluded_regions.empty()) {
+ for (i=0; i cor1, cor2;
+ while ((aux = options->takeInputItem("correlated geometries"))) {
+ vector gnames;
+ int err = aux->getInput("correlated geometries",gnames);
+ if (!err && gnames.size() == 2) {
+ int j1, j2;
+ for (j1=0; j1getName()) {
+ break;
+ }
+ for (j2=0; j2getName()) {
+ break;
+ }
+ if (j1 < ngeom && j2 < ngeom) {
+ cor1.push_back(j1);
+ cor2.push_back(j2);
+ }
+ }
+ }
+ if (cor1.size() > 0) {
+ ncg = cor1.size();
+ gind1 = new int [ncg];
+ gind2 = new int [ncg];
+ scg = new double [ncg];
+ for (int j=0; jtakeInputItem("fluence scoring");
+ if (aux) {
+ EGS_Float flu_Emin, flu_Emax;
+ int er1 = aux->getInput("minimum energy",flu_Emin);
+ int er2 = aux->getInput("maximum energy",flu_Emax);
+ int er3 = aux->getInput("number of bins",flu_nbin);
+ vector scale;
+ scale.push_back("linear");
+ scale.push_back("logarithmic");
+ flu_s = aux->getInput("scale",scale,0);
+ /* Checks to ensure no scoring outside array bounds */
+ /* EGS_Float Emax = source ? source->getEmax() : 0;
+ //egsInformation("\n=> Emax = %g MeV\n\n",Emax);
+ if ( flu_Emax <= Emax ) {
+ flu_Emax = Emax + 2*(flu_Emax - flu_Emin)/flu_nbin;
+ flu_nbin += 2;
+ }*/
+ if (!er1 && !er2 && !er3) {
+ flug = new EGS_ScoringArray * [ngeom];
+ flugT = new EGS_ScoringArray(ngeom);
+ for (int j=0; j no fluence scoring\n\n");
+ }
+ delete aux;
+ }
+
+ string muen_file;
+ int errKmuen = options->getInput("emuen file",muen_file);
+ if (errKmuen) {
+ errKmuen = options->getInput("muen file",muen_file);
+ if (errKmuen)
+ egsFatal(
+ "\n\n*** Wrong/missing 'emuen file' input for a "
+ "Kerma calculation\n This is a fatal error\n\n");
+ }
+ ifstream muen_data(muen_file.c_str());
+ if (!muen_data) {
+ egsFatal(
+ "\n\n*** Failed to open emuen file %s\n"
+ " This is a fatal error\n",muen_file.c_str());
+ }
+ int ndat;
+ muen_data >> ndat;
+ if (ndat < 2 || muen_data.fail()) egsFatal(
+ "\n\n*** Failed to read emuen data file\n");
+ EGS_Float *xmuen = new EGS_Float [ndat];
+ EGS_Float *fmuen = new EGS_Float [ndat];
+ for (int j=0; j> xmuen[j] >> fmuen[j];
+ }
+ if (muen_data.fail()) egsFatal(
+ "\n\n*** Failed to read emuen data file\n");
+ E_Muen_Rho = new EGS_Interpolator(ndat,log(xmuen[0]),
+ log(xmuen[ndat-1]),fmuen);
+ delete [] xmuen;
+ delete [] fmuen;
+ string cavity_geometry;
+ int errCavGeom = options->getInput("cavity geometry",cavity_geometry);
+ if (!errCavGeom) {
+ EGS_BaseGeometry::setActiveGeometryList(app_index);
+ cgeom = EGS_BaseGeometry::getGeometry(cavity_geometry);
+ if (!cgeom) {
+ egsWarning("\n\n********** No geometry named"
+ " %s exists! \nThis is required for forced detection track-length Kerma estimation!\n",
+ cavity_geometry.c_str());
+ }
+ }
+ else {
+ egsWarning("\n\n********** No cavity geometry entry found!\n"
+ " This is required for track-length Kerma estimation using forced detection!\n");
+ }
+ /* No ausgab call if using forced detection */
+// for(int call=BeforeTransport; call<=UnknownCall; ++call)
+// setAusgabCall((AusgabCall)call,false);
+// if (!cgeom)
+ /* Ausgab call before trasnporting particle for analog kerma scoring */
+// setAusgabCall(BeforeTransport,true);
+ /* ******************************************************
+ * Enable all ausgab calls for energy deposition scoring
+ *
+ * Only possible for one calculation geometry. Implement
+ * dose scoring in the ausgab routine if needed for all
+ * geometries.
+ *
+ *********************************************************/
+// if (ngeom == 1){
+// vector allow_dose;
+// allow_dose.push_back("no"); allow_dose.push_back("yes");
+// int score_dose = options->getInput("allow dose scoring",allow_dose,0);
+// if( score_dose )
+// for(int call=BeforeTransport; call<=ExtraEnergy; ++call)
+// setAusgabCall((AusgabCall)call,true);
+// }
+
+ delete options;
+ }
+ else {
+ egsWarning("\n\n*********** no 'scoring options' input *********\n\n");
+ return 2;
+ }
+
+ return 0;
+}
+
+void EGS_KermaApplication::describeSimulation() {
+ EGS_AdvancedApplication::describeSimulation();
+ egsInformation("**********************************************\n"
+ " Volumetric Track-length Kerma estimation \n"
+ "**********************************************\n\n");
+ if (cgeom)
+ egsInformation("---> Scoring using forced detection (FD)\n"
+ " for photons aimed at geometry %s\n\n",
+ cgeom->getName().c_str());
+ else
+ egsInformation("---> Scoring only when photon enters volume\n"
+ " including those scattered inside the geometry.\n"
+ " Fluence is equivalent to FLURZ total fluence!\n\n");
+ egsInformation("\n\n");
+ for (int j=0; jgetName().c_str());
+ geoms[j]->printInfo();
+ for (int i=0; iregions(); i++) {
+ if (is_cavity[j][i]) {
+ egsInformation(" cavity region %d, medium = %d\n\n",
+ i,geoms[j]->medium(i));
+ }
+ }
+ }
+ for (int i=0; igetName().c_str());
+ int nexcl = 0;
+ for (int j=0; jregions(); j++) {
+ if (is_excluded[i][j]) {
+ egsInformation(" %d",j);
+ nexcl++;
+ }
+ }
+ if (!nexcl) {
+ egsInformation(" NONE");
+ }
+ egsInformation("\n");
+ }
+}
+
+#ifdef BUILD_APP_LIB
+APP_LIB(EGS_KermaApplication);
+#else
+APP_MAIN(EGS_KermaApplication);
+#endif
+
diff --git a/HEN_HOUSE/user_codes/egs_kerma/egs_kerma.macros b/HEN_HOUSE/user_codes/egs_kerma/egs_kerma.macros
new file mode 100644
index 000000000..53fa099ad
--- /dev/null
+++ b/HEN_HOUSE/user_codes/egs_kerma/egs_kerma.macros
@@ -0,0 +1,86 @@
+%C80
+"#############################################################################"
+" "
+" EGSnrc egs++ egs_kerma application mortran macros "
+" Copyright (C) 2016 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: Ernesto Mainegra-Hing, 2016 "
+" "
+" Contributors: "
+" "
+"#############################################################################"
+
+
+REPLACE {$MXGE} WITH {2000};
+REPLACE {$MXEKE} WITH {500};
+
+/*
+ We want to use the photon forced detection technique
+ introduced by Mainegra-Hing & Kawrakow [Ref needed]
+ implemented via the $SELECT-PHOTON-MFP macro.
+ */
+REPLACE {$SELECT-PHOTON-MFP;} WITH {;
+ call select_photon_mfp(dpmfp);
+ IF( dpmfp < 0 ) return;
+};
+
+subroutine calculate_photon_mfp(gmfp,cohfac);
+implicit none;
+$REAL gmfp,cohfac;
+$declare_max_medium;
+;
+COMIN/PHOTIN,USEFUL,EPCONT,X-OPTIONS/;
+$INTEGER lgle;
+$REAL GMFPR0;
+
+$SET INTERVAL GLE,GE;
+$EVALUATE GMFPR0 USING GMFP(GLE);
+$SET-RHOF;
+GMFP=GMFPR0/RHOF;
+$RAYLEIGH-CORRECTION;
+return; end;
+;
+
+subroutine calculate_photon_branching(gbr1,gbr2);
+implicit none;
+$REAL gbr1,gbr2;
+$declare_max_medium;
+;COMIN/PHOTIN,USEFUL,EPCONT/;
+$INTEGER lgle;
+
+$SET INTERVAL GLE,GE;
+$EVALUATE GBR1 USING GBR1(GLE);
+$EVALUATE GBR2 USING GBR2(GLE);
+return; end;
+;
+
+subroutine do_rayleigh;
+"subroutine do_new_rayleigh;"
+implicit none;
+$declare_max_medium;
+;
+;COMIN/PHOTIN,USEFUL,EPCONT,STACK,RANDOM,UPHIOT,THRESH/;
+$INTEGER lgle;
+$REAL log_e;
+LGLE=GE1(MEDIUM)*GLE+GE0(MEDIUM);
+call egs_rayleigh_sampling(medium,e(np),gle,lgle,costhe,sinthe);
+CALL UPHI(2,1);
+return; end;
+;
diff --git a/HEN_HOUSE/user_codes/egs_kerma/emuen_icru90_1.5MeV.data b/HEN_HOUSE/user_codes/egs_kerma/emuen_icru90_1.5MeV.data
new file mode 100644
index 000000000..756e43657
--- /dev/null
+++ b/HEN_HOUSE/user_codes/egs_kerma/emuen_icru90_1.5MeV.data
@@ -0,0 +1,2001 @@
+2000
+0.00100001 3.4877754595352117
+0.00100367 3.4665273232204363
+0.00100735 3.4453747056004884
+0.00101104 3.4243696230289187
+0.00101474 3.4035147003587718
+0.00101846 3.3827462027397526
+0.00102220 3.3620730696118319
+0.00102594 3.3416001937730586
+0.00102970 3.3212198473001822
+0.00103348 3.3009274990775346
+0.00103727 3.2807526872651587
+0.00104107 3.2607508705227275
+0.00104488 3.2409173140581529
+0.00104871 3.2211460370887837
+0.00105256 3.2013392478876188
+0.00105642 3.1816953920808797
+0.00106029 3.1622195591966857
+0.00106418 3.1428067830112969
+0.00106808 3.1234836797303740
+0.00107199 3.1043798705297037
+0.00107592 3.0853607446187281
+0.00107986 3.0664598444865638
+0.00108382 3.0476440799381721
+0.00108780 3.0289182728104129
+0.00109178 3.0103515454594296
+0.00109578 2.9918474988167807
+0.00109980 2.9735101709652030
+0.00110383 2.9549124234911344
+0.00110788 2.9363868690684702
+0.00111194 2.9179569516017390
+0.00111601 2.8997056397432925
+0.00112011 2.8815751913453225
+0.00112421 2.8635789574877433
+0.00112833 2.8456284658294995
+0.00113247 2.8277407990308290
+0.00113662 2.8100352741699339
+0.00114079 2.7924464950777494
+0.00114497 2.7749641496176700
+0.00114916 2.7576603932482016
+0.00115338 2.7403354475927113
+0.00115760 2.7232060622029080
+0.00116185 2.7061466668976295
+0.00116611 2.6891938224615823
+0.00117038 2.6723708394912551
+0.00117467 2.6555518866377144
+0.00117898 2.6387530233024283
+0.00118330 2.6221075971109409
+0.00118763 2.6055899075611104
+0.00119199 2.5891214559375348
+0.00119636 2.5727782638923427
+0.00120074 2.5565605987433808
+0.00120514 2.5404544515240519
+0.00120956 2.5244128157816852
+0.00121399 2.5084940435492467
+0.00121844 2.4926660195617383
+0.00122291 2.4769234738346815
+0.00122739 2.4613000736553561
+0.00123189 2.4457648671802272
+0.00123641 2.4303169720411191
+0.00124094 2.4149854802969810
+0.00124549 2.3997620428360427
+0.00125005 2.3846342483353538
+0.00125464 2.3693287490391883
+0.00125923 2.3541948594401760
+0.00126385 2.3391168959648203
+0.00126848 2.3241396965074972
+0.00127313 2.3093037457809706
+0.00127780 2.2945150552761437
+0.00128248 2.2798259151909464
+0.00128718 2.2652413640328195
+0.00129190 2.2507395823859526
+0.00129664 2.2363406102887722
+0.00130139 2.2220219738572893
+0.00130616 2.2078055056255885
+0.00131095 2.1936871490325696
+0.00131575 2.1796653767813976
+0.00132058 2.1656803199256611
+0.00132542 2.1518255962997825
+0.00133027 2.1380973040654538
+0.00133515 2.1243701642808701
+0.00134004 2.1108049993246731
+0.00134496 2.0972922858486389
+0.00134989 2.0838557117867964
+0.00135483 2.0705099690090543
+0.00135980 2.0572683980855935
+0.00136478 2.0441313802823151
+0.00136979 2.0310507584436639
+0.00137481 2.0180410844395511
+0.00137985 2.0050963089552369
+0.00138491 1.9922899407630212
+0.00138998 1.9795428264331729
+0.00139508 1.9668318605018604
+0.00140019 1.9542806537637694
+0.00140532 1.9415711344015665
+0.00141047 1.9288606329106435
+0.00141564 1.9164014583596922
+0.00142083 1.9039421906230758
+0.00142604 1.8915965284501559
+0.00143127 1.8792653838769329
+0.00143651 1.8670951591648357
+0.00144178 1.8549367098340943
+0.00144706 1.8429083627195737
+0.00145237 1.8308718462500444
+0.00145769 1.8190257870477964
+0.00146304 1.8071880300329091
+0.00146840 1.7954501140521706
+0.00147378 1.7838170171806371
+0.00147918 1.7722129647669238
+0.00148460 1.7606859936546462
+0.00149005 1.7492409347016424
+0.00149551 1.7378740670372721
+0.00150099 1.7265482032472887
+0.00150649 1.7151094682570318
+0.00151201 1.7037782371238019
+0.00151756 1.6924935605786235
+0.00152312 1.6812774339054890
+0.00152870 1.6701684027680306
+0.00153430 1.6591524658397010
+0.00153993 1.6481429790711462
+0.00154557 1.6372507661680011
+0.00155124 1.6264137770469806
+0.00155692 1.6156674472260260
+0.00156263 1.6050128067003879
+0.00156836 1.5943925853731677
+0.00157411 1.5838457409865929
+0.00157988 1.5733569287654932
+0.00158567 1.5629134541907876
+0.00159148 1.5525823660403888
+0.00159731 1.5423454725460541
+0.00160317 1.5321422536436049
+0.00160905 1.5220339499859115
+0.00161494 1.5119681273240861
+0.00162086 1.5019310392836351
+0.00162680 1.4920485092146110
+0.00163277 1.4821576201478952
+0.00163875 1.4723504853188245
+0.00164476 1.4625960059696985
+0.00165079 1.4529210429725172
+0.00165684 1.4432783015508175
+0.00166291 1.4337848669004354
+0.00166901 1.4242956804039433
+0.00167513 1.4148501350261502
+0.00168127 1.4055043553140234
+0.00168743 1.3962008883803156
+0.00169361 1.3869759828123551
+0.00169982 1.3777821217236066
+0.00170605 1.3686261166258555
+0.00171231 1.3596282280420251
+0.00171858 1.3506471386614560
+0.00172488 1.3416892792169532
+0.00173120 1.3328655287734965
+0.00173755 1.3240322098487012
+0.00174392 1.3152995848291238
+0.00175031 1.3065894816810804
+0.00175673 1.2977861913810733
+0.00176317 1.2890322388770181
+0.00176963 1.2803783728007361
+0.00177611 1.2717436669132565
+0.00178263 1.2631091712579232
+0.00178916 1.2546386968430496
+0.00179572 1.2461290715629592
+0.00180230 1.2378207797088367
+0.00180891 1.2294704396015401
+0.00181554 1.2211701895711484
+0.00182219 1.2129474006546901
+0.00182887 1.2047799957705931
+0.00183557 1.1966475488995683
+0.00184230 1.1886439618821227
+0.00184906 1.1806000028998338
+0.00185583 1.1726979641497230
+0.00186264 1.1647946179911657
+0.00186946 1.1569602287657641
+0.00187632 1.1490671103205137
+0.00188319 1.1413145739660642
+0.00189010 1.1335852746263315
+0.00189702 1.1259921336275063
+0.00190398 1.1183805204921622
+0.00191096 1.1108611491137170
+0.00191796 1.1033296020450574
+0.00192499 1.0959125800078218
+0.00193205 1.0884643202742019
+0.00193913 1.0810722704789755
+0.00194624 1.0737259093675262
+0.00195337 1.0665037693452586
+0.00196053 1.0592658128940056
+0.00196772 1.0521087612479390
+0.00197493 1.0450403219829316
+0.00198217 1.0380164894462054
+0.00198943 1.0309441451820349
+0.00199673 1.0239747197558851
+0.00200405 1.0169703609057328
+0.00201139 1.0100787792083030
+0.00201876 1.0031370933558281
+0.00202616 0.99628392589861414
+0.00203359 0.98943133194658794
+0.00204104 0.98269553407349808
+0.00204853 0.97601718426956807
+0.00205603 0.96936869178811857
+0.00206357 0.96270895141291934
+0.00207113 0.95611947944478326
+0.00207873 0.94953621105633523
+0.00208635 0.94306318700209135
+0.00209399 0.93657108420679935
+0.00210167 0.93023912867056902
+0.00210937 0.92383153631432602
+0.00211710 0.91747825799584903
+0.00212486 0.91120732834109086
+0.00213265 0.90498969243885063
+0.00214047 0.89878319510922811
+0.00214832 0.89260161306037655
+0.00215619 0.88639628493340072
+0.00216409 0.88039797005144260
+0.00217203 0.87440707667520190
+0.00217999 0.86839287313124902
+0.00218798 0.86249237717761074
+0.00219600 0.85658663362828791
+0.00220405 0.85071444542576813
+0.00221213 0.84478077292665754
+0.00222024 0.83892418632982013
+0.00222837 0.83310483353129228
+0.00223654 0.82727179520754768
+0.00224474 0.82154460213060121
+0.00225297 0.81582457061705782
+0.00226123 0.81018761157021646
+0.00226951 0.80458637626520724
+0.00227783 0.79897115969599719
+0.00228618 0.79344040489306633
+0.00229456 0.78798048591690806
+0.00230297 0.78250448646638116
+0.00231141 0.77700760481888775
+0.00231989 0.77166993249930060
+0.00232839 0.76631647747571097
+0.00233693 0.76099979694295328
+0.00234549 0.75567541370802938
+0.00235409 0.75043957643817716
+0.00236272 0.74527505106022340
+0.00237138 0.74009144686516981
+0.00238007 0.73491938482174568
+0.00238879 0.72982233484555514
+0.00239755 0.72474627486291610
+0.00240634 0.71979868106502909
+0.00241516 0.71479468744783259
+0.00242401 0.70981503766424958
+0.00243290 0.70484296446495653
+0.00244181 0.69997536504362290
+0.00245076 0.69512965319409914
+0.00245975 0.69028987862253832
+0.00246876 0.68553816695801473
+0.00247781 0.68075588601383263
+0.00248690 0.67603972233388165
+0.00249601 0.67143247900584357
+0.00250516 0.66663002114709424
+0.00251434 0.66197990167058507
+0.00252356 0.65723747510543973
+0.00253281 0.65259987189743662
+0.00254209 0.64799972391699068
+0.00255141 0.64339230440264361
+0.00256076 0.63879197994760217
+0.00257015 0.63440055804788720
+0.00257957 0.62985855540026048
+0.00258903 0.62539142670418635
+0.00259852 0.62103111855608983
+0.00260804 0.61661466405506926
+0.00261760 0.61226797823247625
+0.00262720 0.60795719892185129
+0.00263683 0.60366991267135606
+0.00264649 0.59938924666361248
+0.00265619 0.59513956872177165
+0.00266593 0.59092986897961830
+0.00267570 0.58677679954269746
+0.00268551 0.58261348876565588
+0.00269535 0.57850396649109370
+0.00270523 0.57435638684398738
+0.00271515 0.57035033744972807
+0.00272510 0.56629790164457250
+0.00273509 0.56231671939093708
+0.00274511 0.55837773687540326
+0.00275517 0.55440943280874344
+0.00276527 0.55045410364683711
+0.00277541 0.54655930845375378
+0.00278558 0.54269612392232036
+0.00279579 0.53888283951287719
+0.00280604 0.53501806257381745
+0.00281633 0.53125600298297204
+0.00282665 0.52755076177871041
+0.00283701 0.52381119275268584
+0.00284741 0.52010787063285524
+0.00285785 0.51639003988209364
+0.00286832 0.51280712569746456
+0.00287884 0.50921250494519088
+0.00288939 0.50558142071969570
+0.00289998 0.50204113869443090
+0.00291061 0.49852545519441599
+0.00292128 0.49499416017659509
+0.00293199 0.49147129285698504
+0.00294273 0.48798571824431347
+0.00295352 0.48447427265767029
+0.00296435 0.48103774670227861
+0.00297521 0.47766013757554460
+0.00298612 0.47423790973438285
+0.00299706 0.47091376570091070
+0.00300805 0.46750040497007095
+0.00301907 0.46420590689908570
+0.00303014 0.46088460410419918
+0.00304125 0.45755339291242619
+0.00305240 0.45425981740009619
+0.00306358 0.45102287746005593
+0.00307481 0.44775163170202442
+0.00308608 0.44453492719435000
+0.00309740 0.44131071635862296
+0.00310875 0.43813626083454543
+0.00312014 0.43500560255415294
+0.00313158 0.43191705050808177
+0.00314306 0.42883995426429850
+0.00315458 0.42573312288537185
+0.00316614 0.42266680583834931
+0.00317775 0.41963432071057738
+0.00318940 0.41661889030829707
+0.00320109 0.41362998694152497
+0.00321282 0.44971812583032084
+0.00322460 0.44927724573368083
+0.00323642 0.44758400916051999
+0.00324828 0.44500956536789360
+0.00326019 0.44190090702104479
+0.00327214 0.43863133358269613
+0.00328413 0.43537836561892496
+0.00329617 0.43228353647419465
+0.00330825 0.42925512655269976
+0.00332038 0.42637723591385135
+0.00333255 0.42347663139033270
+0.00334476 0.42064251940594383
+0.00335702 0.41779506819608525
+0.00336933 0.41493949628760463
+0.00338168 0.41206652172702085
+0.00339407 0.40918042562950346
+0.00340651 0.40631765900495159
+0.00341900 0.40344648312115888
+0.00343153 0.40062535408166217
+0.00344411 0.39781074495845337
+0.00345674 0.39502570625916067
+0.00346941 0.39227597220783533
+0.00348212 0.38954611900651825
+0.00349489 0.38683775914573393
+0.00350770 0.38413939445544892
+0.00352056 0.38141920172303223
+0.00353346 0.37874987159244089
+0.00354641 0.37608111411932760
+0.00355941 0.37342465769120436
+0.00357246 0.37079191895943381
+0.00358555 0.36816798621496227
+0.00359870 0.36553867022326103
+0.00361189 0.36294794738529967
+0.00362513 0.36038172537631041
+0.00363841 0.35781043784130201
+0.00365175 0.35528883502371156
+0.00366513 0.35274501478569942
+0.00367857 0.35024470472161018
+0.00369205 0.34775367099959065
+0.00370559 0.34529184932812740
+0.00371917 0.34284105257686442
+0.00373280 0.34038841204965781
+0.00374648 0.33795860396786237
+0.00376022 0.33557746529829197
+0.00377400 0.33318237899775821
+0.00378783 0.33082112436070910
+0.00380172 0.32846664882736293
+0.00381565 0.32612420863339059
+0.00382964 0.32379075029632687
+0.00384368 0.32147069048763804
+0.00385776 0.31919977309508146
+0.00387191 0.31692080585877286
+0.00388610 0.31469186622964285
+0.00390034 0.31246058093868168
+0.00391464 0.31024130182154552
+0.00392899 0.30805359180859393
+0.00394339 0.30586492256194658
+0.00395784 0.30369784353983836
+0.00397235 0.30155381807768139
+0.00398691 0.29942940025952469
+0.00400153 0.29727571559794475
+0.00401619 0.29515535516605645
+0.00403091 0.29304688651261124
+0.00404569 0.29094249398516875
+0.00406052 0.28886202325660298
+0.00407540 0.28681598889939475
+0.00409034 0.28475307899141422
+0.00410533 0.28272302738849836
+0.00412038 0.28068967271515083
+0.00413549 0.27867991277623344
+0.00415064 0.27667317955351833
+0.00416586 0.27468350920130874
+0.00418113 0.27272220280810772
+0.00419645 0.27078448149542478
+0.00421184 0.26882279447181356
+0.00422727 0.26690249469308247
+0.00424277 0.26498566256970724
+0.00425832 0.26308406912556132
+0.00427393 0.26119911464379580
+0.00428960 0.25932630992935912
+0.00430532 0.25748211695105416
+0.00432110 0.25563486895429249
+0.00433694 0.25379868063269340
+0.00435284 0.25197420470631543
+0.00436879 0.25016221058460814
+0.00438480 0.24837140736125229
+0.00440088 0.24660689191482038
+0.00441701 0.24482884713099629
+0.00443320 0.24308784165844222
+0.00444945 0.24132803264271860
+0.00446576 0.23961429453403033
+0.00448213 0.23788781999626490
+0.00449856 0.23618362899218601
+0.00451505 0.23446995104314450
+0.00453159 0.23277167122116427
+0.00454821 0.23106561611355980
+0.00456488 0.22940957938123940
+0.00458161 0.22775851014792042
+0.00459840 0.22611781641791237
+0.00461526 0.22447040442679822
+0.00463218 0.22285518454416689
+0.00464915 0.22125342477041202
+0.00466620 0.21964927387649322
+0.00468330 0.21807321242181044
+0.00470047 0.21650073624786753
+0.00471770 0.21493444095578251
+0.00473499 0.21338766392432779
+0.00475234 0.21184796738262943
+0.00476976 0.21031720503530302
+0.00478725 0.20879150949485442
+0.00480479 0.20728913430531240
+0.00482241 0.20578616767392804
+0.00484008 0.20430144910173725
+0.00485782 0.20282387047088671
+0.00487563 0.20135842817110453
+0.00489350 0.19988334034956248
+0.00491144 0.19845076578785908
+0.00492944 0.19702023152715120
+0.00494751 0.19558754049067673
+0.00496565 0.19418451540013273
+0.00498385 0.19277694558180369
+0.00500211 0.19136988508146610
+0.00502045 0.18999120474802791
+0.00503885 0.18860113440089207
+0.00505732 0.18722258888201546
+0.00507586 0.18585582833280823
+0.00509447 0.18449900072437544
+0.00511314 0.18314779158879024
+0.00513188 0.18180930419173461
+0.00515069 0.18047281250561231
+0.00516957 0.17915987553320720
+0.00518852 0.17785813600320535
+0.00520754 0.17656441079296242
+0.00522663 0.17527361584993911
+0.00524578 0.17399509396610841
+0.00526501 0.17272744219776742
+0.00528431 0.17147268048800451
+0.00530368 0.17021277246301569
+0.00532312 0.16897323178735993
+0.00534263 0.16774359692899102
+0.00536222 0.16651012193339884
+0.00538187 0.16529806523550875
+0.00540160 0.16409549828683848
+0.00542140 0.16289691100603526
+0.00544127 0.16170505453590675
+0.00546122 0.16053177197697047
+0.00548123 0.15935044178592009
+0.00550132 0.15818968755010521
+0.00552149 0.15702865572228458
+0.00554173 0.15588078954769544
+0.00556204 0.15473024418655970
+0.00558243 0.15358983448439792
+0.00560289 0.15245241852519603
+0.00562343 0.15134160675016373
+0.00564404 0.15022427052431023
+0.00566473 0.14912732620632721
+0.00568549 0.14801877406818695
+0.00570633 0.14694143506131019
+0.00572725 0.14586614928467967
+0.00574824 0.14478571726197678
+0.00576931 0.14372917105774990
+0.00579046 0.14266460710529758
+0.00581168 0.14161208465230232
+0.00583299 0.14056829894171277
+0.00585437 0.13954020010665094
+0.00587583 0.13851877809881030
+0.00589736 0.13749504645515109
+0.00591898 0.13648313675576149
+0.00594068 0.13547090765998460
+0.00596245 0.13447781356142477
+0.00598431 0.13349497346857664
+0.00600624 0.13250270741228173
+0.00602826 0.13151988671129877
+0.00605036 0.13054807692905823
+0.00607253 0.12957073178530254
+0.00609479 0.12861955324176447
+0.00611713 0.12766209390591368
+0.00613955 0.12670567210945330
+0.00616206 0.12577062465581401
+0.00618464 0.12483850805357879
+0.00620731 0.12391040567569768
+0.00623007 0.12298943695054255
+0.00625290 0.12206824283004430
+0.00627582 0.12116449507357378
+0.00629883 0.12026404538450704
+0.00632192 0.11936402242813045
+0.00634509 0.11848118476608317
+0.00636835 0.11760241811594144
+0.00639169 0.11672854466101434
+0.00641512 0.11586891210412836
+0.00643863 0.11500968467677697
+0.00646223 0.11415698436539856
+0.00648592 0.11331162012205594
+0.00650969 0.11246338250255647
+0.00653355 0.11162763470971557
+0.00655750 0.11080187840229813
+0.00658154 0.10997723609749062
+0.00660566 0.10915858968954645
+0.00662988 0.10835854958332555
+0.00665418 0.10754893503326220
+0.00667857 0.10674520484263798
+0.00670305 0.10595758211145084
+0.00672762 0.10515851743175647
+0.00675228 0.10438365892136520
+0.00677703 0.10361430151480690
+0.00680187 0.10284485279808027
+0.00682680 0.10207742190337447
+0.00685183 0.10132214560255921
+0.00687694 0.10056559248356461
+0.00690215 9.98201955350183079E-002
+0.00692745 9.90780107335829385E-002
+0.00695284 9.83425747490255797E-002
+0.00697833 9.76157500015487622E-002
+0.00700391 9.68902347732716329E-002
+0.00702958 9.61632559163398959E-002
+0.00705534 9.54407895342463258E-002
+0.00708121 9.47192041030182064E-002
+0.00710716 9.40037250596604257E-002
+0.00713321 9.33073675939262021E-002
+0.00715936 9.26058409124611848E-002
+0.00718560 9.19078749842962978E-002
+0.00721194 9.12146905817397546E-002
+0.00723838 9.05361326949870315E-002
+0.00726491 8.98582427445317050E-002
+0.00729154 8.91768831523981481E-002
+0.00731826 8.85163119487959310E-002
+0.00734509 8.78513424401575205E-002
+0.00737201 8.71932631089545607E-002
+0.00739903 8.65372365471554633E-002
+0.00742615 8.58861839373956104E-002
+0.00745338 8.52442668613220267E-002
+0.00748070 8.46048862828092385E-002
+0.00750812 8.39661829758891476E-002
+0.00753564 8.33407190685790944E-002
+0.00756326 8.27148460557747822E-002
+0.00759098 8.20877948695265258E-002
+0.00761881 8.14744721036688435E-002
+0.00764673 8.08646198839025609E-002
+0.00767476 8.02498204230602391E-002
+0.00770289 7.96486081150538788E-002
+0.00773113 7.90526207017089033E-002
+0.00775947 7.84612032539092064E-002
+0.00778791 7.78725398819316156E-002
+0.00781645 7.72880121963385458E-002
+0.00784511 7.67076862656819458E-002
+0.00787386 7.61304449625620633E-002
+0.00790272 7.55591626964114971E-002
+0.00793169 7.49905185080284725E-002
+0.00796076 7.44257876694277704E-002
+0.00798994 7.38687718433487100E-002
+0.00801923 7.33089688550043611E-002
+0.00804862 7.27490652153076622E-002
+0.00807813 7.21965551420314378E-002
+0.00810774 7.16501870904214244E-002
+0.00813746 7.11045096974515234E-002
+0.00816728 7.05654546900747609E-002
+0.00819722 7.00289468845212565E-002
+0.00822727 6.94956238992427422E-002
+0.00825742 6.89727891577427837E-002
+0.00828769 6.84422901139232487E-002
+0.00831807 6.79299838815077967E-002
+0.00834856 6.74118448809300080E-002
+0.00837916 6.69025059089424917E-002
+0.00840987 6.63968892790268300E-002
+0.00844070 6.58934606332890055E-002
+0.00847164 6.53956344405316192E-002
+0.00850269 6.48988554449903832E-002
+0.00853386 6.44014440859311810E-002
+0.00856514 6.39178332732676935E-002
+0.00859653 6.34359516573824445E-002
+0.00862804 6.29547090743019788E-002
+0.00865967 6.24782986617832894E-002
+0.00869141 6.20022211344264523E-002
+0.00872327 6.15354171107356934E-002
+0.00875525 6.10700313713901238E-002
+0.00878734 6.06082776359911993E-002
+0.00881955 6.01526648836495995E-002
+0.00885187 5.96932825060151259E-002
+0.00888432 5.92409999092552986E-002
+0.00891689 5.87991946604228821E-002
+0.00894957 5.83500280224460641E-002
+0.00898238 5.79134202820493771E-002
+0.00901530 5.74699119152149232E-002
+0.00904835 5.70340490968160724E-002
+0.00908151 5.65975926998635651E-002
+0.00911480 5.61599186152336796E-002
+0.00914821 5.57284644582355937E-002
+0.00918174 5.53100466500612564E-002
+0.00921540 5.48854214203091731E-002
+0.00924918 5.44676612436804236E-002
+0.00928308 5.40519795910893927E-002
+0.00931711 5.36421152186369044E-002
+0.00935126 5.32298864723836154E-002
+0.00938553 5.28260300240962627E-002
+0.00941994 5.24218126942264870E-002
+0.00945447 5.20225693875449660E-002
+0.00948912 5.16211620372356225E-002
+0.00952390 5.12322125361394792E-002
+0.00955881 5.08368917596973349E-002
+0.00959385 5.04499566311160316E-002
+0.00962902 5.00642261014550213E-002
+0.00966431 4.96805199764229766E-002
+0.00969974 4.93004225931100923E-002
+0.00973529 4.89263771171788917E-002
+0.00977097 4.85466541718595976E-002
+0.00980679 4.81786330846188035E-002
+0.00984274 4.78087947233585275E-002
+0.00987881 4.74435017320448266E-002
+0.00991502 4.70806828576253444E-002
+0.00995137 4.67203730410006776E-002
+0.00998784 4.63676941410026411E-002
+0.01002445 4.60131406005032800E-002
+0.01006120 4.56541338518291900E-002
+0.01009808 4.53057932718815629E-002
+0.01013509 4.49587239792489796E-002
+0.01017224 4.46119847984663975E-002
+0.01020953 4.42692295943967612E-002
+0.01024695 4.39288469249509567E-002
+0.01028451 4.35878374917161859E-002
+0.01032221 4.32564489809284525E-002
+0.01036004 4.29220359951005895E-002
+0.01039802 4.25946943102513756E-002
+0.01043613 4.22674799337189114E-002
+0.01047439 4.19366850471249095E-002
+0.01051278 4.16185435860969982E-002
+0.01055131 4.12960785809532230E-002
+0.01058999 4.09808941793824641E-002
+0.01062881 4.06628115092740119E-002
+0.01066777 4.03527142183873755E-002
+0.01070687 4.00431806490299594E-002
+0.01074611 3.97332760276904867E-002
+0.01078550 3.94265646940764672E-002
+0.01082504 3.91237774564424101E-002
+0.01086472 3.88219353700294950E-002
+0.01090454 3.85249521690293126E-002
+0.01094451 3.82269019615259428E-002
+0.01098463 3.79374529403994701E-002
+0.01102489 3.76388715462962417E-002
+0.01106530 3.73533820331804281E-002
+0.01110586 3.70627235769778116E-002
+0.01114657 3.67781289981929174E-002
+0.01118743 3.64915626798742940E-002
+0.01122844 3.62112903697666549E-002
+0.01126959 3.59290409837116215E-002
+0.01131090 3.56525817007428483E-002
+0.01135236 3.53757154250838451E-002
+0.01139397 3.51020037710014637E-002
+0.01143574 3.48283950811273529E-002
+0.01147766 3.45579372734643106E-002
+0.01151973 3.42925937948137874E-002
+0.01156195 3.40237937279394623E-002
+0.01160433 3.37639419417321285E-002
+0.01164687 3.35010720269243722E-002
+0.01168956 3.32437069159788115E-002
+0.01173241 3.29865944590384333E-002
+0.01177541 3.27298004668533093E-002
+0.01181857 3.24762200798571835E-002
+0.01186189 3.22260361268580861E-002
+0.01190537 3.19789094073720873E-002
+0.01194901 3.17308324441818446E-002
+0.01199281 3.14852736326810476E-002
+0.01203677 3.12447235000086164E-002
+0.01208089 3.10005138200744358E-002
+0.01212517 3.07612557834545594E-002
+0.01216962 3.05211662696003132E-002
+0.01221422 3.02870608124973899E-002
+0.01225900 3.00521504545616935E-002
+0.01230393 2.98207773526531737E-002
+0.01234903 2.95942338558628261E-002
+0.01239430 2.93611536240402198E-002
+0.01243973 2.91335421958192724E-002
+0.01248532 2.89104999125028989E-002
+0.01253109 2.86888203711480709E-002
+0.01257702 2.84660501787379235E-002
+0.01262312 2.82420688138942666E-002
+0.01266939 2.80240798451629573E-002
+0.01271583 2.78045981280305478E-002
+0.01276244 2.75890154175590652E-002
+0.01280922 2.73695294562387795E-002
+0.01285617 2.71597604908462228E-002
+0.01290330 2.69478422784723351E-002
+0.01295059 2.67363342910372746E-002
+0.01299806 2.65281712349696996E-002
+0.01304571 2.63218463724059354E-002
+0.01309353 2.61149351180846936E-002
+0.01314152 2.59147318367052432E-002
+0.01318969 2.57133083218769286E-002
+0.01323804 2.55124767994223227E-002
+0.01328656 2.53123727212594928E-002
+0.01333526 2.51147783537562092E-002
+0.01338414 2.49195489080430918E-002
+0.01343320 2.47275855545344217E-002
+0.01348244 2.45324893649645250E-002
+0.01353186 2.43417098882957525E-002
+0.01358146 2.41527022238869488E-002
+0.01363124 2.39643365754800726E-002
+0.01368121 2.37792528547313038E-002
+0.01373136 2.35933700289258953E-002
+0.01378169 2.34108737640268474E-002
+0.01383220 2.32286567870555356E-002
+0.01388291 2.30491462652090140E-002
+0.01393379 2.28691990982293758E-002
+0.01398487 2.26927891201899566E-002
+0.01403613 2.25140411888782761E-002
+0.01408758 2.23379752134868527E-002
+0.01413922 2.21645926656537963E-002
+0.01419104 2.19918303127015213E-002
+0.01424306 2.18194987735976266E-002
+0.01429527 2.16504809739959739E-002
+0.01434767 2.14803869503668275E-002
+0.01440026 2.13104725948987245E-002
+0.01445304 2.11446014549300405E-002
+0.01450602 2.09803738402443776E-002
+0.01455919 2.08164794499313723E-002
+0.01461256 2.06538296903104948E-002
+0.01466612 2.04927000861381478E-002
+0.01471988 2.03320878772209092E-002
+0.01477383 2.01729516644684331E-002
+0.01482798 2.00178022742018742E-002
+0.01488234 1.98604628758729390E-002
+0.01493689 1.97043620762037200E-002
+0.01499164 1.95506840315464690E-002
+0.01504659 1.93986897536097130E-002
+0.01510174 1.92454383570898509E-002
+0.01515710 1.90910733275857190E-002
+0.01521265 1.89427701633699819E-002
+0.01526842 1.87928198124444785E-002
+0.01532438 1.86460406335389808E-002
+0.01538055 1.84977461185346533E-002
+0.01543693 1.83518246140004920E-002
+0.01549351 1.82080918902467054E-002
+0.01555030 1.80634212476792760E-002
+0.01560730 1.79228942001055623E-002
+0.01566451 1.77816436562949903E-002
+0.01572193 1.76418514281192866E-002
+0.01577956 1.75035491356287584E-002
+0.01583740 1.73638670450317507E-002
+0.01589545 1.72262847361586598E-002
+0.01595371 1.70933015083067977E-002
+0.01601219 1.69581091608178927E-002
+0.01607088 1.68257806467324890E-002
+0.01612979 1.66923073554649283E-002
+0.01618891 1.65603996421736822E-002
+0.01624825 1.64332204706521129E-002
+0.01630781 1.63034379665294091E-002
+0.01636759 1.61777307399069113E-002
+0.01642758 1.60526562218504497E-002
+0.01648780 1.59271867165577848E-002
+0.01654823 1.58011531981768170E-002
+0.01660889 1.56777180633179587E-002
+0.01666977 1.55556678556359532E-002
+0.01673087 1.54352842948867683E-002
+0.01679220 1.53148377204361582E-002
+0.01685375 1.51971259066960226E-002
+0.01691553 1.50766722130221565E-002
+0.01697753 1.49616524189469507E-002
+0.01703976 1.48445501481300340E-002
+0.01710222 1.47293964324342001E-002
+0.01716491 1.46140266334859360E-002
+0.01722783 1.45005709171281017E-002
+0.01729097 1.43873577440908531E-002
+0.01735435 1.42770910595149906E-002
+0.01741797 1.41658696211012583E-002
+0.01748181 1.40548986256785156E-002
+0.01754589 1.39451197648541702E-002
+0.01761020 1.38343077997810510E-002
+0.01767475 1.37272566580418226E-002
+0.01773954 1.36168638637506074E-002
+0.01780456 1.35101015645829915E-002
+0.01786983 1.34047306658750913E-002
+0.01793533 1.33003089689803268E-002
+0.01800107 1.31966364855662238E-002
+0.01806705 1.30912762595965688E-002
+0.01813328 1.29903257970719593E-002
+0.01819974 1.28880949680808543E-002
+0.01826645 1.27865706219643365E-002
+0.01833341 1.26874121698065338E-002
+0.01840061 1.25871784399110183E-002
+0.01846806 1.24889133898216376E-002
+0.01853575 1.23899992961034201E-002
+0.01860369 1.22941438610191418E-002
+0.01867188 1.21979244738481957E-002
+0.01874032 1.21024123021626212E-002
+0.01880902 1.20065363495032180E-002
+0.01887796 1.19124005678306905E-002
+0.01894716 1.18212954075343282E-002
+0.01901661 1.17286064461046818E-002
+0.01908631 1.16359480449867384E-002
+0.01915627 1.15449000058365451E-002
+0.01922649 1.14537805696605585E-002
+0.01929696 1.13646651706465485E-002
+0.01936770 1.12767326814578270E-002
+0.01943869 1.11888985653575135E-002
+0.01950994 1.11005782078551600E-002
+0.01958145 1.10145769938682064E-002
+0.01965323 1.09293084197736728E-002
+0.01972527 1.08433776192876329E-002
+0.01979757 1.07594131836169764E-002
+0.01987014 1.06749308549227082E-002
+0.01994297 1.05919282455423317E-002
+0.02001607 1.05093340813684436E-002
+0.02008944 1.04266754068496146E-002
+0.02016308 1.03470555373704007E-002
+0.02023698 1.02644356462489993E-002
+0.02031116 1.01855585381750696E-002
+0.02038561 1.01053465591621344E-002
+0.02046034 1.00258007435034061E-002
+0.02053533 9.94720874527963567E-003
+0.02061060 9.86995678832911991E-003
+0.02068615 9.79305131599937304E-003
+0.02076198 9.71589506030589613E-003
+0.02083808 9.63967658773517630E-003
+0.02091446 9.56559403944991400E-003
+0.02099112 9.49113817081115134E-003
+0.02106806 9.41658852449755134E-003
+0.02114529 9.34438890733372933E-003
+0.02122280 9.27097722932982739E-003
+0.02130059 9.19865630091011924E-003
+0.02137866 9.12676064984231476E-003
+0.02145703 9.05637490042956843E-003
+0.02153568 8.98678784492059485E-003
+0.02161462 8.91609338329384452E-003
+0.02169384 8.84742854716324793E-003
+0.02177336 8.77807518828323946E-003
+0.02185317 8.70971270910479364E-003
+0.02193327 8.64199688682344182E-003
+0.02201367 8.57591464438287564E-003
+0.02209436 8.50922049913409480E-003
+0.02217535 8.44305681306937485E-003
+0.02225663 8.37700763387625759E-003
+0.02233821 8.31225235901327832E-003
+0.02242009 8.24811570540386410E-003
+0.02250227 8.18280621807297541E-003
+0.02258475 8.11966990971350194E-003
+0.02266754 8.05721604059357784E-003
+0.02275062 7.99418536831365649E-003
+0.02283402 7.93245002499068895E-003
+0.02291771 7.87117918108326195E-003
+0.02300172 7.81029211456481069E-003
+0.02308603 7.75061366947908496E-003
+0.02317065 7.69037956368404715E-003
+0.02325558 7.63017757233556797E-003
+0.02334082 7.57110579592796054E-003
+0.02342638 7.51324059264008460E-003
+0.02351225 7.45548773997657763E-003
+0.02359843 7.39742899149546142E-003
+0.02368493 7.34130350464691928E-003
+0.02377175 7.28464808629281091E-003
+0.02385888 7.22939260412840904E-003
+0.02394634 7.17324237423936587E-003
+0.02403411 7.11821717362402708E-003
+0.02412221 7.06301137599733495E-003
+0.02421063 7.00999131195664555E-003
+0.02429937 6.95599147289620474E-003
+0.02438844 6.90221848081585231E-003
+0.02447783 6.84992669575248524E-003
+0.02456756 6.79698217735725911E-003
+0.02465761 6.74506236977271984E-003
+0.02474799 6.69423870610778935E-003
+0.02483870 6.64290399845678461E-003
+0.02492975 6.59137807706079888E-003
+0.02502113 6.54105895058767085E-003
+0.02511284 6.49125633535059098E-003
+0.02520489 6.44039876562441539E-003
+0.02529728 6.39104908035692185E-003
+0.02539001 6.34229748880052284E-003
+0.02548307 6.29298029654996004E-003
+0.02557648 6.24626374409755370E-003
+0.02567023 6.19866687899601858E-003
+0.02576433 6.15191151689322389E-003
+0.02585876 6.10361222982861839E-003
+0.02595355 6.05687254549052388E-003
+0.02604868 6.01137022324587170E-003
+0.02614416 5.96472742187741795E-003
+0.02623999 5.91959828924200609E-003
+0.02633617 5.87540996743941748E-003
+0.02643271 5.83074804091761930E-003
+0.02652960 5.78562431970043416E-003
+0.02662684 5.74192531494660281E-003
+0.02672444 5.69800489525243512E-003
+0.02682240 5.65505611017136887E-003
+0.02692072 5.61180601145374637E-003
+0.02701939 5.56953062646893191E-003
+0.02711843 5.52752529584177310E-003
+0.02721783 5.48681798690119332E-003
+0.02731760 5.44468997088249675E-003
+0.02741773 5.40376700097326950E-003
+0.02751823 5.36415955820811197E-003
+0.02761910 5.32410743544662387E-003
+0.02772033 5.28521150012730128E-003
+0.02782194 5.24595605886274668E-003
+0.02792392 5.20706508894551966E-003
+0.02802628 5.16844575779000157E-003
+0.02812901 5.13126027923777733E-003
+0.02823211 5.09280812100238161E-003
+0.02833560 5.05554399594222541E-003
+0.02843946 5.01878689954597581E-003
+0.02854371 4.98202536433923517E-003
+0.02864833 4.94567250041654926E-003
+0.02875334 4.90949102684305142E-003
+0.02885874 4.87379095417739012E-003
+0.02896452 4.83856569012054444E-003
+0.02907069 4.80301201802607255E-003
+0.02917724 4.76873105192012099E-003
+0.02928419 4.73434278537704801E-003
+0.02939153 4.70015892985042091E-003
+0.02949927 4.66585828457478664E-003
+0.02960739 4.63226412837903188E-003
+0.02971592 4.59914404931438623E-003
+0.02982484 4.56663411852093609E-003
+0.02993416 4.53388628291463355E-003
+0.03004389 4.50132726700156176E-003
+0.03015401 4.46843686758158221E-003
+0.03026454 4.43587685124262332E-003
+0.03037548 4.40375089635797103E-003
+0.03048682 4.37196277089727230E-003
+0.03059856 4.34069110138482657E-003
+0.03071072 4.30968200603079003E-003
+0.03082329 4.27868754567111830E-003
+0.03093627 4.24785291426956271E-003
+0.03104967 4.21760730060596108E-003
+0.03116348 4.18705309573731786E-003
+0.03127771 4.15734576605709949E-003
+0.03139236 4.12780167034787135E-003
+0.03150743 4.09796369136975619E-003
+0.03162292 4.06937136122380912E-003
+0.03173883 4.04075811169785429E-003
+0.03185517 4.01248685520913181E-003
+0.03197193 3.98387965793004731E-003
+0.03208912 3.95587806842651480E-003
+0.03220675 3.92819820299655786E-003
+0.03232480 3.90167370907051544E-003
+0.03244328 3.87381379972156744E-003
+0.03256220 3.84732680164350188E-003
+0.03268156 3.82064772454454755E-003
+0.03280135 3.79404718688677867E-003
+0.03292159 3.76793801774123445E-003
+0.03304226 3.74201266065188548E-003
+0.03316337 3.71649099562890769E-003
+0.03328493 3.69049277558793987E-003
+0.03340694 3.66564797026834935E-003
+0.03352939 3.64096827617745120E-003
+0.03365229 3.61620752472438089E-003
+0.03377564 3.59170190780339505E-003
+0.03389945 3.56771263373165375E-003
+0.03402371 3.54357161910729941E-003
+0.03414842 3.51980869851370188E-003
+0.03427359 3.49685243496918735E-003
+0.03439922 3.47293226321078365E-003
+0.03452531 3.44931420026375456E-003
+0.03465186 3.42652548554795659E-003
+0.03477887 3.40450776595704841E-003
+0.03490636 3.38172126882970488E-003
+0.03503430 3.35927034791888438E-003
+0.03516272 3.33715003446927562E-003
+0.03529161 3.31588791085966287E-003
+0.03542097 3.29392179925424959E-003
+0.03555080 3.27234222565340235E-003
+0.03568111 3.25061421615388405E-003
+0.03581190 3.22945632640788197E-003
+0.03594317 3.20838144357421789E-003
+0.03607492 3.18777892685057638E-003
+0.03620715 3.16766220082267567E-003
+0.03633987 3.14727980811456767E-003
+0.03647307 3.12736809565597549E-003
+0.03660676 3.10741458853698062E-003
+0.03674094 3.08741272606093478E-003
+0.03687561 3.06883503417041325E-003
+0.03701078 3.04874885790465833E-003
+0.03714644 3.02983472854249014E-003
+0.03728260 3.01147260484850403E-003
+0.03741926 2.99243774923847955E-003
+0.03755642 2.97365653192672346E-003
+0.03769408 2.95552992055701748E-003
+0.03783225 2.93795997936897564E-003
+0.03797092 2.91930970975755669E-003
+0.03811010 2.90159888851259469E-003
+0.03824980 2.88366672445694019E-003
+0.03839000 2.86644844445027623E-003
+0.03853072 2.84923379998042918E-003
+0.03867195 2.83286963976528069E-003
+0.03881370 2.81548154783498473E-003
+0.03895597 2.79887929261441772E-003
+0.03909876 2.78257217729570121E-003
+0.03924208 2.76630096264438149E-003
+0.03938592 2.74970073655786320E-003
+0.03953029 2.73404550577683583E-003
+0.03967519 2.71839452231167639E-003
+0.03982061 2.70276528918803743E-003
+0.03996658 2.68716816813063027E-003
+0.04011307 2.67201211486422672E-003
+0.04026010 2.65673928110586469E-003
+0.04040768 2.64174701903595452E-003
+0.04055579 2.62714355733919451E-003
+0.04070445 2.61217996739939546E-003
+0.04085365 2.59746530092631444E-003
+0.04100340 2.58331160530762046E-003
+0.04115369 2.56929162451313567E-003
+0.04130454 2.55511971264671183E-003
+0.04145594 2.54108936434026354E-003
+0.04160790 2.52761746904259709E-003
+0.04176041 2.51394081730318833E-003
+0.04191348 2.50062122753629381E-003
+0.04206711 2.48750917504913247E-003
+0.04222131 2.47470676164495166E-003
+0.04237607 2.46196593481836853E-003
+0.04253140 2.44857933074176925E-003
+0.04268730 2.43574051870480007E-003
+0.04284377 2.42312742860916440E-003
+0.04300081 2.41148203978225296E-003
+0.04315843 2.39894362220024809E-003
+0.04331662 2.38683268164931010E-003
+0.04347540 2.37535640733705158E-003
+0.04363476 2.36367389597336467E-003
+0.04379470 2.35203509821855236E-003
+0.04395523 2.34023194278080039E-003
+0.04411634 2.32891283595428869E-003
+0.04427805 2.31755662132850917E-003
+0.04444035 2.30670075606173456E-003
+0.04460325 2.29620533691631381E-003
+0.04476674 2.28482986292394578E-003
+0.04493083 2.27435950918331150E-003
+0.04509552 2.26358268919632554E-003
+0.04526082 2.25343234384576489E-003
+0.04542672 2.24312120235441517E-003
+0.04559323 2.23274302922071800E-003
+0.04576035 2.22286550217780116E-003
+0.04592809 2.21297358110513582E-003
+0.04609643 2.20352276311751522E-003
+0.04626540 2.19420167164945199E-003
+0.04643498 2.18443315278033781E-003
+0.04660519 2.17495906690037431E-003
+0.04677602 2.16602927201744100E-003
+0.04694748 2.15686068127451686E-003
+0.04711956 2.14754656959983579E-003
+0.04729228 2.13915846696831335E-003
+0.04746563 2.12999551580564080E-003
+0.04763961 2.12138110270036241E-003
+0.04781423 2.11313539797851075E-003
+0.04798949 2.10463370975697136E-003
+0.04816540 2.09637202298373210E-003
+0.04834195 2.08834191344414027E-003
+0.04851914 2.08053715940646582E-003
+0.04869699 2.07266478390750672E-003
+0.04887549 2.06487923907699121E-003
+0.04905464 2.05715739321036357E-003
+0.04923445 2.04973667582774438E-003
+0.04941491 2.04279523287836983E-003
+0.04959604 2.03520435469325706E-003
+0.04977784 2.02812220829893392E-003
+0.04996030 2.02086450151650002E-003
+0.05014342 2.01444665078344409E-003
+0.05032722 2.00798230135228921E-003
+0.05051170 2.00095209164268548E-003
+0.05069685 1.99470292342877279E-003
+0.05088267 1.98805540673329577E-003
+0.05106918 1.98158569169398606E-003
+0.05125637 1.97582431546381668E-003
+0.05144425 1.96931672705604952E-003
+0.05163282 1.96322363174722143E-003
+0.05182208 1.95781872514104623E-003
+0.05201203 1.95140797088008450E-003
+0.05220268 1.94592723694128936E-003
+0.05239403 1.94024024873419294E-003
+0.05258608 1.93521175454108830E-003
+0.05277883 1.92942430649643295E-003
+0.05297229 1.92429885618303187E-003
+0.05316646 1.91926018745507024E-003
+0.05336134 1.91411166934013217E-003
+0.05355693 1.90923759274182138E-003
+0.05375324 1.90439568754025663E-003
+0.05395028 1.89986278418529417E-003
+0.05414803 1.89497114929739027E-003
+0.05434651 1.89052248179154541E-003
+0.05454571 1.88616058535443637E-003
+0.05474565 1.88191180337588752E-003
+0.05494632 1.87749045071094393E-003
+0.05514772 1.87375475874517698E-003
+0.05534986 1.86940073953670727E-003
+0.05555275 1.86559902067808111E-003
+0.05575638 1.86180026864967633E-003
+0.05596075 1.85797767274848021E-003
+0.05616587 1.85454498421164650E-003
+0.05637175 1.85063328563260412E-003
+0.05657838 1.84726744904422963E-003
+0.05678576 1.84392323670582781E-003
+0.05699391 1.84068880249321906E-003
+0.05720282 1.83761460242184461E-003
+0.05741249 1.83461799609554196E-003
+0.05762294 1.83160735649879930E-003
+0.05783415 1.82892464551222267E-003
+0.05804614 1.82618481738314078E-003
+0.05825891 1.82317554118304847E-003
+0.05847246 1.82066193335414799E-003
+0.05868678 1.81864815442624541E-003
+0.05890190 1.81606120471879541E-003
+0.05911780 1.81377848482688767E-003
+0.05933450 1.81157510643982348E-003
+0.05955199 1.80943813112798501E-003
+0.05977027 1.80738174420878276E-003
+0.05998936 1.80556481536802847E-003
+0.06020925 1.80371158730378389E-003
+0.06042994 1.80201513886215367E-003
+0.06065145 1.80051574688253231E-003
+0.06087377 1.79885843468407646E-003
+0.06109690 1.79710416289444457E-003
+0.06132085 1.79589420576297017E-003
+0.06154562 1.79430578802467909E-003
+0.06177121 1.79328662425930663E-003
+0.06199763 1.79173865555758887E-003
+0.06222488 1.79087074907840452E-003
+0.06245296 1.79004685536766450E-003
+0.06268188 1.78891865759665098E-003
+0.06291164 1.78803796408710000E-003
+0.06314224 1.78721161404857319E-003
+0.06337369 1.78680400612422820E-003
+0.06360598 1.78603373861392569E-003
+0.06383913 1.78577769536909185E-003
+0.06407313 1.78575698711817832E-003
+0.06430799 1.78523478424291509E-003
+0.06454371 1.78496889229992650E-003
+0.06478029 1.78513588057718558E-003
+0.06501774 1.78479910687371138E-003
+0.06525606 1.78528592172110564E-003
+0.06549526 1.78527829487090607E-003
+0.06573533 1.78546032515313228E-003
+0.06597628 1.78593524647965092E-003
+0.06621811 1.78617835640577970E-003
+0.06646084 1.78705864984239128E-003
+0.06670445 1.78737100032873688E-003
+0.06694895 1.78848339662999534E-003
+0.06719435 1.78906414686083311E-003
+0.06744065 1.78981927754485732E-003
+0.06768785 1.79082424552207283E-003
+0.06793596 1.79170369032106589E-003
+0.06818498 1.79282379844616295E-003
+0.06843491 1.79426645749559206E-003
+0.06868575 1.79548649469655846E-003
+0.06893752 1.79662890757921012E-003
+0.06919021 1.79807892550843209E-003
+0.06944382 1.79957896392175191E-003
+0.06969837 1.80112754739401100E-003
+0.06995384 1.80281717122658842E-003
+0.07021026 1.80477188690656419E-003
+0.07046761 1.80623199189653446E-003
+0.07072591 1.80849445533253069E-003
+0.07098515 1.81029958986112004E-003
+0.07124535 1.81218423440811455E-003
+0.07150649 1.81423363215577646E-003
+0.07176860 1.81629378721884726E-003
+0.07203167 1.81889109099698512E-003
+0.07229570 1.82107105086134341E-003
+0.07256069 1.82347107570493289E-003
+0.07282666 1.82626135904889091E-003
+0.07309361 1.82866125245345645E-003
+0.07336153 1.83145711667843328E-003
+0.07363043 1.83398174047305304E-003
+0.07390033 1.83666441108639388E-003
+0.07417120 1.83977837944784449E-003
+0.07444308 1.84264523747683850E-003
+0.07471595 1.84553337211214655E-003
+0.07498982 1.84886239334755087E-003
+0.07526469 1.85202445466518513E-003
+0.07554057 1.85520526162093690E-003
+0.07581746 1.85872386465653827E-003
+0.07609537 1.86185345460267463E-003
+0.07637429 1.86513286978737605E-003
+0.07665424 1.86858021284647732E-003
+0.07693522 1.87257230772964697E-003
+0.07721722 1.87606697759540547E-003
+0.07750026 1.87992499040575897E-003
+0.07778433 1.88353704671774037E-003
+0.07806945 1.88736498601674947E-003
+0.07835561 1.89166597814261904E-003
+0.07864282 1.89519848654948848E-003
+0.07893108 1.89981257926503488E-003
+0.07922040 1.90352703941034469E-003
+0.07951079 1.90795965912256759E-003
+0.07980223 1.91244438923013392E-003
+0.08009474 1.91677719409744140E-003
+0.08038833 1.92130501331646761E-003
+0.08068299 1.92599435004824765E-003
+0.08097873 1.93062667166539535E-003
+0.08127556 1.93539436728819248E-003
+0.08157347 1.94046546287379544E-003
+0.08187247 1.94511396679945456E-003
+0.08217258 1.95002261398830403E-003
+0.08247378 1.95510416796003611E-003
+0.08277608 1.96013504523406389E-003
+0.08307950 1.96518461224651306E-003
+0.08338402 1.97089341280234486E-003
+0.08368966 1.97607360791623695E-003
+0.08399643 1.98154811200245036E-003
+0.08430431 1.98672711730470564E-003
+0.08461333 1.99217839012098179E-003
+0.08492348 1.99780302994067346E-003
+0.08523476 2.00331602539714944E-003
+0.08554719 2.00901766397611464E-003
+0.08586076 2.01493083963286785E-003
+0.08617548 2.02107701999429271E-003
+0.08649135 2.02702530015883616E-003
+0.08680838 2.03303344828771777E-003
+0.08712658 2.03891715749149934E-003
+0.08744594 2.04501813562339013E-003
+0.08776647 2.05123999930601365E-003
+0.08808817 2.05778320065804496E-003
+0.08841106 2.06440297073178305E-003
+0.08873513 2.07057467910672782E-003
+0.08906038 2.07705669902399958E-003
+0.08938683 2.08324354757160289E-003
+0.08971448 2.09035656980337530E-003
+0.09004332 2.09674216816608519E-003
+0.09037338 2.10364542657415351E-003
+0.09070464 2.11068227243590935E-003
+0.09103711 2.11717379475248298E-003
+0.09137081 2.12446261744742406E-003
+0.09170572 2.13156484285640865E-003
+0.09204187 2.13867398999247884E-003
+0.09237925 2.14586794892153866E-003
+0.09271786 2.15325093900221301E-003
+0.09305771 2.16048924158241838E-003
+0.09339881 2.16817183178445120E-003
+0.09374117 2.17571348205257116E-003
+0.09408477 2.18295638992120015E-003
+0.09442964 2.19072111251980908E-003
+0.09477577 2.19878717971526243E-003
+0.09512316 2.20637745690691880E-003
+0.09547184 2.21438792217797066E-003
+0.09582179 2.22191053845193160E-003
+0.09617302 2.23000257125948289E-003
+0.09652554 2.23824980718523520E-003
+0.09687935 2.24633958907749422E-003
+0.09723446 2.25448672167329533E-003
+0.09759087 2.26287142472308446E-003
+0.09794858 2.27138596116472323E-003
+0.09830761 2.27972586187349035E-003
+0.09866796 2.28838936574782530E-003
+0.09902962 2.29694444378693166E-003
+0.09939261 2.30557581548284990E-003
+0.09975693 2.31429595466654814E-003
+0.10012259 2.32302055055391568E-003
+0.10048959 2.33177571675773944E-003
+0.10085793 2.34100055726072821E-003
+0.10122762 2.34977018317743301E-003
+0.10159867 2.35877480728189422E-003
+0.10197107 2.36805969442908980E-003
+0.10234485 2.37750448387469195E-003
+0.10271999 2.38656408328676885E-003
+0.10309651 2.39611911411209385E-003
+0.10347440 2.40541798845966262E-003
+0.10385369 2.41478901202064368E-003
+0.10423436 2.42470016239893990E-003
+0.10461643 2.43386763089017445E-003
+0.10499990 2.44381317475493749E-003
+0.10538477 2.45322620419189449E-003
+0.10577106 2.46315797255315487E-003
+0.10615876 2.47340922794142808E-003
+0.10654788 2.48324138015012987E-003
+0.10693843 2.49319507122681017E-003
+0.10733041 2.50384616631930306E-003
+0.10772382 2.51351916395933404E-003
+0.10811868 2.52371864570126664E-003
+0.10851499 2.53457373744106354E-003
+0.10891275 2.54466679857835503E-003
+0.10931197 2.55526246718472969E-003
+0.10971265 2.56575763717176988E-003
+0.11011479 2.57607238783672280E-003
+0.11051842 2.58710127560113660E-003
+0.11092352 2.59759603157709053E-003
+0.11133011 2.60860745024604377E-003
+0.11173818 2.61963578360167220E-003
+0.11214776 2.63044966881879330E-003
+0.11255883 2.64157601631043052E-003
+0.11297141 2.65258139138338945E-003
+0.11338551 2.66388402750128948E-003
+0.11380112 2.67560170701184371E-003
+0.11421825 2.68687610649415414E-003
+0.11463692 2.69868951471654824E-003
+0.11505712 2.70966295532578576E-003
+0.11547886 2.72142699203783891E-003
+0.11590214 2.73315431019013032E-003
+0.11632698 2.74425811093390861E-003
+0.11675337 2.75671846062512486E-003
+0.11718133 2.76817581346630332E-003
+0.11761085 2.78029500253373311E-003
+0.11804195 2.79204829302620930E-003
+0.11847463 2.80461162189657312E-003
+0.11890890 2.81611852600145924E-003
+0.11934475 2.82876499494094831E-003
+0.11978221 2.84113507778625471E-003
+0.12022127 2.85335658598161266E-003
+0.12066194 2.86584845041350407E-003
+0.12110422 2.87806915749305118E-003
+0.12154812 2.89147084889222012E-003
+0.12199365 2.90411631050617328E-003
+0.12244082 2.91618350442814089E-003
+0.12288962 2.92918112435024570E-003
+0.12334007 2.94217539435258140E-003
+0.12379217 2.95495266325327115E-003
+0.12424593 2.96777009900588183E-003
+0.12470135 2.98122550263655575E-003
+0.12515844 2.99415498196578880E-003
+0.12561720 3.00808630686318600E-003
+0.12607765 3.02105597576413174E-003
+0.12653978 3.03457013632387048E-003
+0.12700361 3.04811149660945239E-003
+0.12746914 3.06144786702699850E-003
+0.12793638 3.07543201592574023E-003
+0.12840532 3.08904161026570673E-003
+0.12887599 3.10267170323899784E-003
+0.12934838 3.11668864745097895E-003
+0.12982250 3.13087267331868839E-003
+0.13029836 3.14461226370414421E-003
+0.13077597 3.15883721781602981E-003
+0.13125533 3.17269694076964537E-003
+0.13173644 3.18732947877950956E-003
+0.13221932 3.20188384950034939E-003
+0.13270396 3.21564155910166339E-003
+0.13319038 3.23026504371856562E-003
+0.13367859 3.24476691697903573E-003
+0.13416859 3.25972737266229384E-003
+0.13466038 3.27453641400075749E-003
+0.13515397 3.28942266818908627E-003
+0.13564937 3.30417320725799775E-003
+0.13614659 3.31911103423264972E-003
+0.13664564 3.33416858434946485E-003
+0.13714651 3.34931323975665423E-003
+0.13764921 3.36432950089411709E-003
+0.13815376 3.37922028664724419E-003
+0.13866016 3.39499564945155638E-003
+0.13916842 3.41099244659628714E-003
+0.13967854 3.42593290085503642E-003
+0.14019052 3.44113962052595545E-003
+0.14070439 3.45719057061640109E-003
+0.14122014 3.47268001990997700E-003
+0.14173778 3.48877031343770459E-003
+0.14225731 3.50441678952578004E-003
+0.14277875 3.52062190046551707E-003
+0.14330210 3.53681951450039462E-003
+0.14382737 3.55255612897280261E-003
+0.14435457 3.56852379209536769E-003
+0.14488370 3.58523190734824377E-003
+0.14541476 3.60163474878470160E-003
+0.14594778 3.61813296625479322E-003
+0.14648275 3.63435675411973936E-003
+0.14701967 3.65117073424116529E-003
+0.14755857 3.66772048311075167E-003
+0.14809944 3.68452160775996438E-003
+0.14864230 3.70121380616811237E-003
+0.14918714 3.71850812978238203E-003
+0.14973398 3.73546229331523641E-003
+0.15028283 3.75279438795845166E-003
+0.15083369 3.76967835655636456E-003
+0.15138656 3.78773314161126714E-003
+0.15194147 3.80467031251922189E-003
+0.15249841 3.82191756354842383E-003
+0.15305738 3.83930459683421788E-003
+0.15361841 3.85755378190842267E-003
+0.15418150 3.87475310974603202E-003
+0.15474665 3.89204086803660162E-003
+0.15531386 3.91035868666874103E-003
+0.15588316 3.92814935758613228E-003
+0.15645455 3.94648711486064556E-003
+0.15702803 3.96385354746946021E-003
+0.15760361 3.98234637974339764E-003
+0.15818130 4.00060474834676612E-003
+0.15876111 4.01889631541507523E-003
+0.15934305 4.03695865223354343E-003
+0.15992712 4.05528893267722169E-003
+0.16051332 4.07390152638168607E-003
+0.16110168 4.09229336738173820E-003
+0.16169220 4.11110265932240673E-003
+0.16228487 4.13006408668007904E-003
+0.16287972 4.14897711261474553E-003
+0.16347676 4.16802626293411374E-003
+0.16407598 4.18679687808706531E-003
+0.16467739 4.20611975221729054E-003
+0.16528101 4.22523659205414903E-003
+0.16588685 4.24440727301272566E-003
+0.16649490 4.26399604139345544E-003
+0.16710518 4.28320093687088298E-003
+0.16771770 4.30291207331097089E-003
+0.16833247 4.32341201158427477E-003
+0.16894949 4.34215309887099610E-003
+0.16956877 4.36198307684947714E-003
+0.17019032 4.38169145937247501E-003
+0.17081414 4.40139361810811501E-003
+0.17144026 4.42216401776682200E-003
+0.17206867 4.44182163615969468E-003
+0.17269938 4.46212673362853581E-003
+0.17333241 4.48260531623159274E-003
+0.17396775 4.50327298753891003E-003
+0.17460543 4.52380246860586543E-003
+0.17524544 4.54446356071479870E-003
+0.17588779 4.56538364326333160E-003
+0.17653251 4.58593826685276852E-003
+0.17717958 4.60705937727753315E-003
+0.17782903 4.62804078613596268E-003
+0.17848086 4.64852538318162156E-003
+0.17913507 4.66993454145066093E-003
+0.17979169 4.69099742494589328E-003
+0.18045071 4.71243795013357846E-003
+0.18111215 4.73354131743955291E-003
+0.18177601 4.75507435357773022E-003
+0.18244230 4.77667159349857203E-003
+0.18311104 4.79814659803346963E-003
+0.18378223 4.82053513922997470E-003
+0.18445588 4.84243362927916192E-003
+0.18513200 4.86439140942695070E-003
+0.18581059 4.88637846121485562E-003
+0.18649168 4.90827777844963110E-003
+0.18717526 4.93025779430194926E-003
+0.18786134 4.95266424950157290E-003
+0.18854995 4.97494971230830890E-003
+0.18924107 4.99815759997848576E-003
+0.18993473 5.02004547467126919E-003
+0.19063093 5.04272650482663013E-003
+0.19132968 5.06577325175117110E-003
+0.19203100 5.08959254210631425E-003
+0.19273488 5.11136008545475060E-003
+0.19344135 5.13457847652767745E-003
+0.19415040 5.15735748221634715E-003
+0.19486205 5.18011096017495596E-003
+0.19557631 5.20370006478561818E-003
+0.19629319 5.22765957021769419E-003
+0.19701270 5.25081067816611340E-003
+0.19773485 5.27494488890210746E-003
+0.19845964 5.29813969958791309E-003
+0.19918709 5.32210675661369970E-003
+0.19991720 5.34571358975664390E-003
+0.20064999 5.37005738684167688E-003
+0.20138547 5.39431034852987188E-003
+0.20212364 5.41765078731433133E-003
+0.20286452 5.44299932552423649E-003
+0.20360812 5.46685389399079961E-003
+0.20435444 5.49088227349112373E-003
+0.20510349 5.51581241371066049E-003
+0.20585530 5.54058058550156458E-003
+0.20660985 5.56547746886456619E-003
+0.20736718 5.58949608199544971E-003
+0.20812727 5.61462948676239894E-003
+0.20889016 5.63986280431396682E-003
+0.20965584 5.66469472101650742E-003
+0.21042433 5.68970612342621033E-003
+0.21119563 5.71566106116533617E-003
+0.21196977 5.74094111855042409E-003
+0.21274674 5.76629337275782420E-003
+0.21352655 5.79188383712257379E-003
+0.21430923 5.81797627280948148E-003
+0.21509477 5.84311671226716341E-003
+0.21588320 5.86893652276036445E-003
+0.21667451 5.89545063457520922E-003
+0.21746873 5.92133659751585117E-003
+0.21826585 5.94764521067487045E-003
+0.21906590 5.97361170123343610E-003
+0.21986888 5.99989209270444541E-003
+0.22067480 6.02615324113447547E-003
+0.22148368 6.05359276974014923E-003
+0.22229552 6.08050738110574567E-003
+0.22311034 6.10672274892386756E-003
+0.22392815 6.13364133551146974E-003
+0.22474895 6.16050647846435716E-003
+0.22557276 6.18777899641066460E-003
+0.22639959 6.21496715718257171E-003
+0.22722946 6.24293443473469996E-003
+0.22806236 6.26944982519273691E-003
+0.22889832 6.29640689658936010E-003
+0.22973734 6.32472573439090118E-003
+0.23057943 6.35232000517946174E-003
+0.23142462 6.37989136657447775E-003
+0.23227290 6.40850641756951240E-003
+0.23312429 6.43592555431928524E-003
+0.23397880 6.46387716088358405E-003
+0.23483644 6.49264346963798668E-003
+0.23569723 6.52032567871667183E-003
+0.23656117 6.54889067804760670E-003
+0.23742828 6.57745749176810897E-003
+0.23829857 6.60636975003884089E-003
+0.23917204 6.63475510626775414E-003
+0.24004872 6.66351288729841000E-003
+0.24092861 6.69312587125748919E-003
+0.24181173 6.72176686716543462E-003
+0.24269809 6.75044373617210685E-003
+0.24358769 6.77937831025710990E-003
+0.24448055 6.80924101169134034E-003
+0.24537669 6.83875136900641886E-003
+0.24627611 6.86785283959153239E-003
+0.24717883 6.89797477614119935E-003
+0.24808486 6.92772477582958516E-003
+0.24899421 6.95787160078056074E-003
+0.24990689 6.98750452959289239E-003
+0.25082292 7.01800948257945336E-003
+0.25174230 7.04762189171022780E-003
+0.25266506 7.07841066648775066E-003
+0.25359119 7.10831910539557951E-003
+0.25452072 7.13926216710267323E-003
+0.25545366 7.16933550142067992E-003
+0.25639002 7.20014872029814748E-003
+0.25732981 7.23145493753281701E-003
+0.25827305 7.26164337169274855E-003
+0.25921974 7.29294415662408956E-003
+0.26016991 7.32372188033806118E-003
+0.26112355 7.35562613137846072E-003
+0.26208069 7.38684746439171105E-003
+0.26304134 7.41850673735205534E-003
+0.26400551 7.45021436963863755E-003
+0.26497322 7.48121050087319391E-003
+0.26594447 7.51385803283619123E-003
+0.26691928 7.54507983147935900E-003
+0.26789767 7.57794261344045886E-003
+0.26887964 7.61026649854730508E-003
+0.26986521 7.64228329311514732E-003
+0.27085440 7.67415075624800110E-003
+0.27184721 7.70685306404823856E-003
+0.27284366 7.73938824727619760E-003
+0.27384376 7.77251248948467120E-003
+0.27484752 7.80621639287929544E-003
+0.27585497 7.83860599709089619E-003
+0.27686611 7.87128739665210117E-003
+0.27788095 7.90438367626080697E-003
+0.27889952 7.93754568343494997E-003
+0.27992182 7.97098557800794347E-003
+0.28094786 8.00404977266440214E-003
+0.28197767 8.03752514248958806E-003
+0.28301125 8.07165593724113936E-003
+0.28404862 8.10528557576869688E-003
+0.28508980 8.13961219553987342E-003
+0.28613479 8.17247981323614148E-003
+0.28718361 8.20772917722103340E-003
+0.28823627 8.24193655206312444E-003
+0.28929279 8.27608188452743851E-003
+0.29035319 8.31050276057917169E-003
+0.29141747 8.34570823187336455E-003
+0.29248565 8.38017523615978109E-003
+0.29355775 8.41447101971280580E-003
+0.29463378 8.45075223300076166E-003
+0.29571375 8.48537276453482751E-003
+0.29679768 8.52033586479078453E-003
+0.29788559 8.55651296464488703E-003
+0.29897748 8.59118560136018679E-003
+0.30007337 8.62708784695415641E-003
+0.30117328 8.66344924970223647E-003
+0.30227723 8.69906605600046651E-003
+0.30338522 8.73521309294073706E-003
+0.30449727 8.77141109001629109E-003
+0.30561339 8.80751779757295815E-003
+0.30673361 8.84429295473314857E-003
+0.30785793 8.88050249941704957E-003
+0.30898638 8.91618361869668009E-003
+0.31011896 8.95380695877508355E-003
+0.31125569 8.99076835219840380E-003
+0.31239659 9.02839939071065425E-003
+0.31354168 9.06558807303429678E-003
+0.31469095 9.10266286134012691E-003
+0.31584445 9.13892065032292575E-003
+0.31700216 9.17680878553944236E-003
+0.31816413 9.21453335909355568E-003
+0.31933035 9.25263306198772888E-003
+0.32050085 9.29045124173777728E-003
+0.32167563 9.32750833620779249E-003
+0.32285473 9.36545090657966463E-003
+0.32403814 9.40300217442423605E-003
+0.32522590 9.44137002898275124E-003
+0.32641800 9.48024755474924895E-003
+0.32761448 9.51869482024491308E-003
+0.32881534 9.55746484125851933E-003
+0.33002061 9.59648653516267588E-003
+0.33123029 9.63614795285368426E-003
+0.33244441 9.67401788185332824E-003
+0.33366297 9.71350610005306155E-003
+0.33488600 9.75266373771606181E-003
+0.33611352 9.79137932221727479E-003
+0.33734554 9.83175095895626704E-003
+0.33858207 9.87103799096198352E-003
+0.33982313 9.91179649857432642E-003
+0.34106874 9.95131928490432943E-003
+0.34231892 9.99067010626428741E-003
+0.34357368 1.00312671400401236E-002
+0.34483304 1.00706786028815498E-002
+0.34609702 1.01111015312432394E-002
+0.34736563 1.01520900800426105E-002
+0.34863889 1.01915089510222941E-002
+0.34991682 1.02324164562879738E-002
+0.35119943 1.02722079890193562E-002
+0.35248674 1.03146464101092593E-002
+0.35377877 1.03556996359494315E-002
+0.35507554 1.03964774664219994E-002
+0.35637706 1.04373124623011043E-002
+0.35768335 1.04800202041548818E-002
+0.35899443 1.05218484036650652E-002
+0.36031031 1.05634054804638559E-002
+0.36163102 1.06043964665148635E-002
+0.36295657 1.06467025607290509E-002
+0.36428698 1.06906966374054006E-002
+0.36562226 1.07311306612813441E-002
+0.36696244 1.07732686564308896E-002
+0.36830753 1.08160062993512603E-002
+0.36965755 1.08583690181012060E-002
+0.37101252 1.09016697037554334E-002
+0.37237246 1.09445808392932935E-002
+0.37373738 1.09871048793264009E-002
+0.37510730 1.10302157903720520E-002
+0.37648225 1.10734900999642331E-002
+0.37786224 1.11171057927232295E-002
+0.37924728 1.11608305361280951E-002
+0.38063740 1.12050795010337784E-002
+0.38203262 1.12487164101758835E-002
+0.38343295 1.12928440615338924E-002
+0.38483841 1.13372086884440688E-002
+0.38624903 1.13807187500415945E-002
+0.38766481 1.14256593943350762E-002
+0.38908579 1.14702862360739396E-002
+0.39051197 1.15149687389975806E-002
+0.39194338 1.15582617722980070E-002
+0.39338004 1.16031749896873780E-002
+0.39482196 1.16490515340317274E-002
+0.39626917 1.16945002911189554E-002
+0.39772169 1.17388084672278136E-002
+0.39917953 1.17854013698066324E-002
+0.40064271 1.18299129961620293E-002
+0.40211125 1.18767372217166763E-002
+0.40358518 1.19210224556077788E-002
+0.40506451 1.19671072369976986E-002
+0.40654927 1.20129709271454433E-002
+0.40803946 1.20601268670340756E-002
+0.40953512 1.21061292469018533E-002
+0.41103626 1.21536073716184290E-002
+0.41254290 1.21990059420308550E-002
+0.41405507 1.22460329926470622E-002
+0.41557278 1.22939690423790049E-002
+0.41709605 1.23416121076546769E-002
+0.41862490 1.23890210238798912E-002
+0.42015936 1.24353225443531896E-002
+0.42169944 1.24833045852069460E-002
+0.42324517 1.25305998151452117E-002
+0.42479657 1.25780955507094529E-002
+0.42635365 1.26261059931836190E-002
+0.42791644 1.26755070190956373E-002
+0.42948495 1.27225530936505918E-002
+0.43105922 1.27702373406547338E-002
+0.43263925 1.28182224536623427E-002
+0.43422508 1.28662929734606763E-002
+0.43581672 1.29160342952496527E-002
+0.43741420 1.29647855956844544E-002
+0.43901753 1.30175880248846118E-002
+0.44062673 1.30637204853155785E-002
+0.44224184 1.31125067842794724E-002
+0.44386287 1.31609560043282284E-002
+0.44548983 1.32104712877972909E-002
+0.44712277 1.32601801008350451E-002
+0.44876168 1.33102596798335207E-002
+0.45040661 1.33589662162813087E-002
+0.45205756 1.34104563946916035E-002
+0.45371457 1.34596660766800186E-002
+0.45537764 1.35109794865027055E-002
+0.45704682 1.35610683438877871E-002
+0.45872211 1.36116283157474219E-002
+0.46040355 1.36623758467729704E-002
+0.46209114 1.37130715596222273E-002
+0.46378493 1.37631477188533240E-002
+0.46548492 1.38158783365121222E-002
+0.46719114 1.38660282226176559E-002
+0.46890362 1.39176485150020804E-002
+0.47062237 1.39698603100291315E-002
+0.47234742 1.40210855831498053E-002
+0.47407880 1.40736237231823529E-002
+0.47581653 1.41259619867163573E-002
+0.47756062 1.41772667799735155E-002
+0.47931110 1.42307038087082730E-002
+0.48106801 1.42843475356255415E-002
+0.48283135 1.43365608068681972E-002
+0.48460115 1.43884258483696088E-002
+0.48637745 1.44419074737119710E-002
+0.48816025 1.44957410934779506E-002
+0.48994959 1.45496096900131211E-002
+0.49174549 1.46022376973342447E-002
+0.49354797 1.46556421567912935E-002
+0.49535705 1.47093948861937891E-002
+0.49717277 1.47627078608993760E-002
+0.49899515 1.48169291243104764E-002
+0.50082420 1.48715444722510026E-002
+0.50265996 1.49266460894259319E-002
+0.50450244 1.49800591331056086E-002
+0.50635169 1.50359724415012781E-002
+0.50820770 1.50896771806665157E-002
+0.51007053 1.51449708093484917E-002
+0.51194018 1.52005189602642202E-002
+0.51381668 1.52538513619541165E-002
+0.51570006 1.53095441736835307E-002
+0.51759035 1.53671661488085868E-002
+0.51948756 1.54221059374154042E-002
+0.52139173 1.54782117205921263E-002
+0.52330288 1.55347434908580731E-002
+0.52522103 1.55894240668661352E-002
+0.52714621 1.56460368643371664E-002
+0.52907845 1.57029219681265805E-002
+0.53101778 1.57603464447493742E-002
+0.53296421 1.58178122103493773E-002
+0.53491777 1.58732604640527651E-002
+0.53687850 1.59317623369410535E-002
+0.53884642 1.59882407019686021E-002
+0.54082154 1.60459028026615387E-002
+0.54280391 1.61041233156833455E-002
+0.54479354 1.61635257618186895E-002
+0.54679047 1.62178248358446561E-002
+0.54879472 1.62777404409208612E-002
+0.55080631 1.63356967433657026E-002
+0.55282528 1.63939481971875425E-002
+0.55485164 1.64514100652391644E-002
+0.55688544 1.65105703121139445E-002
+0.55892668 1.65687652003926045E-002
+0.56097542 1.66260701529952065E-002
+0.56303166 1.66862331216503824E-002
+0.56509543 1.67463881037693517E-002
+0.56716678 1.68033323522855417E-002
+0.56924571 1.68628689646867225E-002
+0.57133227 1.69225963342326639E-002
+0.57342647 1.69834354523126681E-002
+0.57552835 1.70427356561517890E-002
+0.57763793 1.71010657557179417E-002
+0.57975525 1.71621121376437473E-002
+0.58188033 1.72234068603430504E-002
+0.58401320 1.72825801999077003E-002
+0.58615388 1.73435083169330186E-002
+0.58830241 1.74059761806209384E-002
+0.59045882 1.74649553956809193E-002
+0.59262313 1.75276894761036799E-002
+0.59479538 1.75893862338560372E-002
+0.59697558 1.76491616505429182E-002
+0.59916378 1.77108928174685987E-002
+0.60136000 1.77722281087125192E-002
+0.60356427 1.78353841915138908E-002
+0.60577662 1.78976641884697162E-002
+0.60799708 1.79609278081126374E-002
+0.61022567 1.80235293758175506E-002
+0.61246244 1.80855907253986287E-002
+0.61470740 1.81469472684937620E-002
+0.61696060 1.82107160705927140E-002
+0.61922205 1.82729739439245267E-002
+0.62149179 1.83360218339701092E-002
+0.62376986 1.83978260022736526E-002
+0.62605627 1.84624918999822737E-002
+0.62835106 1.85270858995036265E-002
+0.63065426 1.85908315850783490E-002
+0.63296591 1.86539316335947968E-002
+0.63528603 1.87172623679760751E-002
+0.63761466 1.87824766001208621E-002
+0.63995182 1.88459158562959868E-002
+0.64229754 1.89109910237998183E-002
+0.64465187 1.89760463037219503E-002
+0.64701482 1.90408146068029721E-002
+0.64938644 1.91080238796464651E-002
+0.65176675 1.91731871661289140E-002
+0.65415578 1.92385844213104791E-002
+0.65655357 1.93038018538064585E-002
+0.65896015 1.93688742965655060E-002
+0.66137555 1.94349659120635586E-002
+0.66379981 1.95017889038273766E-002
+0.66623295 1.95670695843439893E-002
+0.66867501 1.96332925688196581E-002
+0.67112602 1.97005575430958396E-002
+0.67358601 1.97670925056836165E-002
+0.67605502 1.98331490742489867E-002
+0.67853309 1.98991178530840834E-002
+0.68102023 1.99660519194798797E-002
+0.68351649 2.00335906579017821E-002
+0.68602191 2.00996124805914618E-002
+0.68853650 2.01667371415688718E-002
+0.69106031 2.02354215230055347E-002
+0.69359338 2.03035501023636107E-002
+0.69613572 2.03717781731208893E-002
+0.69868739 2.04379147144278552E-002
+0.70124841 2.05048584494631377E-002
+0.70381882 2.05735616008339041E-002
+0.70639865 2.06439707796933700E-002
+0.70898794 2.07139274906397615E-002
+0.71158671 2.07818748925699577E-002
+0.71419501 2.08514698551814058E-002
+0.71681288 2.09200423902653268E-002
+0.71944034 2.09888257916553168E-002
+0.72207743 2.10592930906267663E-002
+0.72472418 2.11286233460712715E-002
+0.72738064 2.12000486561613397E-002
+0.73004683 2.12670531607837866E-002
+0.73272280 2.13389715674716374E-002
+0.73540858 2.14095567920928910E-002
+0.73810420 2.14792763584717890E-002
+0.74080970 2.15516913162918378E-002
+0.74352512 2.16219514772690857E-002
+0.74625049 2.16910600162378911E-002
+0.74898585 2.17645712599397606E-002
+0.75173124 2.18364000614281462E-002
+0.75448669 2.19067564341155450E-002
+0.75725224 2.19787800236950388E-002
+0.76002793 2.20522538432966382E-002
+0.76281379 2.21220460402514404E-002
+0.76560987 2.21959842867165760E-002
+0.76841619 2.22655348874776851E-002
+0.77123280 2.23383510601211886E-002
+0.77405973 2.24104444099577256E-002
+0.77689703 2.24860222124305884E-002
+0.77974472 2.25593592716187112E-002
+0.78260286 2.26327945341413053E-002
+0.78547147 2.27033364542337385E-002
+0.78835059 2.27768699432917519E-002
+0.79124027 2.28552679292776603E-002
+0.79414054 2.29251442471923930E-002
+0.79705144 2.29988164395051251E-002
+0.79997301 2.30726465319125371E-002
+0.80290529 2.31477405271049187E-002
+0.80584832 2.32222750100716351E-002
+0.80880214 2.32974864066705679E-002
+0.81176678 2.33712265749409578E-002
+0.81474229 2.34471049609500000E-002
+0.81772871 2.35207583171798545E-002
+0.82072607 2.35969765314662551E-002
+0.82373442 2.36716231628921123E-002
+0.82675380 2.37462711467055707E-002
+0.82978424 2.38227458450059361E-002
+0.83282580 2.38987191074090284E-002
+0.83587850 2.39725120431612121E-002
+0.83894239 2.40531993148870409E-002
+0.84201751 2.41295761539649829E-002
+0.84510390 2.42045841914439383E-002
+0.84820161 2.42802783578555566E-002
+0.85131067 2.43600415681515803E-002
+0.85443113 2.44364798847383005E-002
+0.85756302 2.45147548160221940E-002
+0.86070640 2.45904813916684485E-002
+0.86386129 2.46691773263088138E-002
+0.86702775 2.47470945252092622E-002
+0.87020582 2.48258886778977526E-002
+0.87339554 2.49012626825099205E-002
+0.87659695 2.49789359718090090E-002
+0.87981009 2.50581581536380923E-002
+0.88303501 2.51382616729395846E-002
+0.88627175 2.52143713211487493E-002
+0.88952036 2.52936191045429123E-002
+0.89278087 2.53724077889776641E-002
+0.89605334 2.54518096461607314E-002
+0.89933780 2.55302166485655430E-002
+0.90263429 2.56087943699926414E-002
+0.90594288 2.56881400978762504E-002
+0.90926359 2.57672687040909031E-002
+0.91259647 2.58481511129961539E-002
+0.91594157 2.59258624995462421E-002
+0.91929893 2.60074578562742055E-002
+0.92266859 2.60852899164120272E-002
+0.92605061 2.61671448226382906E-002
+0.92944502 2.62468090687178260E-002
+0.93285188 2.63282868452288030E-002
+0.93627122 2.64088614851681787E-002
+0.93970310 2.64922589451395234E-002
+0.94314756 2.65697900207781147E-002
+0.94660464 2.66526661824889564E-002
+0.95007440 2.67358632623886303E-002
+0.95355687 2.68188292859996048E-002
+0.95705211 2.68999857576114471E-002
+0.96056016 2.69795311317155527E-002
+0.96408106 2.70644754427166005E-002
+0.96761488 2.71448496390630060E-002
+0.97116165 2.72263700613183043E-002
+0.97472141 2.73120746984572976E-002
+0.97829423 2.73921754010575599E-002
+0.98188014 2.74745554286733584E-002
+0.98547920 2.75590326695750003E-002
+0.98909144 2.76425724515212828E-002
+0.99271693 2.77225659275873067E-002
+0.99635571 2.78082541006505618E-002
+1.00000783 2.78905944859611857E-002
+1.00367333 2.79773539008226248E-002
+1.00735227 2.80612143881267817E-002
+1.01104469 2.81436605903274371E-002
+1.01475065 2.82285922707183369E-002
+1.01847019 2.83110698016482698E-002
+1.02220337 2.84002445176457959E-002
+1.02595023 2.84847097731433033E-002
+1.02971082 2.85712868060949282E-002
+1.03348520 2.86544014401901789E-002
+1.03727341 2.87388177043159873E-002
+1.04107551 2.88226094710394010E-002
+1.04489154 2.89104066614369257E-002
+1.04872157 2.89965858166447502E-002
+1.05256563 2.90819303606429762E-002
+1.05642378 2.91664443626576328E-002
+1.06029607 2.92543203612424287E-002
+1.06418256 2.93427964063952967E-002
+1.06808329 2.94283907250153104E-002
+1.07199833 2.95141904435767509E-002
+1.07592771 2.95994817975062247E-002
+1.07987149 2.96851014741045700E-002
+1.08382973 2.97748884597487107E-002
+1.08780248 2.98653857359745256E-002
+1.09178979 2.99507395405675739E-002
+1.09579172 3.00371534132770242E-002
+1.09980832 3.01273180986855113E-002
+1.10383964 3.02149268708330164E-002
+1.10788573 3.03005102204377159E-002
+1.11194666 3.03907383460903825E-002
+1.11602247 3.04760412804266426E-002
+1.12011322 3.05676724180797728E-002
+1.12421896 3.06557816508292238E-002
+1.12833976 3.07419390986109348E-002
+1.13247566 3.08339067121043801E-002
+1.13662672 3.09219092049606500E-002
+1.14079299 3.10140556381843305E-002
+1.14497454 3.11032007338690707E-002
+1.14917142 3.11918697090468496E-002
+1.15338367 3.12850298940807806E-002
+1.15761137 3.13729192136123144E-002
+1.16185457 3.14608828133771876E-002
+1.16611331 3.15546338191936976E-002
+1.17038767 3.16446781218934353E-002
+1.17467770 3.17353816666130356E-002
+1.17898345 3.18263527002794477E-002
+1.18330498 3.19144528281379777E-002
+1.18764235 3.20064637589574513E-002
+1.19199562 3.20978234922399755E-002
+1.19636485 3.21925337307593512E-002
+1.20075010 3.22829885311280637E-002
+1.20515141 3.23769930443095627E-002
+1.20956887 3.24643735629415731E-002
+1.21400251 3.25581490928288225E-002
+1.21845240 3.26517228817497854E-002
+1.22291861 3.27434485858809285E-002
+1.22740118 3.28359761155937596E-002
+1.23190019 3.29288509738893953E-002
+1.23641569 3.30214585086592988E-002
+1.24094774 3.31131629616919151E-002
+1.24549640 3.32057808509658228E-002
+1.25006173 3.33025814091161484E-002
+1.25464380 3.33920326289745689E-002
+1.25924267 3.34866337855454291E-002
+1.26385839 3.35863170293184340E-002
+1.26849103 3.36758152811250100E-002
+1.27314065 3.37732465058143208E-002
+1.27780731 3.38681176770406836E-002
+1.28249108 3.39571015090146394E-002
+1.28719202 3.40536335813159258E-002
+1.29191019 3.41509874495137047E-002
+1.29664565 3.42459528613393849E-002
+1.30139847 3.43407399905838115E-002
+1.30616871 3.44369203245194627E-002
+1.31095644 3.45339052427713761E-002
+1.31576172 3.46304284501049095E-002
+1.32058461 3.47239860030213662E-002
+1.32542517 3.48252506004715703E-002
+1.33028349 3.49159689921413191E-002
+1.33515960 3.50149867066818152E-002
+1.34005360 3.51088388728827278E-002
+1.34496553 3.52056656497731352E-002
+1.34989546 3.53029350776155534E-002
+1.35484347 3.54008997840470976E-002
+1.35980961 3.54960231452455255E-002
+1.36479396 3.55980044772859980E-002
+1.36979658 3.56952673478692084E-002
+1.37481753 3.57910059527944274E-002
+1.37985689 3.58900000879194964E-002
+1.38491472 3.59878434776500430E-002
+1.38999109 3.60861390433822732E-002
+1.39508606 3.61844554431478213E-002
+1.40019971 3.62820134877948133E-002
+1.40533211 3.63807111921034959E-002
+1.41048332 3.64791821090821658E-002
+1.41565341 3.65786760502448960E-002
+1.42084245 3.66800722793787989E-002
+1.42605051 3.67774782460374358E-002
+1.43127766 3.68745918192544472E-002
+1.43652397 3.69805179783451732E-002
+1.44178951 3.70761085832258253E-002
+1.44707435 3.71830734733595014E-002
+1.45237856 3.72788381559871762E-002
+1.45770222 3.73755653691591611E-002
+1.46304539 3.74820125353992895E-002
+1.46840814 3.75823580032965468E-002
+1.47379056 3.76820935507937924E-002
+1.47919270 3.77817994540627991E-002
+1.48461464 3.78862013802578890E-002
+1.49005645 3.79834154845796468E-002
+1.49551822 3.80837615970814961E-002
+1.50100000 3.81870392041739545E-002
diff --git a/HEN_HOUSE/user_codes/egs_kerma/example_40keV_SDD_1m_FD.egsinp b/HEN_HOUSE/user_codes/egs_kerma/example_40keV_SDD_1m_FD.egsinp
new file mode 100644
index 000000000..1d98ec738
--- /dev/null
+++ b/HEN_HOUSE/user_codes/egs_kerma/example_40keV_SDD_1m_FD.egsinp
@@ -0,0 +1,240 @@
+
+###############################################################################
+#
+# EGSnrc egs++ egs_kerma application sample input file
+# Copyright (C) 2016 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: Ernesto Mainegra-Hing, 2016
+#
+# Contributors:
+#
+###############################################################################
+#
+# A simple example input file for the egs_kerma C++ application.
+#
+# Simulates a 40 keV isotropic photon source in a room with concrete walls.
+# Kerma and fluence inside a 5 cm radius air sphere are calculated using a
+# forced-detection (FD) technique and a track-length estimator. The air sphere
+# is in the centre of the room and the source is 1 m from the sphere.
+#
+# NOTE 1: Material data is generated in pegsless mode. If source energy
+# changed, make sure to adjust energy cut-offs (ae, ue, ap, up) below.
+#
+# NOTE 2: Two geometries are used here for illustration purposes. Most likely
+# only one geometry is needed for kerma and fluence calculations.
+#
+###############################################################################
+
+
+###############################################################################
+### Geometry
+###############################################################################
+:start geometry definition:
+
+ ### air cavity, spherical, 5 cm radius
+ :start geometry:
+ name = cavity
+ library = egs_spheres
+ midpoint = 0 0 0
+ radii = 5.0
+ :start media input:
+ media = air
+ :stop media input:
+ :stop geometry:
+
+ ### air box (8 m x 8 m x 8 m)
+ :start geometry:
+ name = air
+ library = egs_box
+ box size = 800
+ :start media input:
+ media = air
+ :stop media input:
+ :stop geometry:
+
+ ### room with 1 m thick concrete walls
+ :start geometry:
+ name = walls
+ library = egs_box
+ box size = 900
+ :start media input:
+ media = concrete
+ :stop media input:
+ :stop geometry:
+
+ ### room with concrete walls
+ :start geometry:
+ name = room
+ library = egs_genvelope
+ base geometry = walls
+ inscribed geometries = air
+ :stop geometry:
+
+ ###########################################################################
+ #
+ # The two geometries below are identical
+ #
+ # The purpose is to account for wall contributions to the air sphere. The
+ # first geometry does NOT include contributions from the wall during the
+ # calculation, while the second one does. See the 'scoring options' block
+ # for more detail.
+ #
+ # There are several ways of accomplishing this. One could just have used
+ # the same geometry for both calculations, with and without the sensitive
+ # regions, or have one geometry with and another without the walls.
+ #
+ ###########################################################################
+
+ ### air sphere in room with concrete walls (wall contribution NOT included)
+ :start geometry:
+ name = cavity_in_room_no_wall
+ library = egs_genvelope
+ base geometry = room
+ inscribed geometries = cavity
+ :stop geometry:
+
+ ### air sphere in room with concrete walls (wall contribution included)
+ :start geometry:
+ name = cavity_in_room_all
+ library = egs_genvelope
+ base geometry = room
+ inscribed geometries = cavity
+ :stop geometry:
+
+ ### simulation geometry
+ simulation geometry = cavity_in_room_no_wall
+
+:stop geometry definition:
+
+
+###############################################################################
+### Media
+###############################################################################
+:start media definition:
+
+ ### energy cutoffs
+ ae = 0.512
+ ue = 0.555
+ ap = 0.001
+ up = 0.045
+
+ ### air
+ :start air:
+ density correction file = air_dry_nearsealevel
+ :stop air:
+
+ ### concrete
+ :start concrete:
+ density correction file = concrete_ordinary
+ :stop concrete:
+
+:stop media definition:
+
+
+###############################################################################
+### Source
+###############################################################################
+:start source definition:
+
+ ### isotropic
+ :start source:
+ name = isotropic
+ library = egs_isotropic_source
+ charge = 0
+
+ ### source shape
+ :start shape:
+ type = point
+ position = 0, 0, -100
+ :stop shape:
+
+ ### source spectrum
+ :start spectrum:
+ type = monoenergetic
+ energy = 0.04 # MeV
+ :stop spectrum:
+
+ :stop source:
+
+ ### simulation source
+ simulation source = isotropic
+
+:stop source definition:
+
+
+###############################################################################
+### Scoring options
+###############################################################################
+:start scoring options:
+
+ ### use the same geometry under two different names, for easier bookeeping
+ :start calculation geometry:
+ geometry name = cavity_in_room_no_wall
+ cavity regions = 2
+ excluded regions = 0 # exclude particles passing through these regions
+ cavity mass = 0.630831804841 # 5 cm radius air sphere
+ :stop calculation geometry:
+
+ :start calculation geometry:
+ geometry name = cavity_in_room_all
+ cavity regions = 2
+ #excluded regions = 0 # exclude particles passing through these regions
+ cavity mass = 0.630831804841 # 5 cm radius air sphere
+ :stop calculation geometry:
+
+ ### ratio estimates wall contribution to air sphere
+ correlated geometries = cavity_in_room_all cavity_in_room_no_wall
+
+ ### fluence scoring requested (common to all calculation geometries)
+ :start fluence scoring:
+ minimum energy = 0.0
+ maximum energy = 0.040
+ number of bins = 400
+ scale = linear
+ :stop fluence scoring:
+
+ ### E*muen file (could also be E*mutr): absolute or relative file path
+ emuen file = emuen_icru90_1.5MeV.data
+
+ ### geometry for forced-detection (if omitted, an analog scoring is used)
+ cavity geometry = cavity
+
+:stop scoring options:
+
+
+###############################################################################
+### Transport parameters
+###############################################################################
+:start MC transport parameter:
+
+ ### you can include here any of the EGSnrc transport parameters
+
+ Global ECUT = 2000. # Turn-off electron transport
+ Photon cross sections = mcdf-xcom # XCOM with renormalized PE xsections
+
+:stop MC transport parameter:
+
+
+###############################################################################
+### Run control
+###############################################################################
+:start run control:
+ ncase = 1000000
+:stop run control: