Remove vacancy limit for EADL relaxations
Remove vacancy limit for EADL relaxations

Remove statements in routine egs_init_relax to allow all shells with
binding energy above 1 keV available in the Evaluated Atomic Data
Library (EADL). Also remove some commented out portions of the code.

Up to now, the default relaxation implementation in EGSnrc allowed
vacancies from atomic shells K and L1-L3, as well as <M> and <N> shells
in an averaged way. Also, different interactions consider different sets
of shells:

EGSnrc shell types:
-------------------
Compton interaction (shn_array)  1..7: K, L1, L2, L3, <M>, <N>, rest
Photoelectric effect             1..5: K, L1, L2, L3, <M>
Electron impact ionization       1..4: K, L1, L2, L3

However, the EADL relaxation implementation can actually accept more
shell types, up to what is available in the library (27 shells for
atomic number Z=99). But EGSnrc was forcing M1 and N1 shells instead of
<M> and <N>, and using O1 as the outermost shell, via the following
statements in egs_init_relax:

IF (shell_num(ish)<=7) shell_eadl(iZ,shell_num(ish)) = ish;
...
shell_eadl(iZ,6) = shell_ntot + 10; "reseting to type 16 (N1)"
shell_eadl(iZ,7) = shell_ntot + 17; "reseting to type 27 (O1)"

Since EGSnrc shell types can range from 1 to 7, vacancies can
potentially be created in M1, N1, or O1 shells if energetically
possible.

PROBLEM: This approach ignores that M2 and M3 vacancies can in fact be
favored energetically! For instance for Z=74, M1 and M2 vacancies with
binding energies 2.8 keV and 2.6 keV respectively could generate
characteristic x-ray lines above 1 keV.

SOLUTION: Remove the aforementioned statements in egs_init_relax,
allowing all shells with binding energy above 1 keV.

OUTCOME: Invoking relax using shells 5, 6, or 7 will create vacancies in
the M1, M2, and M3 shells. This is not entirely correct for the
photoelectric effect, where the sampling is done for <M> only, nor for
Compton since shell number 5 will then correspond to shells M1 to M5,
and shell number 6 to shells N1 to N7. For Compton this can be corrected
by using shell_array instead of shn_array in the call to relax.

nrc-cnrc/EGSnrc,mchamberland/EGSnrc,MartinMartinov/EGSnrc,marenaud/EGSnrc,ftessier/EGSnrc,marenaud/EGSnrc,mchamberland/EGSnrc,nrc-cnrc/EGSnrc,ftessier/EGSnrc,marenaud/EGSnrc,marenaud/EGSnrc,mchamberland/EGSnrc,ftessier/EGSnrc,MartinMartinov/EGSnrc,nrc-cnrc/EGSnrc,crcrewso/EGSnrc,MartinMartinov/EGSnrc,mchamberland/EGSnrc,mchamberland/EGSnrc,nrc-cnrc/EGSnrc,MartinMartinov/EGSnrc,marenaud/EGSnrc,ftessier/EGSnrc,crcrewso/EGSnrc,crcrewso/EGSnrc,crcrewso/EGSnrc,marenaud/EGSnrc,mchamberland/EGSnrc,nrc-cnrc/EGSnrc,MartinMartinov/EGSnrc,crcrewso/EGSnrc,ftessier/EGSnrc,ftessier/EGSnrc