#Copyright (c) 2014-2021 Tom Schoonjans
#All rights reserved.

#Redistribution and use in source and binary forms, with or without
#modification, are permitted provided that the following conditions are met:
#    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
#    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
#    * The names of the contributors may not be used to endorse or promote products derived from this software without specific prior written permission.

#THIS SOFTWARE IS PROVIDED BY Tom Schoonjans ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Tom Schoonjans BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

cimport xraylib_np_c as xrl
import numpy as np
cimport numpy as cnp
from cython.parallel import prange
from libc.stdint cimport int64_t

cnp.import_array()

__version__ = xrl.__version__.decode("utf-8")

XRAYLIB_MAJOR = xrl.XRAYLIB_MAJOR
XRAYLIB_MINOR = xrl.XRAYLIB_MINOR
AVOGNUM = xrl.AVOGNUM
KEV2ANGST = xrl.KEV2ANGST
MEC2 = xrl.MEC2
RE2 = xrl.RE2
R_E = xrl.R_E
KA_LINE = xrl.KA_LINE
KB_LINE = xrl.KB_LINE
LA_LINE = xrl.LA_LINE
LB_LINE = xrl.LB_LINE
KA1_LINE = xrl.KA1_LINE
KA2_LINE = xrl.KA2_LINE
KB1_LINE = xrl.KB1_LINE
KB2_LINE = xrl.KB2_LINE
KB3_LINE = xrl.KB3_LINE
KB4_LINE = xrl.KB4_LINE
KB5_LINE = xrl.KB5_LINE
LA1_LINE = xrl.LA1_LINE
LA2_LINE = xrl.LA2_LINE
LB1_LINE = xrl.LB1_LINE
LB2_LINE = xrl.LB2_LINE
LB3_LINE = xrl.LB3_LINE
LB4_LINE = xrl.LB4_LINE
LB5_LINE = xrl.LB5_LINE
LB6_LINE = xrl.LB6_LINE
LB7_LINE = xrl.LB7_LINE
LB9_LINE = xrl.LB9_LINE
LB10_LINE = xrl.LB10_LINE
LB15_LINE = xrl.LB15_LINE
LB17_LINE = xrl.LB17_LINE
LG1_LINE = xrl.LG1_LINE
LG2_LINE = xrl.LG2_LINE
LG3_LINE = xrl.LG3_LINE
LG4_LINE = xrl.LG4_LINE
LG5_LINE = xrl.LG5_LINE
LG6_LINE = xrl.LG6_LINE
LG8_LINE = xrl.LG8_LINE
LE_LINE = xrl.LE_LINE
LL_LINE = xrl.LL_LINE
LS_LINE = xrl.LS_LINE
LT_LINE = xrl.LT_LINE
LU_LINE = xrl.LU_LINE
LV_LINE = xrl.LV_LINE
MA1_LINE = xrl.MA1_LINE
MA2_LINE = xrl.MA2_LINE
MB_LINE = xrl.MB_LINE
MG_LINE = xrl.MG_LINE
FL12_TRANS = xrl.FL12_TRANS
FL13_TRANS = xrl.FL13_TRANS
FLP13_TRANS = xrl.FLP13_TRANS
FL23_TRANS = xrl.FL23_TRANS
FM12_TRANS = xrl.FM12_TRANS
FM13_TRANS = xrl.FM13_TRANS
FM14_TRANS = xrl.FM14_TRANS
FM15_TRANS = xrl.FM15_TRANS
FM23_TRANS = xrl.FM23_TRANS
FM24_TRANS = xrl.FM24_TRANS
FM25_TRANS = xrl.FM25_TRANS
FM34_TRANS = xrl.FM34_TRANS
FM35_TRANS = xrl.FM35_TRANS
FM45_TRANS = xrl.FM45_TRANS
K_L1L1_AUGER = xrl.K_L1L1_AUGER
K_L1L2_AUGER = xrl.K_L1L2_AUGER
K_L1L3_AUGER = xrl.K_L1L3_AUGER
K_L1M1_AUGER = xrl.K_L1M1_AUGER
K_L1M2_AUGER    = xrl.K_L1M2_AUGER   
K_L1M3_AUGER    = xrl.K_L1M3_AUGER   
K_L1M4_AUGER    = xrl.K_L1M4_AUGER   
K_L1M5_AUGER    = xrl.K_L1M5_AUGER   
K_L1N1_AUGER    = xrl.K_L1N1_AUGER   
K_L1N2_AUGER    = xrl.K_L1N2_AUGER   
K_L1N3_AUGER   = xrl.K_L1N3_AUGER  
K_L1N4_AUGER   = xrl.K_L1N4_AUGER  
K_L1N5_AUGER   = xrl.K_L1N5_AUGER  
K_L1N6_AUGER   = xrl.K_L1N6_AUGER  
K_L1N7_AUGER   = xrl.K_L1N7_AUGER  
K_L1O1_AUGER   = xrl.K_L1O1_AUGER  
K_L1O2_AUGER   = xrl.K_L1O2_AUGER  
K_L1O3_AUGER   = xrl.K_L1O3_AUGER  
K_L1O4_AUGER   = xrl.K_L1O4_AUGER  
K_L1O5_AUGER   = xrl.K_L1O5_AUGER  
K_L1O6_AUGER   = xrl.K_L1O6_AUGER  
K_L1O7_AUGER   = xrl.K_L1O7_AUGER  
K_L1P1_AUGER   = xrl.K_L1P1_AUGER  
K_L1P2_AUGER   = xrl.K_L1P2_AUGER  
K_L1P3_AUGER   = xrl.K_L1P3_AUGER  
K_L1P4_AUGER   = xrl.K_L1P4_AUGER  
K_L1P5_AUGER   = xrl.K_L1P5_AUGER  
K_L1Q1_AUGER   = xrl.K_L1Q1_AUGER  
K_L1Q2_AUGER   = xrl.K_L1Q2_AUGER  
K_L1Q3_AUGER   = xrl.K_L1Q3_AUGER  
K_L2L1_AUGER   = xrl.K_L2L1_AUGER  
K_L2L2_AUGER   = xrl.K_L2L2_AUGER  
K_L2L3_AUGER   = xrl.K_L2L3_AUGER  
K_L2M1_AUGER   = xrl.K_L2M1_AUGER  
K_L2M2_AUGER   = xrl.K_L2M2_AUGER  
K_L2M3_AUGER   = xrl.K_L2M3_AUGER  
K_L2M4_AUGER   = xrl.K_L2M4_AUGER  
K_L2M5_AUGER   = xrl.K_L2M5_AUGER  
K_L2N1_AUGER   = xrl.K_L2N1_AUGER  
K_L2N2_AUGER   = xrl.K_L2N2_AUGER  
K_L2N3_AUGER   = xrl.K_L2N3_AUGER  
K_L2N4_AUGER   = xrl.K_L2N4_AUGER  
K_L2N5_AUGER   = xrl.K_L2N5_AUGER  
K_L2N6_AUGER   = xrl.K_L2N6_AUGER  
K_L2N7_AUGER   = xrl.K_L2N7_AUGER  
K_L2O1_AUGER   = xrl.K_L2O1_AUGER  
K_L2O2_AUGER   = xrl.K_L2O2_AUGER  
K_L2O3_AUGER   = xrl.K_L2O3_AUGER  
K_L2O4_AUGER   = xrl.K_L2O4_AUGER  
K_L2O5_AUGER   = xrl.K_L2O5_AUGER  
K_L2O6_AUGER   = xrl.K_L2O6_AUGER  
K_L2O7_AUGER   = xrl.K_L2O7_AUGER  
K_L2P1_AUGER   = xrl.K_L2P1_AUGER  
K_L2P2_AUGER   = xrl.K_L2P2_AUGER  
K_L2P3_AUGER   = xrl.K_L2P3_AUGER  
K_L2P4_AUGER   = xrl.K_L2P4_AUGER  
K_L2P5_AUGER   = xrl.K_L2P5_AUGER  
K_L2Q1_AUGER   = xrl.K_L2Q1_AUGER  
K_L2Q2_AUGER   = xrl.K_L2Q2_AUGER  
K_L2Q3_AUGER   = xrl.K_L2Q3_AUGER  
K_L3L1_AUGER   = xrl.K_L3L1_AUGER  
K_L3L2_AUGER   = xrl.K_L3L2_AUGER  
K_L3L3_AUGER   = xrl.K_L3L3_AUGER  
K_L3M1_AUGER   = xrl.K_L3M1_AUGER  
K_L3M2_AUGER   = xrl.K_L3M2_AUGER  
K_L3M3_AUGER   = xrl.K_L3M3_AUGER  
K_L3M4_AUGER   = xrl.K_L3M4_AUGER  
K_L3M5_AUGER   = xrl.K_L3M5_AUGER  
K_L3N1_AUGER   = xrl.K_L3N1_AUGER  
K_L3N2_AUGER   = xrl.K_L3N2_AUGER  
K_L3N3_AUGER   = xrl.K_L3N3_AUGER  
K_L3N4_AUGER   = xrl.K_L3N4_AUGER  
K_L3N5_AUGER   = xrl.K_L3N5_AUGER  
K_L3N6_AUGER   = xrl.K_L3N6_AUGER  
K_L3N7_AUGER   = xrl.K_L3N7_AUGER  
K_L3O1_AUGER   = xrl.K_L3O1_AUGER  
K_L3O2_AUGER   = xrl.K_L3O2_AUGER  
K_L3O3_AUGER   = xrl.K_L3O3_AUGER  
K_L3O4_AUGER   = xrl.K_L3O4_AUGER  
K_L3O5_AUGER   = xrl.K_L3O5_AUGER  
K_L3O6_AUGER   = xrl.K_L3O6_AUGER  
K_L3O7_AUGER   = xrl.K_L3O7_AUGER  
K_L3P1_AUGER   = xrl.K_L3P1_AUGER  
K_L3P2_AUGER   = xrl.K_L3P2_AUGER  
K_L3P3_AUGER   = xrl.K_L3P3_AUGER  
K_L3P4_AUGER   = xrl.K_L3P4_AUGER  
K_L3P5_AUGER   = xrl.K_L3P5_AUGER  
K_L3Q1_AUGER   = xrl.K_L3Q1_AUGER  
K_L3Q2_AUGER   = xrl.K_L3Q2_AUGER  
K_L3Q3_AUGER   = xrl.K_L3Q3_AUGER  
K_M1L1_AUGER   = xrl.K_M1L1_AUGER  
K_M1L2_AUGER   = xrl.K_M1L2_AUGER  
K_M1L3_AUGER   = xrl.K_M1L3_AUGER  
K_M1M1_AUGER   = xrl.K_M1M1_AUGER  
K_M1M2_AUGER   = xrl.K_M1M2_AUGER  
K_M1M3_AUGER   = xrl.K_M1M3_AUGER  
K_M1M4_AUGER   = xrl.K_M1M4_AUGER  
K_M1M5_AUGER   = xrl.K_M1M5_AUGER  
K_M1N1_AUGER   = xrl.K_M1N1_AUGER  
K_M1N2_AUGER   = xrl.K_M1N2_AUGER  
K_M1N3_AUGER  = xrl.K_M1N3_AUGER 
K_M1N4_AUGER  = xrl.K_M1N4_AUGER 
K_M1N5_AUGER  = xrl.K_M1N5_AUGER 
K_M1N6_AUGER  = xrl.K_M1N6_AUGER 
K_M1N7_AUGER  = xrl.K_M1N7_AUGER 
K_M1O1_AUGER  = xrl.K_M1O1_AUGER 
K_M1O2_AUGER  = xrl.K_M1O2_AUGER 
K_M1O3_AUGER  = xrl.K_M1O3_AUGER 
K_M1O4_AUGER  = xrl.K_M1O4_AUGER 
K_M1O5_AUGER  = xrl.K_M1O5_AUGER 
K_M1O6_AUGER  = xrl.K_M1O6_AUGER 
K_M1O7_AUGER  = xrl.K_M1O7_AUGER 
K_M1P1_AUGER  = xrl.K_M1P1_AUGER 
K_M1P2_AUGER  = xrl.K_M1P2_AUGER 
K_M1P3_AUGER  = xrl.K_M1P3_AUGER 
K_M1P4_AUGER  = xrl.K_M1P4_AUGER 
K_M1P5_AUGER  = xrl.K_M1P5_AUGER 
K_M1Q1_AUGER  = xrl.K_M1Q1_AUGER 
K_M1Q2_AUGER  = xrl.K_M1Q2_AUGER 
K_M1Q3_AUGER  = xrl.K_M1Q3_AUGER 
K_M2L1_AUGER  = xrl.K_M2L1_AUGER 
K_M2L2_AUGER  = xrl.K_M2L2_AUGER 
K_M2L3_AUGER  = xrl.K_M2L3_AUGER 
K_M2M1_AUGER  = xrl.K_M2M1_AUGER 
K_M2M2_AUGER  = xrl.K_M2M2_AUGER 
K_M2M3_AUGER  = xrl.K_M2M3_AUGER 
K_M2M4_AUGER  = xrl.K_M2M4_AUGER 
K_M2M5_AUGER  = xrl.K_M2M5_AUGER 
K_M2N1_AUGER  = xrl.K_M2N1_AUGER 
K_M2N2_AUGER  = xrl.K_M2N2_AUGER 
K_M2N3_AUGER  = xrl.K_M2N3_AUGER 
K_M2N4_AUGER  = xrl.K_M2N4_AUGER 
K_M2N5_AUGER  = xrl.K_M2N5_AUGER 
K_M2N6_AUGER  = xrl.K_M2N6_AUGER 
K_M2N7_AUGER  = xrl.K_M2N7_AUGER 
K_M2O1_AUGER  = xrl.K_M2O1_AUGER 
K_M2O2_AUGER  = xrl.K_M2O2_AUGER 
K_M2O3_AUGER  = xrl.K_M2O3_AUGER 
K_M2O4_AUGER  = xrl.K_M2O4_AUGER 
K_M2O5_AUGER  = xrl.K_M2O5_AUGER 
K_M2O6_AUGER  = xrl.K_M2O6_AUGER 
K_M2O7_AUGER  = xrl.K_M2O7_AUGER 
K_M2P1_AUGER  = xrl.K_M2P1_AUGER 
K_M2P2_AUGER  = xrl.K_M2P2_AUGER 
K_M2P3_AUGER  = xrl.K_M2P3_AUGER 
K_M2P4_AUGER  = xrl.K_M2P4_AUGER 
K_M2P5_AUGER  = xrl.K_M2P5_AUGER 
K_M2Q1_AUGER  = xrl.K_M2Q1_AUGER 
K_M2Q2_AUGER  = xrl.K_M2Q2_AUGER 
K_M2Q3_AUGER  = xrl.K_M2Q3_AUGER 
K_M3L1_AUGER  = xrl.K_M3L1_AUGER 
K_M3L2_AUGER  = xrl.K_M3L2_AUGER 
K_M3L3_AUGER  = xrl.K_M3L3_AUGER 
K_M3M1_AUGER  = xrl.K_M3M1_AUGER 
K_M3M2_AUGER  = xrl.K_M3M2_AUGER 
K_M3M3_AUGER  = xrl.K_M3M3_AUGER 
K_M3M4_AUGER  = xrl.K_M3M4_AUGER 
K_M3M5_AUGER  = xrl.K_M3M5_AUGER 
K_M3N1_AUGER  = xrl.K_M3N1_AUGER 
K_M3N2_AUGER  = xrl.K_M3N2_AUGER 
K_M3N3_AUGER  = xrl.K_M3N3_AUGER 
K_M3N4_AUGER  = xrl.K_M3N4_AUGER 
K_M3N5_AUGER  = xrl.K_M3N5_AUGER 
K_M3N6_AUGER  = xrl.K_M3N6_AUGER 
K_M3N7_AUGER  = xrl.K_M3N7_AUGER 
K_M3O1_AUGER  = xrl.K_M3O1_AUGER 
K_M3O2_AUGER  = xrl.K_M3O2_AUGER 
K_M3O3_AUGER  = xrl.K_M3O3_AUGER 
K_M3O4_AUGER  = xrl.K_M3O4_AUGER 
K_M3O5_AUGER  = xrl.K_M3O5_AUGER 
K_M3O6_AUGER  = xrl.K_M3O6_AUGER 
K_M3O7_AUGER  = xrl.K_M3O7_AUGER 
K_M3P1_AUGER  = xrl.K_M3P1_AUGER 
K_M3P2_AUGER  = xrl.K_M3P2_AUGER 
K_M3P3_AUGER  = xrl.K_M3P3_AUGER 
K_M3P4_AUGER  = xrl.K_M3P4_AUGER 
K_M3P5_AUGER  = xrl.K_M3P5_AUGER 
K_M3Q1_AUGER  = xrl.K_M3Q1_AUGER 
K_M3Q2_AUGER  = xrl.K_M3Q2_AUGER 
K_M3Q3_AUGER  = xrl.K_M3Q3_AUGER 
K_M4L1_AUGER  = xrl.K_M4L1_AUGER 
K_M4L2_AUGER  = xrl.K_M4L2_AUGER 
K_M4L3_AUGER  = xrl.K_M4L3_AUGER 
K_M4M1_AUGER  = xrl.K_M4M1_AUGER 
K_M4M2_AUGER  = xrl.K_M4M2_AUGER 
K_M4M3_AUGER  = xrl.K_M4M3_AUGER 
K_M4M4_AUGER  = xrl.K_M4M4_AUGER 
K_M4M5_AUGER  = xrl.K_M4M5_AUGER 
K_M4N1_AUGER  = xrl.K_M4N1_AUGER 
K_M4N2_AUGER  = xrl.K_M4N2_AUGER 
K_M4N3_AUGER  = xrl.K_M4N3_AUGER 
K_M4N4_AUGER  = xrl.K_M4N4_AUGER 
K_M4N5_AUGER  = xrl.K_M4N5_AUGER 
K_M4N6_AUGER  = xrl.K_M4N6_AUGER 
K_M4N7_AUGER  = xrl.K_M4N7_AUGER 
K_M4O1_AUGER  = xrl.K_M4O1_AUGER 
K_M4O2_AUGER  = xrl.K_M4O2_AUGER 
K_M4O3_AUGER  = xrl.K_M4O3_AUGER 
K_M4O4_AUGER  = xrl.K_M4O4_AUGER 
K_M4O5_AUGER  = xrl.K_M4O5_AUGER 
K_M4O6_AUGER  = xrl.K_M4O6_AUGER 
K_M4O7_AUGER  = xrl.K_M4O7_AUGER 
K_M4P1_AUGER  = xrl.K_M4P1_AUGER 
K_M4P2_AUGER  = xrl.K_M4P2_AUGER 
K_M4P3_AUGER  = xrl.K_M4P3_AUGER 
K_M4P4_AUGER  = xrl.K_M4P4_AUGER 
K_M4P5_AUGER  = xrl.K_M4P5_AUGER 
K_M4Q1_AUGER  = xrl.K_M4Q1_AUGER 
K_M4Q2_AUGER  = xrl.K_M4Q2_AUGER 
K_M4Q3_AUGER  = xrl.K_M4Q3_AUGER 
K_M5L1_AUGER  = xrl.K_M5L1_AUGER 
K_M5L2_AUGER  = xrl.K_M5L2_AUGER 
K_M5L3_AUGER  = xrl.K_M5L3_AUGER 
K_M5M1_AUGER  = xrl.K_M5M1_AUGER 
K_M5M2_AUGER  = xrl.K_M5M2_AUGER 
K_M5M3_AUGER  = xrl.K_M5M3_AUGER 
K_M5M4_AUGER  = xrl.K_M5M4_AUGER 
K_M5M5_AUGER  = xrl.K_M5M5_AUGER 
K_M5N1_AUGER  = xrl.K_M5N1_AUGER 
K_M5N2_AUGER  = xrl.K_M5N2_AUGER 
K_M5N3_AUGER  = xrl.K_M5N3_AUGER 
K_M5N4_AUGER  = xrl.K_M5N4_AUGER 
K_M5N5_AUGER  = xrl.K_M5N5_AUGER 
K_M5N6_AUGER  = xrl.K_M5N6_AUGER 
K_M5N7_AUGER  = xrl.K_M5N7_AUGER 
K_M5O1_AUGER  = xrl.K_M5O1_AUGER 
K_M5O2_AUGER  = xrl.K_M5O2_AUGER 
K_M5O3_AUGER  = xrl.K_M5O3_AUGER 
K_M5O4_AUGER  = xrl.K_M5O4_AUGER 
K_M5O5_AUGER  = xrl.K_M5O5_AUGER 
K_M5O6_AUGER  = xrl.K_M5O6_AUGER 
K_M5O7_AUGER  = xrl.K_M5O7_AUGER 
K_M5P1_AUGER  = xrl.K_M5P1_AUGER 
K_M5P2_AUGER  = xrl.K_M5P2_AUGER 
K_M5P3_AUGER  = xrl.K_M5P3_AUGER 
K_M5P4_AUGER  = xrl.K_M5P4_AUGER 
K_M5P5_AUGER  = xrl.K_M5P5_AUGER 
K_M5Q1_AUGER  = xrl.K_M5Q1_AUGER 
K_M5Q2_AUGER  = xrl.K_M5Q2_AUGER 
K_M5Q3_AUGER  = xrl.K_M5Q3_AUGER 
L1_L2L2_AUGER  = xrl.L1_L2L2_AUGER 
L1_L2L3_AUGER  = xrl.L1_L2L3_AUGER 
L1_L2M1_AUGER  = xrl.L1_L2M1_AUGER 
L1_L2M2_AUGER  = xrl.L1_L2M2_AUGER 
L1_L2M3_AUGER  = xrl.L1_L2M3_AUGER 
L1_L2M4_AUGER  = xrl.L1_L2M4_AUGER 
L1_L2M5_AUGER  = xrl.L1_L2M5_AUGER 
L1_L2N1_AUGER  = xrl.L1_L2N1_AUGER 
L1_L2N2_AUGER  = xrl.L1_L2N2_AUGER 
L1_L2N3_AUGER  = xrl.L1_L2N3_AUGER 
L1_L2N4_AUGER  = xrl.L1_L2N4_AUGER 
L1_L2N5_AUGER  = xrl.L1_L2N5_AUGER 
L1_L2N6_AUGER  = xrl.L1_L2N6_AUGER 
L1_L2N7_AUGER  = xrl.L1_L2N7_AUGER 
L1_L2O1_AUGER  = xrl.L1_L2O1_AUGER 
L1_L2O2_AUGER  = xrl.L1_L2O2_AUGER 
L1_L2O3_AUGER  = xrl.L1_L2O3_AUGER 
L1_L2O4_AUGER  = xrl.L1_L2O4_AUGER 
L1_L2O5_AUGER  = xrl.L1_L2O5_AUGER 
L1_L2O6_AUGER  = xrl.L1_L2O6_AUGER 
L1_L2O7_AUGER  = xrl.L1_L2O7_AUGER 
L1_L2P1_AUGER  = xrl.L1_L2P1_AUGER 
L1_L2P2_AUGER  = xrl.L1_L2P2_AUGER 
L1_L2P3_AUGER  = xrl.L1_L2P3_AUGER 
L1_L2P4_AUGER  = xrl.L1_L2P4_AUGER 
L1_L2P5_AUGER  = xrl.L1_L2P5_AUGER 
L1_L2Q1_AUGER  = xrl.L1_L2Q1_AUGER 
L1_L2Q2_AUGER  = xrl.L1_L2Q2_AUGER 
L1_L2Q3_AUGER  = xrl.L1_L2Q3_AUGER 
L1_L3L2_AUGER  = xrl.L1_L3L2_AUGER 
L1_L3L3_AUGER  = xrl.L1_L3L3_AUGER 
L1_L3M1_AUGER  = xrl.L1_L3M1_AUGER 
L1_L3M2_AUGER  = xrl.L1_L3M2_AUGER 
L1_L3M3_AUGER  = xrl.L1_L3M3_AUGER 
L1_L3M4_AUGER  = xrl.L1_L3M4_AUGER 
L1_L3M5_AUGER  = xrl.L1_L3M5_AUGER 
L1_L3N1_AUGER  = xrl.L1_L3N1_AUGER 
L1_L3N2_AUGER  = xrl.L1_L3N2_AUGER 
L1_L3N3_AUGER  = xrl.L1_L3N3_AUGER 
L1_L3N4_AUGER  = xrl.L1_L3N4_AUGER 
L1_L3N5_AUGER  = xrl.L1_L3N5_AUGER 
L1_L3N6_AUGER  = xrl.L1_L3N6_AUGER 
L1_L3N7_AUGER  = xrl.L1_L3N7_AUGER 
L1_L3O1_AUGER  = xrl.L1_L3O1_AUGER 
L1_L3O2_AUGER  = xrl.L1_L3O2_AUGER 
L1_L3O3_AUGER  = xrl.L1_L3O3_AUGER 
L1_L3O4_AUGER  = xrl.L1_L3O4_AUGER 
L1_L3O5_AUGER  = xrl.L1_L3O5_AUGER 
L1_L3O6_AUGER  = xrl.L1_L3O6_AUGER 
L1_L3O7_AUGER  = xrl.L1_L3O7_AUGER 
L1_L3P1_AUGER  = xrl.L1_L3P1_AUGER 
L1_L3P2_AUGER  = xrl.L1_L3P2_AUGER 
L1_L3P3_AUGER  = xrl.L1_L3P3_AUGER 
L1_L3P4_AUGER  = xrl.L1_L3P4_AUGER 
L1_L3P5_AUGER  = xrl.L1_L3P5_AUGER 
L1_L3Q1_AUGER  = xrl.L1_L3Q1_AUGER 
L1_L3Q2_AUGER  = xrl.L1_L3Q2_AUGER 
L1_L3Q3_AUGER  = xrl.L1_L3Q3_AUGER 
L1_M1L2_AUGER  = xrl.L1_M1L2_AUGER 
L1_M1L3_AUGER  = xrl.L1_M1L3_AUGER 
L1_M1M1_AUGER  = xrl.L1_M1M1_AUGER 
L1_M1M2_AUGER  = xrl.L1_M1M2_AUGER 
L1_M1M3_AUGER  = xrl.L1_M1M3_AUGER 
L1_M1M4_AUGER  = xrl.L1_M1M4_AUGER 
L1_M1M5_AUGER  = xrl.L1_M1M5_AUGER 
L1_M1N1_AUGER  = xrl.L1_M1N1_AUGER 
L1_M1N2_AUGER  = xrl.L1_M1N2_AUGER 
L1_M1N3_AUGER  = xrl.L1_M1N3_AUGER 
L1_M1N4_AUGER  = xrl.L1_M1N4_AUGER 
L1_M1N5_AUGER  = xrl.L1_M1N5_AUGER 
L1_M1N6_AUGER  = xrl.L1_M1N6_AUGER 
L1_M1N7_AUGER  = xrl.L1_M1N7_AUGER 
L1_M1O1_AUGER  = xrl.L1_M1O1_AUGER 
L1_M1O2_AUGER  = xrl.L1_M1O2_AUGER 
L1_M1O3_AUGER  = xrl.L1_M1O3_AUGER 
L1_M1O4_AUGER  = xrl.L1_M1O4_AUGER 
L1_M1O5_AUGER  = xrl.L1_M1O5_AUGER 
L1_M1O6_AUGER  = xrl.L1_M1O6_AUGER 
L1_M1O7_AUGER  = xrl.L1_M1O7_AUGER 
L1_M1P1_AUGER  = xrl.L1_M1P1_AUGER 
L1_M1P2_AUGER  = xrl.L1_M1P2_AUGER 
L1_M1P3_AUGER  = xrl.L1_M1P3_AUGER 
L1_M1P4_AUGER  = xrl.L1_M1P4_AUGER 
L1_M1P5_AUGER  = xrl.L1_M1P5_AUGER 
L1_M1Q1_AUGER  = xrl.L1_M1Q1_AUGER 
L1_M1Q2_AUGER  = xrl.L1_M1Q2_AUGER 
L1_M1Q3_AUGER  = xrl.L1_M1Q3_AUGER 
L1_M2L2_AUGER  = xrl.L1_M2L2_AUGER 
L1_M2L3_AUGER  = xrl.L1_M2L3_AUGER 
L1_M2M1_AUGER  = xrl.L1_M2M1_AUGER 
L1_M2M2_AUGER  = xrl.L1_M2M2_AUGER 
L1_M2M3_AUGER  = xrl.L1_M2M3_AUGER 
L1_M2M4_AUGER  = xrl.L1_M2M4_AUGER 
L1_M2M5_AUGER  = xrl.L1_M2M5_AUGER 
L1_M2N1_AUGER  = xrl.L1_M2N1_AUGER 
L1_M2N2_AUGER  = xrl.L1_M2N2_AUGER 
L1_M2N3_AUGER  = xrl.L1_M2N3_AUGER 
L1_M2N4_AUGER  = xrl.L1_M2N4_AUGER 
L1_M2N5_AUGER  = xrl.L1_M2N5_AUGER 
L1_M2N6_AUGER  = xrl.L1_M2N6_AUGER 
L1_M2N7_AUGER  = xrl.L1_M2N7_AUGER 
L1_M2O1_AUGER  = xrl.L1_M2O1_AUGER 
L1_M2O2_AUGER  = xrl.L1_M2O2_AUGER 
L1_M2O3_AUGER  = xrl.L1_M2O3_AUGER 
L1_M2O4_AUGER  = xrl.L1_M2O4_AUGER 
L1_M2O5_AUGER  = xrl.L1_M2O5_AUGER 
L1_M2O6_AUGER  = xrl.L1_M2O6_AUGER 
L1_M2O7_AUGER  = xrl.L1_M2O7_AUGER 
L1_M2P1_AUGER  = xrl.L1_M2P1_AUGER 
L1_M2P2_AUGER  = xrl.L1_M2P2_AUGER 
L1_M2P3_AUGER  = xrl.L1_M2P3_AUGER 
L1_M2P4_AUGER  = xrl.L1_M2P4_AUGER 
L1_M2P5_AUGER  = xrl.L1_M2P5_AUGER 
L1_M2Q1_AUGER  = xrl.L1_M2Q1_AUGER 
L1_M2Q2_AUGER  = xrl.L1_M2Q2_AUGER 
L1_M2Q3_AUGER  = xrl.L1_M2Q3_AUGER 
L1_M3L2_AUGER  = xrl.L1_M3L2_AUGER 
L1_M3L3_AUGER  = xrl.L1_M3L3_AUGER 
L1_M3M1_AUGER  = xrl.L1_M3M1_AUGER 
L1_M3M2_AUGER  = xrl.L1_M3M2_AUGER 
L1_M3M3_AUGER  = xrl.L1_M3M3_AUGER 
L1_M3M4_AUGER  = xrl.L1_M3M4_AUGER 
L1_M3M5_AUGER  = xrl.L1_M3M5_AUGER 
L1_M3N1_AUGER  = xrl.L1_M3N1_AUGER 
L1_M3N2_AUGER  = xrl.L1_M3N2_AUGER 
L1_M3N3_AUGER  = xrl.L1_M3N3_AUGER 
L1_M3N4_AUGER  = xrl.L1_M3N4_AUGER 
L1_M3N5_AUGER  = xrl.L1_M3N5_AUGER 
L1_M3N6_AUGER  = xrl.L1_M3N6_AUGER 
L1_M3N7_AUGER  = xrl.L1_M3N7_AUGER 
L1_M3O1_AUGER  = xrl.L1_M3O1_AUGER 
L1_M3O2_AUGER  = xrl.L1_M3O2_AUGER 
L1_M3O3_AUGER  = xrl.L1_M3O3_AUGER 
L1_M3O4_AUGER  = xrl.L1_M3O4_AUGER 
L1_M3O5_AUGER  = xrl.L1_M3O5_AUGER 
L1_M3O6_AUGER  = xrl.L1_M3O6_AUGER 
L1_M3O7_AUGER  = xrl.L1_M3O7_AUGER 
L1_M3P1_AUGER  = xrl.L1_M3P1_AUGER 
L1_M3P2_AUGER  = xrl.L1_M3P2_AUGER 
L1_M3P3_AUGER  = xrl.L1_M3P3_AUGER 
L1_M3P4_AUGER  = xrl.L1_M3P4_AUGER 
L1_M3P5_AUGER  = xrl.L1_M3P5_AUGER 
L1_M3Q1_AUGER  = xrl.L1_M3Q1_AUGER 
L1_M3Q2_AUGER  = xrl.L1_M3Q2_AUGER 
L1_M3Q3_AUGER  = xrl.L1_M3Q3_AUGER 
L1_M4L2_AUGER  = xrl.L1_M4L2_AUGER 
L1_M4L3_AUGER  = xrl.L1_M4L3_AUGER 
L1_M4M1_AUGER  = xrl.L1_M4M1_AUGER 
L1_M4M2_AUGER  = xrl.L1_M4M2_AUGER 
L1_M4M3_AUGER  = xrl.L1_M4M3_AUGER 
L1_M4M4_AUGER  = xrl.L1_M4M4_AUGER 
L1_M4M5_AUGER  = xrl.L1_M4M5_AUGER 
L1_M4N1_AUGER  = xrl.L1_M4N1_AUGER 
L1_M4N2_AUGER  = xrl.L1_M4N2_AUGER 
L1_M4N3_AUGER  = xrl.L1_M4N3_AUGER 
L1_M4N4_AUGER  = xrl.L1_M4N4_AUGER 
L1_M4N5_AUGER  = xrl.L1_M4N5_AUGER 
L1_M4N6_AUGER  = xrl.L1_M4N6_AUGER 
L1_M4N7_AUGER  = xrl.L1_M4N7_AUGER 
L1_M4O1_AUGER  = xrl.L1_M4O1_AUGER 
L1_M4O2_AUGER  = xrl.L1_M4O2_AUGER 
L1_M4O3_AUGER  = xrl.L1_M4O3_AUGER 
L1_M4O4_AUGER  = xrl.L1_M4O4_AUGER 
L1_M4O5_AUGER  = xrl.L1_M4O5_AUGER 
L1_M4O6_AUGER  = xrl.L1_M4O6_AUGER 
L1_M4O7_AUGER  = xrl.L1_M4O7_AUGER 
L1_M4P1_AUGER  = xrl.L1_M4P1_AUGER 
L1_M4P2_AUGER  = xrl.L1_M4P2_AUGER 
L1_M4P3_AUGER  = xrl.L1_M4P3_AUGER 
L1_M4P4_AUGER  = xrl.L1_M4P4_AUGER 
L1_M4P5_AUGER  = xrl.L1_M4P5_AUGER 
L1_M4Q1_AUGER  = xrl.L1_M4Q1_AUGER 
L1_M4Q2_AUGER  = xrl.L1_M4Q2_AUGER 
L1_M4Q3_AUGER  = xrl.L1_M4Q3_AUGER 
L1_M5L2_AUGER  = xrl.L1_M5L2_AUGER 
L1_M5L3_AUGER  = xrl.L1_M5L3_AUGER 
L1_M5M1_AUGER  = xrl.L1_M5M1_AUGER 
L1_M5M2_AUGER  = xrl.L1_M5M2_AUGER 
L1_M5M3_AUGER  = xrl.L1_M5M3_AUGER 
L1_M5M4_AUGER  = xrl.L1_M5M4_AUGER 
L1_M5M5_AUGER  = xrl.L1_M5M5_AUGER 
L1_M5N1_AUGER  = xrl.L1_M5N1_AUGER 
L1_M5N2_AUGER  = xrl.L1_M5N2_AUGER 
L1_M5N3_AUGER  = xrl.L1_M5N3_AUGER 
L1_M5N4_AUGER  = xrl.L1_M5N4_AUGER 
L1_M5N5_AUGER  = xrl.L1_M5N5_AUGER 
L1_M5N6_AUGER  = xrl.L1_M5N6_AUGER 
L1_M5N7_AUGER  = xrl.L1_M5N7_AUGER 
L1_M5O1_AUGER  = xrl.L1_M5O1_AUGER 
L1_M5O2_AUGER  = xrl.L1_M5O2_AUGER 
L1_M5O3_AUGER  = xrl.L1_M5O3_AUGER 
L1_M5O4_AUGER  = xrl.L1_M5O4_AUGER 
L1_M5O5_AUGER  = xrl.L1_M5O5_AUGER 
L1_M5O6_AUGER  = xrl.L1_M5O6_AUGER 
L1_M5O7_AUGER  = xrl.L1_M5O7_AUGER 
L1_M5P1_AUGER  = xrl.L1_M5P1_AUGER 
L1_M5P2_AUGER  = xrl.L1_M5P2_AUGER 
L1_M5P3_AUGER  = xrl.L1_M5P3_AUGER 
L1_M5P4_AUGER  = xrl.L1_M5P4_AUGER 
L1_M5P5_AUGER  = xrl.L1_M5P5_AUGER 
L1_M5Q1_AUGER  = xrl.L1_M5Q1_AUGER 
L1_M5Q2_AUGER  = xrl.L1_M5Q2_AUGER 
L1_M5Q3_AUGER  = xrl.L1_M5Q3_AUGER 
L2_L3L3_AUGER  = xrl.L2_L3L3_AUGER 
L2_L3M1_AUGER  = xrl.L2_L3M1_AUGER 
L2_L3M2_AUGER  = xrl.L2_L3M2_AUGER 
L2_L3M3_AUGER  = xrl.L2_L3M3_AUGER 
L2_L3M4_AUGER  = xrl.L2_L3M4_AUGER 
L2_L3M5_AUGER  = xrl.L2_L3M5_AUGER 
L2_L3N1_AUGER  = xrl.L2_L3N1_AUGER 
L2_L3N2_AUGER  = xrl.L2_L3N2_AUGER 
L2_L3N3_AUGER  = xrl.L2_L3N3_AUGER 
L2_L3N4_AUGER  = xrl.L2_L3N4_AUGER 
L2_L3N5_AUGER  = xrl.L2_L3N5_AUGER 
L2_L3N6_AUGER  = xrl.L2_L3N6_AUGER 
L2_L3N7_AUGER  = xrl.L2_L3N7_AUGER 
L2_L3O1_AUGER  = xrl.L2_L3O1_AUGER 
L2_L3O2_AUGER  = xrl.L2_L3O2_AUGER 
L2_L3O3_AUGER  = xrl.L2_L3O3_AUGER 
L2_L3O4_AUGER  = xrl.L2_L3O4_AUGER 
L2_L3O5_AUGER  = xrl.L2_L3O5_AUGER 
L2_L3O6_AUGER  = xrl.L2_L3O6_AUGER 
L2_L3O7_AUGER  = xrl.L2_L3O7_AUGER 
L2_L3P1_AUGER  = xrl.L2_L3P1_AUGER 
L2_L3P2_AUGER  = xrl.L2_L3P2_AUGER 
L2_L3P3_AUGER  = xrl.L2_L3P3_AUGER 
L2_L3P4_AUGER  = xrl.L2_L3P4_AUGER 
L2_L3P5_AUGER  = xrl.L2_L3P5_AUGER 
L2_L3Q1_AUGER  = xrl.L2_L3Q1_AUGER 
L2_L3Q2_AUGER  = xrl.L2_L3Q2_AUGER 
L2_L3Q3_AUGER  = xrl.L2_L3Q3_AUGER 
L2_M1L3_AUGER  = xrl.L2_M1L3_AUGER 
L2_M1M1_AUGER  = xrl.L2_M1M1_AUGER 
L2_M1M2_AUGER  = xrl.L2_M1M2_AUGER 
L2_M1M3_AUGER  = xrl.L2_M1M3_AUGER 
L2_M1M4_AUGER  = xrl.L2_M1M4_AUGER 
L2_M1M5_AUGER  = xrl.L2_M1M5_AUGER 
L2_M1N1_AUGER  = xrl.L2_M1N1_AUGER 
L2_M1N2_AUGER  = xrl.L2_M1N2_AUGER 
L2_M1N3_AUGER  = xrl.L2_M1N3_AUGER 
L2_M1N4_AUGER  = xrl.L2_M1N4_AUGER 
L2_M1N5_AUGER  = xrl.L2_M1N5_AUGER 
L2_M1N6_AUGER  = xrl.L2_M1N6_AUGER 
L2_M1N7_AUGER  = xrl.L2_M1N7_AUGER 
L2_M1O1_AUGER  = xrl.L2_M1O1_AUGER 
L2_M1O2_AUGER  = xrl.L2_M1O2_AUGER 
L2_M1O3_AUGER  = xrl.L2_M1O3_AUGER 
L2_M1O4_AUGER  = xrl.L2_M1O4_AUGER 
L2_M1O5_AUGER  = xrl.L2_M1O5_AUGER 
L2_M1O6_AUGER  = xrl.L2_M1O6_AUGER 
L2_M1O7_AUGER  = xrl.L2_M1O7_AUGER 
L2_M1P1_AUGER  = xrl.L2_M1P1_AUGER 
L2_M1P2_AUGER  = xrl.L2_M1P2_AUGER 
L2_M1P3_AUGER  = xrl.L2_M1P3_AUGER 
L2_M1P4_AUGER  = xrl.L2_M1P4_AUGER 
L2_M1P5_AUGER  = xrl.L2_M1P5_AUGER 
L2_M1Q1_AUGER  = xrl.L2_M1Q1_AUGER 
L2_M1Q2_AUGER  = xrl.L2_M1Q2_AUGER 
L2_M1Q3_AUGER  = xrl.L2_M1Q3_AUGER 
L2_M2L3_AUGER  = xrl.L2_M2L3_AUGER 
L2_M2M1_AUGER  = xrl.L2_M2M1_AUGER 
L2_M2M2_AUGER  = xrl.L2_M2M2_AUGER 
L2_M2M3_AUGER  = xrl.L2_M2M3_AUGER 
L2_M2M4_AUGER  = xrl.L2_M2M4_AUGER 
L2_M2M5_AUGER  = xrl.L2_M2M5_AUGER 
L2_M2N1_AUGER  = xrl.L2_M2N1_AUGER 
L2_M2N2_AUGER  = xrl.L2_M2N2_AUGER 
L2_M2N3_AUGER  = xrl.L2_M2N3_AUGER 
L2_M2N4_AUGER  = xrl.L2_M2N4_AUGER 
L2_M2N5_AUGER  = xrl.L2_M2N5_AUGER 
L2_M2N6_AUGER  = xrl.L2_M2N6_AUGER 
L2_M2N7_AUGER  = xrl.L2_M2N7_AUGER 
L2_M2O1_AUGER  = xrl.L2_M2O1_AUGER 
L2_M2O2_AUGER  = xrl.L2_M2O2_AUGER 
L2_M2O3_AUGER  = xrl.L2_M2O3_AUGER 
L2_M2O4_AUGER  = xrl.L2_M2O4_AUGER 
L2_M2O5_AUGER  = xrl.L2_M2O5_AUGER 
L2_M2O6_AUGER  = xrl.L2_M2O6_AUGER 
L2_M2O7_AUGER  = xrl.L2_M2O7_AUGER 
L2_M2P1_AUGER  = xrl.L2_M2P1_AUGER 
L2_M2P2_AUGER  = xrl.L2_M2P2_AUGER 
L2_M2P3_AUGER  = xrl.L2_M2P3_AUGER 
L2_M2P4_AUGER  = xrl.L2_M2P4_AUGER 
L2_M2P5_AUGER  = xrl.L2_M2P5_AUGER 
L2_M2Q1_AUGER  = xrl.L2_M2Q1_AUGER 
L2_M2Q2_AUGER  = xrl.L2_M2Q2_AUGER 
L2_M2Q3_AUGER  = xrl.L2_M2Q3_AUGER 
L2_M3L3_AUGER  = xrl.L2_M3L3_AUGER 
L2_M3M1_AUGER  = xrl.L2_M3M1_AUGER 
L2_M3M2_AUGER  = xrl.L2_M3M2_AUGER 
L2_M3M3_AUGER  = xrl.L2_M3M3_AUGER 
L2_M3M4_AUGER  = xrl.L2_M3M4_AUGER 
L2_M3M5_AUGER  = xrl.L2_M3M5_AUGER 
L2_M3N1_AUGER  = xrl.L2_M3N1_AUGER 
L2_M3N2_AUGER  = xrl.L2_M3N2_AUGER 
L2_M3N3_AUGER  = xrl.L2_M3N3_AUGER 
L2_M3N4_AUGER  = xrl.L2_M3N4_AUGER 
L2_M3N5_AUGER  = xrl.L2_M3N5_AUGER 
L2_M3N6_AUGER  = xrl.L2_M3N6_AUGER 
L2_M3N7_AUGER  = xrl.L2_M3N7_AUGER 
L2_M3O1_AUGER  = xrl.L2_M3O1_AUGER 
L2_M3O2_AUGER  = xrl.L2_M3O2_AUGER 
L2_M3O3_AUGER  = xrl.L2_M3O3_AUGER 
L2_M3O4_AUGER  = xrl.L2_M3O4_AUGER 
L2_M3O5_AUGER  = xrl.L2_M3O5_AUGER 
L2_M3O6_AUGER  = xrl.L2_M3O6_AUGER 
L2_M3O7_AUGER  = xrl.L2_M3O7_AUGER 
L2_M3P1_AUGER  = xrl.L2_M3P1_AUGER 
L2_M3P2_AUGER  = xrl.L2_M3P2_AUGER 
L2_M3P3_AUGER  = xrl.L2_M3P3_AUGER 
L2_M3P4_AUGER  = xrl.L2_M3P4_AUGER 
L2_M3P5_AUGER  = xrl.L2_M3P5_AUGER 
L2_M3Q1_AUGER  = xrl.L2_M3Q1_AUGER 
L2_M3Q2_AUGER  = xrl.L2_M3Q2_AUGER 
L2_M3Q3_AUGER  = xrl.L2_M3Q3_AUGER 
L2_M4L3_AUGER  = xrl.L2_M4L3_AUGER 
L2_M4M1_AUGER  = xrl.L2_M4M1_AUGER 
L2_M4M2_AUGER  = xrl.L2_M4M2_AUGER 
L2_M4M3_AUGER  = xrl.L2_M4M3_AUGER 
L2_M4M4_AUGER  = xrl.L2_M4M4_AUGER 
L2_M4M5_AUGER  = xrl.L2_M4M5_AUGER 
L2_M4N1_AUGER  = xrl.L2_M4N1_AUGER 
L2_M4N2_AUGER  = xrl.L2_M4N2_AUGER 
L2_M4N3_AUGER  = xrl.L2_M4N3_AUGER 
L2_M4N4_AUGER  = xrl.L2_M4N4_AUGER 
L2_M4N5_AUGER  = xrl.L2_M4N5_AUGER 
L2_M4N6_AUGER  = xrl.L2_M4N6_AUGER 
L2_M4N7_AUGER  = xrl.L2_M4N7_AUGER 
L2_M4O1_AUGER  = xrl.L2_M4O1_AUGER 
L2_M4O2_AUGER  = xrl.L2_M4O2_AUGER 
L2_M4O3_AUGER  = xrl.L2_M4O3_AUGER 
L2_M4O4_AUGER  = xrl.L2_M4O4_AUGER 
L2_M4O5_AUGER  = xrl.L2_M4O5_AUGER 
L2_M4O6_AUGER  = xrl.L2_M4O6_AUGER 
L2_M4O7_AUGER  = xrl.L2_M4O7_AUGER 
L2_M4P1_AUGER  = xrl.L2_M4P1_AUGER 
L2_M4P2_AUGER  = xrl.L2_M4P2_AUGER 
L2_M4P3_AUGER  = xrl.L2_M4P3_AUGER 
L2_M4P4_AUGER  = xrl.L2_M4P4_AUGER 
L2_M4P5_AUGER  = xrl.L2_M4P5_AUGER 
L2_M4Q1_AUGER  = xrl.L2_M4Q1_AUGER 
L2_M4Q2_AUGER  = xrl.L2_M4Q2_AUGER 
L2_M4Q3_AUGER  = xrl.L2_M4Q3_AUGER 
L2_M5L3_AUGER  = xrl.L2_M5L3_AUGER 
L2_M5M1_AUGER  = xrl.L2_M5M1_AUGER 
L2_M5M2_AUGER  = xrl.L2_M5M2_AUGER 
L2_M5M3_AUGER  = xrl.L2_M5M3_AUGER 
L2_M5M4_AUGER  = xrl.L2_M5M4_AUGER 
L2_M5M5_AUGER  = xrl.L2_M5M5_AUGER 
L2_M5N1_AUGER  = xrl.L2_M5N1_AUGER 
L2_M5N2_AUGER  = xrl.L2_M5N2_AUGER 
L2_M5N3_AUGER  = xrl.L2_M5N3_AUGER 
L2_M5N4_AUGER  = xrl.L2_M5N4_AUGER 
L2_M5N5_AUGER  = xrl.L2_M5N5_AUGER 
L2_M5N6_AUGER  = xrl.L2_M5N6_AUGER 
L2_M5N7_AUGER  = xrl.L2_M5N7_AUGER 
L2_M5O1_AUGER  = xrl.L2_M5O1_AUGER 
L2_M5O2_AUGER  = xrl.L2_M5O2_AUGER 
L2_M5O3_AUGER  = xrl.L2_M5O3_AUGER 
L2_M5O4_AUGER  = xrl.L2_M5O4_AUGER 
L2_M5O5_AUGER  = xrl.L2_M5O5_AUGER 
L2_M5O6_AUGER  = xrl.L2_M5O6_AUGER 
L2_M5O7_AUGER  = xrl.L2_M5O7_AUGER 
L2_M5P1_AUGER  = xrl.L2_M5P1_AUGER 
L2_M5P2_AUGER  = xrl.L2_M5P2_AUGER 
L2_M5P3_AUGER  = xrl.L2_M5P3_AUGER 
L2_M5P4_AUGER  = xrl.L2_M5P4_AUGER 
L2_M5P5_AUGER  = xrl.L2_M5P5_AUGER 
L2_M5Q1_AUGER  = xrl.L2_M5Q1_AUGER 
L2_M5Q2_AUGER  = xrl.L2_M5Q2_AUGER 
L2_M5Q3_AUGER  = xrl.L2_M5Q3_AUGER 
L3_M1M1_AUGER  = xrl.L3_M1M1_AUGER 
L3_M1M2_AUGER  = xrl.L3_M1M2_AUGER 
L3_M1M3_AUGER  = xrl.L3_M1M3_AUGER 
L3_M1M4_AUGER  = xrl.L3_M1M4_AUGER 
L3_M1M5_AUGER  = xrl.L3_M1M5_AUGER 
L3_M1N1_AUGER  = xrl.L3_M1N1_AUGER 
L3_M1N2_AUGER  = xrl.L3_M1N2_AUGER 
L3_M1N3_AUGER  = xrl.L3_M1N3_AUGER 
L3_M1N4_AUGER  = xrl.L3_M1N4_AUGER 
L3_M1N5_AUGER  = xrl.L3_M1N5_AUGER 
L3_M1N6_AUGER  = xrl.L3_M1N6_AUGER 
L3_M1N7_AUGER  = xrl.L3_M1N7_AUGER 
L3_M1O1_AUGER  = xrl.L3_M1O1_AUGER 
L3_M1O2_AUGER  = xrl.L3_M1O2_AUGER 
L3_M1O3_AUGER  = xrl.L3_M1O3_AUGER 
L3_M1O4_AUGER  = xrl.L3_M1O4_AUGER 
L3_M1O5_AUGER  = xrl.L3_M1O5_AUGER 
L3_M1O6_AUGER  = xrl.L3_M1O6_AUGER 
L3_M1O7_AUGER  = xrl.L3_M1O7_AUGER 
L3_M1P1_AUGER  = xrl.L3_M1P1_AUGER 
L3_M1P2_AUGER  = xrl.L3_M1P2_AUGER 
L3_M1P3_AUGER  = xrl.L3_M1P3_AUGER 
L3_M1P4_AUGER  = xrl.L3_M1P4_AUGER 
L3_M1P5_AUGER  = xrl.L3_M1P5_AUGER 
L3_M1Q1_AUGER  = xrl.L3_M1Q1_AUGER 
L3_M1Q2_AUGER  = xrl.L3_M1Q2_AUGER 
L3_M1Q3_AUGER  = xrl.L3_M1Q3_AUGER 
L3_M2M1_AUGER  = xrl.L3_M2M1_AUGER 
L3_M2M2_AUGER  = xrl.L3_M2M2_AUGER 
L3_M2M3_AUGER  = xrl.L3_M2M3_AUGER 
L3_M2M4_AUGER  = xrl.L3_M2M4_AUGER 
L3_M2M5_AUGER  = xrl.L3_M2M5_AUGER 
L3_M2N1_AUGER  = xrl.L3_M2N1_AUGER 
L3_M2N2_AUGER  = xrl.L3_M2N2_AUGER 
L3_M2N3_AUGER  = xrl.L3_M2N3_AUGER 
L3_M2N4_AUGER  = xrl.L3_M2N4_AUGER 
L3_M2N5_AUGER  = xrl.L3_M2N5_AUGER 
L3_M2N6_AUGER  = xrl.L3_M2N6_AUGER 
L3_M2N7_AUGER  = xrl.L3_M2N7_AUGER 
L3_M2O1_AUGER  = xrl.L3_M2O1_AUGER 
L3_M2O2_AUGER  = xrl.L3_M2O2_AUGER 
L3_M2O3_AUGER  = xrl.L3_M2O3_AUGER 
L3_M2O4_AUGER  = xrl.L3_M2O4_AUGER 
L3_M2O5_AUGER  = xrl.L3_M2O5_AUGER 
L3_M2O6_AUGER  = xrl.L3_M2O6_AUGER 
L3_M2O7_AUGER  = xrl.L3_M2O7_AUGER 
L3_M2P1_AUGER  = xrl.L3_M2P1_AUGER 
L3_M2P2_AUGER  = xrl.L3_M2P2_AUGER 
L3_M2P3_AUGER  = xrl.L3_M2P3_AUGER 
L3_M2P4_AUGER  = xrl.L3_M2P4_AUGER 
L3_M2P5_AUGER  = xrl.L3_M2P5_AUGER 
L3_M2Q1_AUGER  = xrl.L3_M2Q1_AUGER 
L3_M2Q2_AUGER  = xrl.L3_M2Q2_AUGER 
L3_M2Q3_AUGER  = xrl.L3_M2Q3_AUGER 
L3_M3M1_AUGER  = xrl.L3_M3M1_AUGER 
L3_M3M2_AUGER  = xrl.L3_M3M2_AUGER 
L3_M3M3_AUGER  = xrl.L3_M3M3_AUGER 
L3_M3M4_AUGER  = xrl.L3_M3M4_AUGER 
L3_M3M5_AUGER  = xrl.L3_M3M5_AUGER 
L3_M3N1_AUGER  = xrl.L3_M3N1_AUGER 
L3_M3N2_AUGER  = xrl.L3_M3N2_AUGER 
L3_M3N3_AUGER  = xrl.L3_M3N3_AUGER 
L3_M3N4_AUGER  = xrl.L3_M3N4_AUGER 
L3_M3N5_AUGER  = xrl.L3_M3N5_AUGER 
L3_M3N6_AUGER  = xrl.L3_M3N6_AUGER 
L3_M3N7_AUGER  = xrl.L3_M3N7_AUGER 
L3_M3O1_AUGER  = xrl.L3_M3O1_AUGER 
L3_M3O2_AUGER  = xrl.L3_M3O2_AUGER 
L3_M3O3_AUGER  = xrl.L3_M3O3_AUGER 
L3_M3O4_AUGER  = xrl.L3_M3O4_AUGER 
L3_M3O5_AUGER  = xrl.L3_M3O5_AUGER 
L3_M3O6_AUGER  = xrl.L3_M3O6_AUGER 
L3_M3O7_AUGER  = xrl.L3_M3O7_AUGER 
L3_M3P1_AUGER  = xrl.L3_M3P1_AUGER 
L3_M3P2_AUGER  = xrl.L3_M3P2_AUGER 
L3_M3P3_AUGER  = xrl.L3_M3P3_AUGER 
L3_M3P4_AUGER  = xrl.L3_M3P4_AUGER 
L3_M3P5_AUGER  = xrl.L3_M3P5_AUGER 
L3_M3Q1_AUGER  = xrl.L3_M3Q1_AUGER 
L3_M3Q2_AUGER  = xrl.L3_M3Q2_AUGER 
L3_M3Q3_AUGER  = xrl.L3_M3Q3_AUGER 
L3_M4M1_AUGER  = xrl.L3_M4M1_AUGER 
L3_M4M2_AUGER  = xrl.L3_M4M2_AUGER 
L3_M4M3_AUGER  = xrl.L3_M4M3_AUGER 
L3_M4M4_AUGER  = xrl.L3_M4M4_AUGER 
L3_M4M5_AUGER  = xrl.L3_M4M5_AUGER 
L3_M4N1_AUGER  = xrl.L3_M4N1_AUGER 
L3_M4N2_AUGER  = xrl.L3_M4N2_AUGER 
L3_M4N3_AUGER  = xrl.L3_M4N3_AUGER 
L3_M4N4_AUGER  = xrl.L3_M4N4_AUGER 
L3_M4N5_AUGER  = xrl.L3_M4N5_AUGER 
L3_M4N6_AUGER  = xrl.L3_M4N6_AUGER 
L3_M4N7_AUGER  = xrl.L3_M4N7_AUGER 
L3_M4O1_AUGER  = xrl.L3_M4O1_AUGER 
L3_M4O2_AUGER  = xrl.L3_M4O2_AUGER 
L3_M4O3_AUGER  = xrl.L3_M4O3_AUGER 
L3_M4O4_AUGER  = xrl.L3_M4O4_AUGER 
L3_M4O5_AUGER  = xrl.L3_M4O5_AUGER 
L3_M4O6_AUGER  = xrl.L3_M4O6_AUGER 
L3_M4O7_AUGER  = xrl.L3_M4O7_AUGER 
L3_M4P1_AUGER  = xrl.L3_M4P1_AUGER 
L3_M4P2_AUGER  = xrl.L3_M4P2_AUGER 
L3_M4P3_AUGER  = xrl.L3_M4P3_AUGER 
L3_M4P4_AUGER  = xrl.L3_M4P4_AUGER 
L3_M4P5_AUGER  = xrl.L3_M4P5_AUGER 
L3_M4Q1_AUGER  = xrl.L3_M4Q1_AUGER 
L3_M4Q2_AUGER  = xrl.L3_M4Q2_AUGER 
L3_M4Q3_AUGER  = xrl.L3_M4Q3_AUGER 
L3_M5M1_AUGER  = xrl.L3_M5M1_AUGER 
L3_M5M2_AUGER  = xrl.L3_M5M2_AUGER 
L3_M5M3_AUGER  = xrl.L3_M5M3_AUGER 
L3_M5M4_AUGER  = xrl.L3_M5M4_AUGER 
L3_M5M5_AUGER  = xrl.L3_M5M5_AUGER 
L3_M5N1_AUGER  = xrl.L3_M5N1_AUGER 
L3_M5N2_AUGER  = xrl.L3_M5N2_AUGER 
L3_M5N3_AUGER  = xrl.L3_M5N3_AUGER 
L3_M5N4_AUGER  = xrl.L3_M5N4_AUGER 
L3_M5N5_AUGER  = xrl.L3_M5N5_AUGER 
L3_M5N6_AUGER  = xrl.L3_M5N6_AUGER 
L3_M5N7_AUGER  = xrl.L3_M5N7_AUGER 
L3_M5O1_AUGER  = xrl.L3_M5O1_AUGER 
L3_M5O2_AUGER  = xrl.L3_M5O2_AUGER 
L3_M5O3_AUGER  = xrl.L3_M5O3_AUGER 
L3_M5O4_AUGER  = xrl.L3_M5O4_AUGER 
L3_M5O5_AUGER  = xrl.L3_M5O5_AUGER 
L3_M5O6_AUGER  = xrl.L3_M5O6_AUGER 
L3_M5O7_AUGER  = xrl.L3_M5O7_AUGER 
L3_M5P1_AUGER  = xrl.L3_M5P1_AUGER 
L3_M5P2_AUGER  = xrl.L3_M5P2_AUGER 
L3_M5P3_AUGER  = xrl.L3_M5P3_AUGER 
L3_M5P4_AUGER  = xrl.L3_M5P4_AUGER 
L3_M5P5_AUGER  = xrl.L3_M5P5_AUGER 
L3_M5Q1_AUGER  = xrl.L3_M5Q1_AUGER 
L3_M5Q2_AUGER  = xrl.L3_M5Q2_AUGER 
L3_M5Q3_AUGER  = xrl.L3_M5Q3_AUGER 
M1_M2M2_AUGER  = xrl.M1_M2M2_AUGER 
M1_M2M3_AUGER  = xrl.M1_M2M3_AUGER 
M1_M2M4_AUGER  = xrl.M1_M2M4_AUGER 
M1_M2M5_AUGER  = xrl.M1_M2M5_AUGER 
M1_M2N1_AUGER  = xrl.M1_M2N1_AUGER 
M1_M2N2_AUGER  = xrl.M1_M2N2_AUGER 
M1_M2N3_AUGER  = xrl.M1_M2N3_AUGER 
M1_M2N4_AUGER  = xrl.M1_M2N4_AUGER 
M1_M2N5_AUGER  = xrl.M1_M2N5_AUGER 
M1_M2N6_AUGER  = xrl.M1_M2N6_AUGER 
M1_M2N7_AUGER  = xrl.M1_M2N7_AUGER 
M1_M2O1_AUGER  = xrl.M1_M2O1_AUGER 
M1_M2O2_AUGER  = xrl.M1_M2O2_AUGER 
M1_M2O3_AUGER  = xrl.M1_M2O3_AUGER 
M1_M2O4_AUGER  = xrl.M1_M2O4_AUGER 
M1_M2O5_AUGER  = xrl.M1_M2O5_AUGER 
M1_M2O6_AUGER  = xrl.M1_M2O6_AUGER 
M1_M2O7_AUGER  = xrl.M1_M2O7_AUGER 
M1_M2P1_AUGER  = xrl.M1_M2P1_AUGER 
M1_M2P2_AUGER  = xrl.M1_M2P2_AUGER 
M1_M2P3_AUGER  = xrl.M1_M2P3_AUGER 
M1_M2P4_AUGER  = xrl.M1_M2P4_AUGER 
M1_M2P5_AUGER  = xrl.M1_M2P5_AUGER 
M1_M2Q1_AUGER  = xrl.M1_M2Q1_AUGER 
M1_M2Q2_AUGER  = xrl.M1_M2Q2_AUGER 
M1_M2Q3_AUGER  = xrl.M1_M2Q3_AUGER 
M1_M3M2_AUGER  = xrl.M1_M3M2_AUGER 
M1_M3M3_AUGER  = xrl.M1_M3M3_AUGER 
M1_M3M4_AUGER  = xrl.M1_M3M4_AUGER 
M1_M3M5_AUGER  = xrl.M1_M3M5_AUGER 
M1_M3N1_AUGER  = xrl.M1_M3N1_AUGER 
M1_M3N2_AUGER  = xrl.M1_M3N2_AUGER 
M1_M3N3_AUGER  = xrl.M1_M3N3_AUGER 
M1_M3N4_AUGER  = xrl.M1_M3N4_AUGER 
M1_M3N5_AUGER  = xrl.M1_M3N5_AUGER 
M1_M3N6_AUGER  = xrl.M1_M3N6_AUGER 
M1_M3N7_AUGER  = xrl.M1_M3N7_AUGER 
M1_M3O1_AUGER  = xrl.M1_M3O1_AUGER 
M1_M3O2_AUGER  = xrl.M1_M3O2_AUGER 
M1_M3O3_AUGER  = xrl.M1_M3O3_AUGER 
M1_M3O4_AUGER  = xrl.M1_M3O4_AUGER 
M1_M3O5_AUGER  = xrl.M1_M3O5_AUGER 
M1_M3O6_AUGER  = xrl.M1_M3O6_AUGER 
M1_M3O7_AUGER  = xrl.M1_M3O7_AUGER 
M1_M3P1_AUGER  = xrl.M1_M3P1_AUGER 
M1_M3P2_AUGER  = xrl.M1_M3P2_AUGER 
M1_M3P3_AUGER  = xrl.M1_M3P3_AUGER 
M1_M3P4_AUGER  = xrl.M1_M3P4_AUGER 
M1_M3P5_AUGER  = xrl.M1_M3P5_AUGER 
M1_M3Q1_AUGER  = xrl.M1_M3Q1_AUGER 
M1_M3Q2_AUGER  = xrl.M1_M3Q2_AUGER 
M1_M3Q3_AUGER  = xrl.M1_M3Q3_AUGER 
M1_M4M2_AUGER  = xrl.M1_M4M2_AUGER 
M1_M4M3_AUGER  = xrl.M1_M4M3_AUGER 
M1_M4M4_AUGER  = xrl.M1_M4M4_AUGER 
M1_M4M5_AUGER  = xrl.M1_M4M5_AUGER 
M1_M4N1_AUGER  = xrl.M1_M4N1_AUGER 
M1_M4N2_AUGER  = xrl.M1_M4N2_AUGER 
M1_M4N3_AUGER  = xrl.M1_M4N3_AUGER 
M1_M4N4_AUGER  = xrl.M1_M4N4_AUGER 
M1_M4N5_AUGER  = xrl.M1_M4N5_AUGER 
M1_M4N6_AUGER  = xrl.M1_M4N6_AUGER 
M1_M4N7_AUGER  = xrl.M1_M4N7_AUGER 
M1_M4O1_AUGER  = xrl.M1_M4O1_AUGER 
M1_M4O2_AUGER  = xrl.M1_M4O2_AUGER 
M1_M4O3_AUGER  = xrl.M1_M4O3_AUGER 
M1_M4O4_AUGER  = xrl.M1_M4O4_AUGER 
M1_M4O5_AUGER  = xrl.M1_M4O5_AUGER 
M1_M4O6_AUGER  = xrl.M1_M4O6_AUGER 
M1_M4O7_AUGER  = xrl.M1_M4O7_AUGER 
M1_M4P1_AUGER  = xrl.M1_M4P1_AUGER 
M1_M4P2_AUGER  = xrl.M1_M4P2_AUGER 
M1_M4P3_AUGER  = xrl.M1_M4P3_AUGER 
M1_M4P4_AUGER  = xrl.M1_M4P4_AUGER 
M1_M4P5_AUGER  = xrl.M1_M4P5_AUGER 
M1_M4Q1_AUGER  = xrl.M1_M4Q1_AUGER 
M1_M4Q2_AUGER  = xrl.M1_M4Q2_AUGER 
M1_M4Q3_AUGER  = xrl.M1_M4Q3_AUGER 
M1_M5M2_AUGER  = xrl.M1_M5M2_AUGER 
M1_M5M3_AUGER  = xrl.M1_M5M3_AUGER 
M1_M5M4_AUGER  = xrl.M1_M5M4_AUGER 
M1_M5M5_AUGER  = xrl.M1_M5M5_AUGER 
M1_M5N1_AUGER  = xrl.M1_M5N1_AUGER 
M1_M5N2_AUGER  = xrl.M1_M5N2_AUGER 
M1_M5N3_AUGER  = xrl.M1_M5N3_AUGER 
M1_M5N4_AUGER  = xrl.M1_M5N4_AUGER 
M1_M5N5_AUGER  = xrl.M1_M5N5_AUGER 
M1_M5N6_AUGER  = xrl.M1_M5N6_AUGER 
M1_M5N7_AUGER  = xrl.M1_M5N7_AUGER 
M1_M5O1_AUGER  = xrl.M1_M5O1_AUGER 
M1_M5O2_AUGER  = xrl.M1_M5O2_AUGER 
M1_M5O3_AUGER  = xrl.M1_M5O3_AUGER 
M1_M5O4_AUGER  = xrl.M1_M5O4_AUGER 
M1_M5O5_AUGER  = xrl.M1_M5O5_AUGER 
M1_M5O6_AUGER  = xrl.M1_M5O6_AUGER 
M1_M5O7_AUGER  = xrl.M1_M5O7_AUGER 
M1_M5P1_AUGER  = xrl.M1_M5P1_AUGER 
M1_M5P2_AUGER  = xrl.M1_M5P2_AUGER 
M1_M5P3_AUGER  = xrl.M1_M5P3_AUGER 
M1_M5P4_AUGER  = xrl.M1_M5P4_AUGER 
M1_M5P5_AUGER  = xrl.M1_M5P5_AUGER 
M1_M5Q1_AUGER  = xrl.M1_M5Q1_AUGER 
M1_M5Q2_AUGER  = xrl.M1_M5Q2_AUGER 
M1_M5Q3_AUGER  = xrl.M1_M5Q3_AUGER 
M2_M3M3_AUGER  = xrl.M2_M3M3_AUGER 
M2_M3M4_AUGER  = xrl.M2_M3M4_AUGER 
M2_M3M5_AUGER  = xrl.M2_M3M5_AUGER 
M2_M3N1_AUGER  = xrl.M2_M3N1_AUGER 
M2_M3N2_AUGER  = xrl.M2_M3N2_AUGER 
M2_M3N3_AUGER  = xrl.M2_M3N3_AUGER 
M2_M3N4_AUGER  = xrl.M2_M3N4_AUGER 
M2_M3N5_AUGER  = xrl.M2_M3N5_AUGER 
M2_M3N6_AUGER  = xrl.M2_M3N6_AUGER 
M2_M3N7_AUGER  = xrl.M2_M3N7_AUGER 
M2_M3O1_AUGER  = xrl.M2_M3O1_AUGER 
M2_M3O2_AUGER  = xrl.M2_M3O2_AUGER 
M2_M3O3_AUGER  = xrl.M2_M3O3_AUGER 
M2_M3O4_AUGER  = xrl.M2_M3O4_AUGER 
M2_M3O5_AUGER  = xrl.M2_M3O5_AUGER 
M2_M3O6_AUGER  = xrl.M2_M3O6_AUGER 
M2_M3O7_AUGER  = xrl.M2_M3O7_AUGER 
M2_M3P1_AUGER  = xrl.M2_M3P1_AUGER 
M2_M3P2_AUGER  = xrl.M2_M3P2_AUGER 
M2_M3P3_AUGER  = xrl.M2_M3P3_AUGER 
M2_M3P4_AUGER  = xrl.M2_M3P4_AUGER 
M2_M3P5_AUGER  = xrl.M2_M3P5_AUGER 
M2_M3Q1_AUGER  = xrl.M2_M3Q1_AUGER 
M2_M3Q2_AUGER  = xrl.M2_M3Q2_AUGER 
M2_M3Q3_AUGER  = xrl.M2_M3Q3_AUGER 
M2_M4M3_AUGER  = xrl.M2_M4M3_AUGER 
M2_M4M4_AUGER  = xrl.M2_M4M4_AUGER 
M2_M4M5_AUGER  = xrl.M2_M4M5_AUGER 
M2_M4N1_AUGER  = xrl.M2_M4N1_AUGER 
M2_M4N2_AUGER  = xrl.M2_M4N2_AUGER 
M2_M4N3_AUGER  = xrl.M2_M4N3_AUGER 
M2_M4N4_AUGER  = xrl.M2_M4N4_AUGER 
M2_M4N5_AUGER  = xrl.M2_M4N5_AUGER 
M2_M4N6_AUGER  = xrl.M2_M4N6_AUGER 
M2_M4N7_AUGER  = xrl.M2_M4N7_AUGER 
M2_M4O1_AUGER  = xrl.M2_M4O1_AUGER 
M2_M4O2_AUGER  = xrl.M2_M4O2_AUGER 
M2_M4O3_AUGER  = xrl.M2_M4O3_AUGER 
M2_M4O4_AUGER  = xrl.M2_M4O4_AUGER 
M2_M4O5_AUGER  = xrl.M2_M4O5_AUGER 
M2_M4O6_AUGER  = xrl.M2_M4O6_AUGER 
M2_M4O7_AUGER  = xrl.M2_M4O7_AUGER 
M2_M4P1_AUGER  = xrl.M2_M4P1_AUGER 
M2_M4P2_AUGER  = xrl.M2_M4P2_AUGER 
M2_M4P3_AUGER  = xrl.M2_M4P3_AUGER 
M2_M4P4_AUGER  = xrl.M2_M4P4_AUGER 
M2_M4P5_AUGER  = xrl.M2_M4P5_AUGER 
M2_M4Q1_AUGER  = xrl.M2_M4Q1_AUGER 
M2_M4Q2_AUGER  = xrl.M2_M4Q2_AUGER 
M2_M4Q3_AUGER  = xrl.M2_M4Q3_AUGER 
M2_M5M3_AUGER  = xrl.M2_M5M3_AUGER 
M2_M5M4_AUGER  = xrl.M2_M5M4_AUGER 
M2_M5M5_AUGER  = xrl.M2_M5M5_AUGER 
M2_M5N1_AUGER  = xrl.M2_M5N1_AUGER 
M2_M5N2_AUGER  = xrl.M2_M5N2_AUGER 
M2_M5N3_AUGER  = xrl.M2_M5N3_AUGER 
M2_M5N4_AUGER  = xrl.M2_M5N4_AUGER 
M2_M5N5_AUGER  = xrl.M2_M5N5_AUGER 
M2_M5N6_AUGER  = xrl.M2_M5N6_AUGER 
M2_M5N7_AUGER  = xrl.M2_M5N7_AUGER 
M2_M5O1_AUGER  = xrl.M2_M5O1_AUGER 
M2_M5O2_AUGER  = xrl.M2_M5O2_AUGER 
M2_M5O3_AUGER  = xrl.M2_M5O3_AUGER 
M2_M5O4_AUGER  = xrl.M2_M5O4_AUGER 
M2_M5O5_AUGER  = xrl.M2_M5O5_AUGER 
M2_M5O6_AUGER  = xrl.M2_M5O6_AUGER 
M2_M5O7_AUGER  = xrl.M2_M5O7_AUGER 
M2_M5P1_AUGER  = xrl.M2_M5P1_AUGER 
M2_M5P2_AUGER  = xrl.M2_M5P2_AUGER 
M2_M5P3_AUGER  = xrl.M2_M5P3_AUGER 
M2_M5P4_AUGER  = xrl.M2_M5P4_AUGER 
M2_M5P5_AUGER  = xrl.M2_M5P5_AUGER 
M2_M5Q1_AUGER  = xrl.M2_M5Q1_AUGER 
M2_M5Q2_AUGER  = xrl.M2_M5Q2_AUGER 
M2_M5Q3_AUGER  = xrl.M2_M5Q3_AUGER 
M3_M4M4_AUGER  = xrl.M3_M4M4_AUGER 
M3_M4M5_AUGER  = xrl.M3_M4M5_AUGER 
M3_M4N1_AUGER  = xrl.M3_M4N1_AUGER 
M3_M4N2_AUGER  = xrl.M3_M4N2_AUGER 
M3_M4N3_AUGER  = xrl.M3_M4N3_AUGER 
M3_M4N4_AUGER  = xrl.M3_M4N4_AUGER 
M3_M4N5_AUGER  = xrl.M3_M4N5_AUGER 
M3_M4N6_AUGER  = xrl.M3_M4N6_AUGER 
M3_M4N7_AUGER  = xrl.M3_M4N7_AUGER 
M3_M4O1_AUGER  = xrl.M3_M4O1_AUGER 
M3_M4O2_AUGER  = xrl.M3_M4O2_AUGER 
M3_M4O3_AUGER  = xrl.M3_M4O3_AUGER 
M3_M4O4_AUGER  = xrl.M3_M4O4_AUGER 
M3_M4O5_AUGER  = xrl.M3_M4O5_AUGER 
M3_M4O6_AUGER  = xrl.M3_M4O6_AUGER 
M3_M4O7_AUGER  = xrl.M3_M4O7_AUGER 
M3_M4P1_AUGER  = xrl.M3_M4P1_AUGER 
M3_M4P2_AUGER  = xrl.M3_M4P2_AUGER 
M3_M4P3_AUGER  = xrl.M3_M4P3_AUGER 
M3_M4P4_AUGER  = xrl.M3_M4P4_AUGER 
M3_M4P5_AUGER  = xrl.M3_M4P5_AUGER 
M3_M4Q1_AUGER  = xrl.M3_M4Q1_AUGER 
M3_M4Q2_AUGER  = xrl.M3_M4Q2_AUGER 
M3_M4Q3_AUGER  = xrl.M3_M4Q3_AUGER 
M3_M5M4_AUGER  = xrl.M3_M5M4_AUGER 
M3_M5M5_AUGER  = xrl.M3_M5M5_AUGER 
M3_M5N1_AUGER  = xrl.M3_M5N1_AUGER 
M3_M5N2_AUGER  = xrl.M3_M5N2_AUGER 
M3_M5N3_AUGER  = xrl.M3_M5N3_AUGER 
M3_M5N4_AUGER  = xrl.M3_M5N4_AUGER 
M3_M5N5_AUGER  = xrl.M3_M5N5_AUGER 
M3_M5N6_AUGER  = xrl.M3_M5N6_AUGER 
M3_M5N7_AUGER  = xrl.M3_M5N7_AUGER 
M3_M5O1_AUGER  = xrl.M3_M5O1_AUGER 
M3_M5O2_AUGER  = xrl.M3_M5O2_AUGER 
M3_M5O3_AUGER  = xrl.M3_M5O3_AUGER 
M3_M5O4_AUGER  = xrl.M3_M5O4_AUGER 
M3_M5O5_AUGER  = xrl.M3_M5O5_AUGER 
M3_M5O6_AUGER  = xrl.M3_M5O6_AUGER 
M3_M5O7_AUGER  = xrl.M3_M5O7_AUGER 
M3_M5P1_AUGER  = xrl.M3_M5P1_AUGER 
M3_M5P2_AUGER  = xrl.M3_M5P2_AUGER 
M3_M5P3_AUGER  = xrl.M3_M5P3_AUGER 
M3_M5P4_AUGER  = xrl.M3_M5P4_AUGER 
M3_M5P5_AUGER  = xrl.M3_M5P5_AUGER 
M3_M5Q1_AUGER  = xrl.M3_M5Q1_AUGER 
M3_M5Q2_AUGER  = xrl.M3_M5Q2_AUGER 
M3_M5Q3_AUGER  = xrl.M3_M5Q3_AUGER 
M4_M5M5_AUGER  = xrl.M4_M5M5_AUGER 
M4_M5N1_AUGER  = xrl.M4_M5N1_AUGER 
M4_M5N2_AUGER  = xrl.M4_M5N2_AUGER 
M4_M5N3_AUGER  = xrl.M4_M5N3_AUGER 
M4_M5N4_AUGER  = xrl.M4_M5N4_AUGER 
M4_M5N5_AUGER  = xrl.M4_M5N5_AUGER 
M4_M5N6_AUGER  = xrl.M4_M5N6_AUGER 
M4_M5N7_AUGER  = xrl.M4_M5N7_AUGER 
M4_M5O1_AUGER  = xrl.M4_M5O1_AUGER 
M4_M5O2_AUGER  = xrl.M4_M5O2_AUGER 
M4_M5O3_AUGER  = xrl.M4_M5O3_AUGER 
M4_M5O4_AUGER  = xrl.M4_M5O4_AUGER 
M4_M5O5_AUGER  = xrl.M4_M5O5_AUGER 
M4_M5O6_AUGER  = xrl.M4_M5O6_AUGER 
M4_M5O7_AUGER  = xrl.M4_M5O7_AUGER 
M4_M5P1_AUGER  = xrl.M4_M5P1_AUGER 
M4_M5P2_AUGER  = xrl.M4_M5P2_AUGER 
M4_M5P3_AUGER  = xrl.M4_M5P3_AUGER 
M4_M5P4_AUGER  = xrl.M4_M5P4_AUGER 
M4_M5P5_AUGER  = xrl.M4_M5P5_AUGER 
M4_M5Q1_AUGER  = xrl.M4_M5Q1_AUGER 
M4_M5Q2_AUGER  = xrl.M4_M5Q2_AUGER 
M4_M5Q3_AUGER  = xrl.M4_M5Q3_AUGER 
KL1_LINE = xrl.KL1_LINE
KL2_LINE = xrl.KL2_LINE
KL3_LINE = xrl.KL3_LINE
KM1_LINE = xrl.KM1_LINE
KM2_LINE = xrl.KM2_LINE
KM3_LINE = xrl.KM3_LINE
KM4_LINE = xrl.KM4_LINE
KM5_LINE = xrl.KM5_LINE
KN1_LINE = xrl.KN1_LINE
KN2_LINE = xrl.KN2_LINE
KN3_LINE = xrl.KN3_LINE
KN4_LINE = xrl.KN4_LINE
KN5_LINE = xrl.KN5_LINE
KN6_LINE = xrl.KN6_LINE
KN7_LINE = xrl.KN7_LINE
KO_LINE = xrl.KO_LINE
KO1_LINE = xrl.KO1_LINE
KO2_LINE = xrl.KO2_LINE
KO3_LINE = xrl.KO3_LINE
KO4_LINE = xrl.KO4_LINE
KO5_LINE = xrl.KO5_LINE
KO6_LINE = xrl.KO6_LINE
KO7_LINE = xrl.KO7_LINE
KP_LINE = xrl.KP_LINE
KP1_LINE = xrl.KP1_LINE
KP2_LINE = xrl.KP2_LINE
KP3_LINE = xrl.KP3_LINE
KP4_LINE = xrl.KP4_LINE
KP5_LINE = xrl.KP5_LINE
L1L2_LINE = xrl.L1L2_LINE
L1L3_LINE = xrl.L1L3_LINE
L1M1_LINE = xrl.L1M1_LINE
L1M2_LINE = xrl.L1M2_LINE
L1M3_LINE = xrl.L1M3_LINE
L1M4_LINE = xrl.L1M4_LINE
L1M5_LINE = xrl.L1M5_LINE
L1N1_LINE = xrl.L1N1_LINE
L1N2_LINE = xrl.L1N2_LINE
L1N3_LINE = xrl.L1N3_LINE
L1N4_LINE = xrl.L1N4_LINE
L1N5_LINE = xrl.L1N5_LINE
L1N6_LINE = xrl.L1N6_LINE
L1N67_LINE = xrl.L1N67_LINE
L1N7_LINE = xrl.L1N7_LINE
L1O1_LINE = xrl.L1O1_LINE
L1O2_LINE = xrl.L1O2_LINE
L1O3_LINE = xrl.L1O3_LINE
L1O4_LINE = xrl.L1O4_LINE
L1O45_LINE = xrl.L1O45_LINE
L1O5_LINE = xrl.L1O5_LINE
L1O6_LINE = xrl.L1O6_LINE
L1O7_LINE = xrl.L1O7_LINE
L1P1_LINE = xrl.L1P1_LINE
L1P2_LINE = xrl.L1P2_LINE
L1P23_LINE = xrl.L1P23_LINE
L1P3_LINE = xrl.L1P3_LINE
L1P4_LINE = xrl.L1P4_LINE
L1P5_LINE = xrl.L1P5_LINE
L2L3_LINE = xrl.L2L3_LINE
L2M1_LINE = xrl.L2M1_LINE
L2M2_LINE = xrl.L2M2_LINE
L2M3_LINE = xrl.L2M3_LINE
L2M4_LINE = xrl.L2M4_LINE
L2M5_LINE = xrl.L2M5_LINE
L2N1_LINE = xrl.L2N1_LINE
L2N2_LINE = xrl.L2N2_LINE
L2N3_LINE = xrl.L2N3_LINE
L2N4_LINE = xrl.L2N4_LINE
L2N5_LINE = xrl.L2N5_LINE
L2N6_LINE = xrl.L2N6_LINE
L2N7_LINE = xrl.L2N7_LINE
L2O1_LINE = xrl.L2O1_LINE
L2O2_LINE = xrl.L2O2_LINE
L2O3_LINE = xrl.L2O3_LINE
L2O4_LINE = xrl.L2O4_LINE
L2O5_LINE = xrl.L2O5_LINE
L2O6_LINE = xrl.L2O6_LINE
L2O7_LINE = xrl.L2O7_LINE
L2P1_LINE = xrl.L2P1_LINE
L2P2_LINE = xrl.L2P2_LINE
L2P23_LINE = xrl.L2P23_LINE
L2P3_LINE = xrl.L2P3_LINE
L2P4_LINE = xrl.L2P4_LINE
L2P5_LINE = xrl.L2P5_LINE
L2Q1_LINE = xrl.L2Q1_LINE
L3M1_LINE = xrl.L3M1_LINE
L3M2_LINE = xrl.L3M2_LINE
L3M3_LINE = xrl.L3M3_LINE
L3M4_LINE = xrl.L3M4_LINE
L3M5_LINE = xrl.L3M5_LINE
L3N1_LINE = xrl.L3N1_LINE
L3N2_LINE = xrl.L3N2_LINE
L3N3_LINE = xrl.L3N3_LINE
L3N4_LINE = xrl.L3N4_LINE
L3N5_LINE = xrl.L3N5_LINE
L3N6_LINE = xrl.L3N6_LINE
L3N7_LINE = xrl.L3N7_LINE
L3O1_LINE = xrl.L3O1_LINE
L3O2_LINE = xrl.L3O2_LINE
L3O3_LINE = xrl.L3O3_LINE
L3O4_LINE = xrl.L3O4_LINE
L3O45_LINE = xrl.L3O45_LINE
L3O5_LINE = xrl.L3O5_LINE
L3O6_LINE = xrl.L3O6_LINE
L3O7_LINE = xrl.L3O7_LINE
L3P1_LINE = xrl.L3P1_LINE
L3P2_LINE = xrl.L3P2_LINE
L3P23_LINE = xrl.L3P23_LINE
L3P3_LINE = xrl.L3P3_LINE
L3P4_LINE = xrl.L3P4_LINE
L3P45_LINE = xrl.L3P45_LINE
L3P5_LINE = xrl.L3P5_LINE
L3Q1_LINE = xrl.L3Q1_LINE
M1M2_LINE = xrl.M1M2_LINE
M1M3_LINE = xrl.M1M3_LINE
M1M4_LINE = xrl.M1M4_LINE
M1M5_LINE = xrl.M1M5_LINE
M1N1_LINE = xrl.M1N1_LINE
M1N2_LINE = xrl.M1N2_LINE
M1N3_LINE = xrl.M1N3_LINE
M1N4_LINE = xrl.M1N4_LINE
M1N5_LINE = xrl.M1N5_LINE
M1N6_LINE = xrl.M1N6_LINE
M1N7_LINE = xrl.M1N7_LINE
M1O1_LINE = xrl.M1O1_LINE
M1O2_LINE = xrl.M1O2_LINE
M1O3_LINE = xrl.M1O3_LINE
M1O4_LINE = xrl.M1O4_LINE
M1O5_LINE = xrl.M1O5_LINE
M1O6_LINE = xrl.M1O6_LINE
M1O7_LINE = xrl.M1O7_LINE
M1P1_LINE = xrl.M1P1_LINE
M1P2_LINE = xrl.M1P2_LINE
M1P3_LINE = xrl.M1P3_LINE
M1P4_LINE = xrl.M1P4_LINE
M1P5_LINE = xrl.M1P5_LINE
M2M3_LINE = xrl.M2M3_LINE
M2M4_LINE = xrl.M2M4_LINE
M2M5_LINE = xrl.M2M5_LINE
M2N1_LINE = xrl.M2N1_LINE
M2N2_LINE = xrl.M2N2_LINE
M2N3_LINE = xrl.M2N3_LINE
M2N4_LINE = xrl.M2N4_LINE
M2N5_LINE = xrl.M2N5_LINE
M2N6_LINE = xrl.M2N6_LINE
M2N7_LINE = xrl.M2N7_LINE
M2O1_LINE = xrl.M2O1_LINE
M2O2_LINE = xrl.M2O2_LINE
M2O3_LINE = xrl.M2O3_LINE
M2O4_LINE = xrl.M2O4_LINE
M2O5_LINE = xrl.M2O5_LINE
M2O6_LINE = xrl.M2O6_LINE
M2O7_LINE = xrl.M2O7_LINE
M2P1_LINE = xrl.M2P1_LINE
M2P2_LINE = xrl.M2P2_LINE
M2P3_LINE = xrl.M2P3_LINE
M2P4_LINE = xrl.M2P4_LINE
M2P5_LINE = xrl.M2P5_LINE
M3M4_LINE = xrl.M3M4_LINE
M3M5_LINE = xrl.M3M5_LINE
M3N1_LINE = xrl.M3N1_LINE
M3N2_LINE = xrl.M3N2_LINE
M3N3_LINE = xrl.M3N3_LINE
M3N4_LINE = xrl.M3N4_LINE
M3N5_LINE = xrl.M3N5_LINE
M3N6_LINE = xrl.M3N6_LINE
M3N7_LINE = xrl.M3N7_LINE
M3O1_LINE = xrl.M3O1_LINE
M3O2_LINE = xrl.M3O2_LINE
M3O3_LINE = xrl.M3O3_LINE
M3O4_LINE = xrl.M3O4_LINE
M3O5_LINE = xrl.M3O5_LINE
M3O6_LINE = xrl.M3O6_LINE
M3O7_LINE = xrl.M3O7_LINE
M3P1_LINE = xrl.M3P1_LINE
M3P2_LINE = xrl.M3P2_LINE
M3P3_LINE = xrl.M3P3_LINE
M3P4_LINE = xrl.M3P4_LINE
M3P5_LINE = xrl.M3P5_LINE
M3Q1_LINE = xrl.M3Q1_LINE
M4M5_LINE = xrl.M4M5_LINE
M4N1_LINE = xrl.M4N1_LINE
M4N2_LINE = xrl.M4N2_LINE
M4N3_LINE = xrl.M4N3_LINE
M4N4_LINE = xrl.M4N4_LINE
M4N5_LINE = xrl.M4N5_LINE
M4N6_LINE = xrl.M4N6_LINE
M4N7_LINE = xrl.M4N7_LINE
M4O1_LINE = xrl.M4O1_LINE
M4O2_LINE = xrl.M4O2_LINE
M4O3_LINE = xrl.M4O3_LINE
M4O4_LINE = xrl.M4O4_LINE
M4O5_LINE = xrl.M4O5_LINE
M4O6_LINE = xrl.M4O6_LINE
M4O7_LINE = xrl.M4O7_LINE
M4P1_LINE = xrl.M4P1_LINE
M4P2_LINE = xrl.M4P2_LINE
M4P3_LINE = xrl.M4P3_LINE
M4P4_LINE = xrl.M4P4_LINE
M4P5_LINE = xrl.M4P5_LINE
M5N1_LINE = xrl.M5N1_LINE
M5N2_LINE = xrl.M5N2_LINE
M5N3_LINE = xrl.M5N3_LINE
M5N4_LINE = xrl.M5N4_LINE
M5N5_LINE = xrl.M5N5_LINE
M5N6_LINE = xrl.M5N6_LINE
M5N7_LINE = xrl.M5N7_LINE
M5O1_LINE = xrl.M5O1_LINE
M5O2_LINE = xrl.M5O2_LINE
M5O3_LINE = xrl.M5O3_LINE
M5O4_LINE = xrl.M5O4_LINE
M5O5_LINE = xrl.M5O5_LINE
M5O6_LINE = xrl.M5O6_LINE
M5O7_LINE = xrl.M5O7_LINE
M5P1_LINE = xrl.M5P1_LINE
M5P2_LINE = xrl.M5P2_LINE
M5P3_LINE = xrl.M5P3_LINE
M5P4_LINE = xrl.M5P4_LINE
M5P5_LINE = xrl.M5P5_LINE
N1N2_LINE = xrl.N1N2_LINE
N1N3_LINE = xrl.N1N3_LINE
N1N4_LINE = xrl.N1N4_LINE
N1N5_LINE = xrl.N1N5_LINE
N1N6_LINE = xrl.N1N6_LINE
N1N7_LINE = xrl.N1N7_LINE
N1O1_LINE = xrl.N1O1_LINE
N1O2_LINE = xrl.N1O2_LINE
N1O3_LINE = xrl.N1O3_LINE
N1O4_LINE = xrl.N1O4_LINE
N1O5_LINE = xrl.N1O5_LINE
N1O6_LINE = xrl.N1O6_LINE
N1O7_LINE = xrl.N1O7_LINE
N1P1_LINE = xrl.N1P1_LINE
N1P2_LINE = xrl.N1P2_LINE
N1P3_LINE = xrl.N1P3_LINE
N1P4_LINE = xrl.N1P4_LINE
N1P5_LINE = xrl.N1P5_LINE
N2N3_LINE = xrl.N2N3_LINE
N2N4_LINE = xrl.N2N4_LINE
N2N5_LINE = xrl.N2N5_LINE
N2N6_LINE = xrl.N2N6_LINE
N2N7_LINE = xrl.N2N7_LINE
N2O1_LINE = xrl.N2O1_LINE
N2O2_LINE = xrl.N2O2_LINE
N2O3_LINE = xrl.N2O3_LINE
N2O4_LINE = xrl.N2O4_LINE
N2O5_LINE = xrl.N2O5_LINE
N2O6_LINE = xrl.N2O6_LINE
N2O7_LINE = xrl.N2O7_LINE
N2P1_LINE = xrl.N2P1_LINE
N2P2_LINE = xrl.N2P2_LINE
N2P3_LINE = xrl.N2P3_LINE
N2P4_LINE = xrl.N2P4_LINE
N2P5_LINE = xrl.N2P5_LINE
N3N4_LINE = xrl.N3N4_LINE
N3N5_LINE = xrl.N3N5_LINE
N3N6_LINE = xrl.N3N6_LINE
N3N7_LINE = xrl.N3N7_LINE
N3O1_LINE = xrl.N3O1_LINE
N3O2_LINE = xrl.N3O2_LINE
N3O3_LINE = xrl.N3O3_LINE
N3O4_LINE = xrl.N3O4_LINE
N3O5_LINE = xrl.N3O5_LINE
N3O6_LINE = xrl.N3O6_LINE
N3O7_LINE = xrl.N3O7_LINE
N3P1_LINE = xrl.N3P1_LINE
N3P2_LINE = xrl.N3P2_LINE
N3P3_LINE = xrl.N3P3_LINE
N3P4_LINE = xrl.N3P4_LINE
N3P5_LINE = xrl.N3P5_LINE
N4N5_LINE = xrl.N4N5_LINE
N4N6_LINE = xrl.N4N6_LINE
N4N7_LINE = xrl.N4N7_LINE
N4O1_LINE = xrl.N4O1_LINE
N4O2_LINE = xrl.N4O2_LINE
N4O3_LINE = xrl.N4O3_LINE
N4O4_LINE = xrl.N4O4_LINE
N4O5_LINE = xrl.N4O5_LINE
N4O6_LINE = xrl.N4O6_LINE
N4O7_LINE = xrl.N4O7_LINE
N4P1_LINE = xrl.N4P1_LINE
N4P2_LINE = xrl.N4P2_LINE
N4P3_LINE = xrl.N4P3_LINE
N4P4_LINE = xrl.N4P4_LINE
N4P5_LINE = xrl.N4P5_LINE
N5N6_LINE = xrl.N5N6_LINE
N5N7_LINE = xrl.N5N7_LINE
N5O1_LINE = xrl.N5O1_LINE
N5O2_LINE = xrl.N5O2_LINE
N5O3_LINE = xrl.N5O3_LINE
N5O4_LINE = xrl.N5O4_LINE
N5O5_LINE = xrl.N5O5_LINE
N5O6_LINE = xrl.N5O6_LINE
N5O7_LINE = xrl.N5O7_LINE
N5P1_LINE = xrl.N5P1_LINE
N5P2_LINE = xrl.N5P2_LINE
N5P3_LINE = xrl.N5P3_LINE
N5P4_LINE = xrl.N5P4_LINE
N5P5_LINE = xrl.N5P5_LINE
N6N7_LINE = xrl.N6N7_LINE
N6O1_LINE = xrl.N6O1_LINE
N6O2_LINE = xrl.N6O2_LINE
N6O3_LINE = xrl.N6O3_LINE
N6O4_LINE = xrl.N6O4_LINE
N6O5_LINE = xrl.N6O5_LINE
N6O6_LINE = xrl.N6O6_LINE
N6O7_LINE = xrl.N6O7_LINE
N6P1_LINE = xrl.N6P1_LINE
N6P2_LINE = xrl.N6P2_LINE
N6P3_LINE = xrl.N6P3_LINE
N6P4_LINE = xrl.N6P4_LINE
N6P5_LINE = xrl.N6P5_LINE
N7O1_LINE = xrl.N7O1_LINE
N7O2_LINE = xrl.N7O2_LINE
N7O3_LINE = xrl.N7O3_LINE
N7O4_LINE = xrl.N7O4_LINE
N7O5_LINE = xrl.N7O5_LINE
N7O6_LINE = xrl.N7O6_LINE
N7O7_LINE = xrl.N7O7_LINE
N7P1_LINE = xrl.N7P1_LINE
N7P2_LINE = xrl.N7P2_LINE
N7P3_LINE = xrl.N7P3_LINE
N7P4_LINE = xrl.N7P4_LINE
N7P5_LINE = xrl.N7P5_LINE
O1O2_LINE = xrl.O1O2_LINE
O1O3_LINE = xrl.O1O3_LINE
O1O4_LINE = xrl.O1O4_LINE
O1O5_LINE = xrl.O1O5_LINE
O1O6_LINE = xrl.O1O6_LINE
O1O7_LINE = xrl.O1O7_LINE
O1P1_LINE = xrl.O1P1_LINE
O1P2_LINE = xrl.O1P2_LINE
O1P3_LINE = xrl.O1P3_LINE
O1P4_LINE = xrl.O1P4_LINE
O1P5_LINE = xrl.O1P5_LINE
O2O3_LINE = xrl.O2O3_LINE
O2O4_LINE = xrl.O2O4_LINE
O2O5_LINE = xrl.O2O5_LINE
O2O6_LINE = xrl.O2O6_LINE
O2O7_LINE = xrl.O2O7_LINE
O2P1_LINE = xrl.O2P1_LINE
O2P2_LINE = xrl.O2P2_LINE
O2P3_LINE = xrl.O2P3_LINE
O2P4_LINE = xrl.O2P4_LINE
O2P5_LINE = xrl.O2P5_LINE
O3O4_LINE = xrl.O3O4_LINE
O3O5_LINE = xrl.O3O5_LINE
O3O6_LINE = xrl.O3O6_LINE
O3O7_LINE = xrl.O3O7_LINE
O3P1_LINE = xrl.O3P1_LINE
O3P2_LINE = xrl.O3P2_LINE
O3P3_LINE = xrl.O3P3_LINE
O3P4_LINE = xrl.O3P4_LINE
O3P5_LINE = xrl.O3P5_LINE
O4O5_LINE = xrl.O4O5_LINE
O4O6_LINE = xrl.O4O6_LINE
O4O7_LINE = xrl.O4O7_LINE
O4P1_LINE = xrl.O4P1_LINE
O4P2_LINE = xrl.O4P2_LINE
O4P3_LINE = xrl.O4P3_LINE
O4P4_LINE = xrl.O4P4_LINE
O4P5_LINE = xrl.O4P5_LINE
O5O6_LINE = xrl.O5O6_LINE
O5O7_LINE = xrl.O5O7_LINE
O5P1_LINE = xrl.O5P1_LINE
O5P2_LINE = xrl.O5P2_LINE
O5P3_LINE = xrl.O5P3_LINE
O5P4_LINE = xrl.O5P4_LINE
O5P5_LINE = xrl.O5P5_LINE
O6O7_LINE = xrl.O6O7_LINE
O6P4_LINE = xrl.O6P4_LINE
O6P5_LINE = xrl.O6P5_LINE
O7P4_LINE = xrl.O7P4_LINE
O7P5_LINE = xrl.O7P5_LINE
P1P2_LINE = xrl.P1P2_LINE
P1P3_LINE = xrl.P1P3_LINE
P1P4_LINE = xrl.P1P4_LINE
P1P5_LINE = xrl.P1P5_LINE
P2P3_LINE = xrl.P2P3_LINE
P2P4_LINE = xrl.P2P4_LINE
P2P5_LINE = xrl.P2P5_LINE
P3P4_LINE = xrl.P3P4_LINE
P3P5_LINE = xrl.P3P5_LINE
K_SHELL = xrl.K_SHELL
L1_SHELL = xrl.L1_SHELL
L2_SHELL = xrl.L2_SHELL
L3_SHELL = xrl.L3_SHELL
M1_SHELL = xrl.M1_SHELL
M2_SHELL = xrl.M2_SHELL
M3_SHELL = xrl.M3_SHELL
M4_SHELL = xrl.M4_SHELL
M5_SHELL = xrl.M5_SHELL
N1_SHELL = xrl.N1_SHELL
N2_SHELL = xrl.N2_SHELL
N3_SHELL = xrl.N3_SHELL
N4_SHELL = xrl.N4_SHELL
N5_SHELL = xrl.N5_SHELL
N6_SHELL = xrl.N6_SHELL
N7_SHELL = xrl.N7_SHELL
O1_SHELL = xrl.O1_SHELL
O2_SHELL = xrl.O2_SHELL
O3_SHELL = xrl.O3_SHELL
O4_SHELL = xrl.O4_SHELL
O5_SHELL = xrl.O5_SHELL
O6_SHELL = xrl.O6_SHELL
O7_SHELL = xrl.O7_SHELL
P1_SHELL = xrl.P1_SHELL
P2_SHELL = xrl.P2_SHELL
P3_SHELL = xrl.P3_SHELL
P4_SHELL = xrl.P4_SHELL
P5_SHELL = xrl.P5_SHELL
Q1_SHELL = xrl.Q1_SHELL
Q2_SHELL = xrl.Q2_SHELL
Q3_SHELL = xrl.Q3_SHELL

def AtomicWeight(cnp.ndarray[int64_t, ndim=1] Z not None):
    #cdef cnp.ndarray[double] Zcopy = np.reshape(Z, Z.size, order='C')
    cdef cnp.ndarray[double, ndim=1, mode='c'] AW = np.empty((Z.shape[0]))
    for i in range(Z.shape[0]):
        AW[i] = xrl.AtomicWeight(Z[i], NULL)
    return AW


def XRayInit():
    xrl.XRayInit()

cdef extern from "xraylib-deprecated-private.h":
    """
    XRL_GNUC_BEGIN_IGNORE_DEPRECATIONS
    """

def SetHardExit(int hard_exit):
    xrl.SetHardExit(hard_exit)

def SetExitStatus(int exit_status):
    xrl.SetExitStatus(exit_status)

def GetExitStatus():
    return xrl.GetExitStatus()

def SetErrorMessages(int status):
    xrl.SetErrorMessages(status)

def GetErrorMessages():
    return xrl.GetErrorMessages()

def XRL_1I(fun_wrap):
    def fun(cnp.ndarray[int64_t, ndim=1] arg1 not None):
        cdef int i
        cdef int i_max = arg1.shape[0]
        cdef cnp.ndarray[double, ndim=1, mode='c'] rv = np.empty((i_max))
        for i in range(i_max):
            rv[i] = fun_wrap(arg1[i])
        return rv
    return fun

def XRL_2II(fun_wrap):
    def fun(cnp.ndarray[int64_t, ndim=1] arg1 not None,
        cnp.ndarray[int64_t, ndim=1] arg2 not None):
        cdef int i, j
        cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
        cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
        for i in range(i_max):
            for j in range(j_max):
                rv[i,j] = fun_wrap(arg1[i], arg2[j])
        return rv
    return fun

def CS_Total(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.CS_Total(arg1[i], arg2[j], NULL)
    return rv

def CS_Photo(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.CS_Photo(arg1[i], arg2[j], NULL)
    return rv

def CS_Rayl(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.CS_Rayl(arg1[i], arg2[j], NULL)
    return rv

def CS_Compt(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.CS_Compt(arg1[i], arg2[j], NULL)
    return rv

def CS_Energy(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.CS_Energy(arg1[i], arg2[j], NULL)
    return rv

def CSb_Total(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.CSb_Total(arg1[i], arg2[j], NULL)
    return rv

def CSb_Photo(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.CSb_Photo(arg1[i], arg2[j], NULL)
    return rv

def CSb_Rayl(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.CSb_Rayl(arg1[i], arg2[j], NULL)
    return rv

def CSb_Compt(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.CSb_Compt(arg1[i], arg2[j], NULL)
    return rv

def CS_Photo_Total(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.CS_Photo_Total(arg1[i], arg2[j], NULL)
    return rv

def CSb_Photo_Total(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.CSb_Photo_Total(arg1[i], arg2[j], NULL)
    return rv

def CS_Total_Kissel(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.CS_Total_Kissel(arg1[i], arg2[j], NULL)
    return rv

def CSb_Total_Kissel(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.CSb_Total_Kissel(arg1[i], arg2[j], NULL)
    return rv

def FF_Rayl(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.FF_Rayl(arg1[i], arg2[j], NULL)
    return rv

def SF_Compt(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.SF_Compt(arg1[i], arg2[j], NULL)
    return rv

def Fi(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.Fi(arg1[i], arg2[j], NULL)
    return rv

def Fii(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.Fii(arg1[i], arg2[j], NULL)
    return rv

def ComptonProfile(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int i, j
    cdef int ij
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.ComptonProfile(arg1[i], arg2[j], NULL)
    return rv

def CS_KN(cnp.ndarray[double, ndim=1] arg1 not None):
    cdef int i
    cdef int i_max = arg1.shape[0]
    cdef cnp.ndarray[double, ndim=1, mode='c'] rv = np.empty((i_max))
    for i in prange(i_max, nogil=True):
        rv[i] = xrl.CS_KN(arg1[i], NULL)
    return rv

def DCS_Thoms(cnp.ndarray[double, ndim=1] arg1 not None):
    cdef int i
    cdef int i_max = arg1.shape[0]
    cdef cnp.ndarray[double, ndim=1, mode='c'] rv = np.empty((i_max))
    for i in prange(i_max, nogil=True):
        rv[i] = xrl.DCS_Thoms(arg1[i], NULL)
    return rv

def DCS_KN(
    cnp.ndarray[double, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int ij
    cdef int i, j
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.DCS_KN(arg1[i], arg2[j], NULL)
    return rv

def DCSP_Thoms(
    cnp.ndarray[double, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int ij
    cdef int i, j
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.DCSP_Thoms(arg1[i], arg2[j], NULL)
    return rv

def MomentTransf(
    cnp.ndarray[double, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int ij
    cdef int i, j
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.MomentTransf(arg1[i], arg2[j], NULL)
    return rv

def ComptonEnergy(
    cnp.ndarray[double, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None):
    cdef int ij
    cdef int i, j
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0]
    cdef cnp.ndarray[double, ndim=2, mode='c'] rv = np.empty((i_max, j_max))
    for ij in prange(i_max * j_max, nogil=True):
        j = ij % j_max
        i = ij // j_max
        rv[i,j] = xrl.ComptonEnergy(arg1[i], arg2[j], NULL)
    return rv

def DCS_Rayl(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int ijk
    cdef int i, j, k
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.DCS_Rayl(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def DCS_Compt(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int ijk
    cdef int i, j, k
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.DCS_Compt(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def DCSb_Rayl(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int ijk
    cdef int i, j, k
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.DCSb_Rayl(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def DCSb_Compt(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int ijk
    cdef int i, j, k
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.DCSb_Compt(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def DCSP_KN(
    cnp.ndarray[double, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int ijk
    cdef int i, j, k
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.DCSP_KN(arg1[i], arg2[j], arg3[k], NULL)
    return rv


def CS_FluorLine(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CS_FluorLine(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CSb_FluorLine(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CSb_FluorLine(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CS_FluorShell(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CS_FluorShell(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CSb_FluorShell(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CSb_FluorShell(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CS_Photo_Partial(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CS_Photo_Partial(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CSb_Photo_Partial(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CSb_Photo_Partial(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def ComptonProfile_Partial(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.ComptonProfile_Partial(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CS_FluorLine_Kissel(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CS_FluorLine_Kissel(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CSb_FluorLine_Kissel(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CSb_FluorLine_Kissel(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CS_FluorLine_Kissel_Cascade(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CS_FluorLine_Kissel_Cascade(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CSb_FluorLine_Kissel_Cascade(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CSb_FluorLine_Kissel_Cascade(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CS_FluorLine_Kissel_no_Cascade(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CS_FluorLine_Kissel_no_Cascade(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CSb_FluorLine_Kissel_no_Cascade(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CSb_FluorLine_Kissel_no_Cascade(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CS_FluorLine_Kissel_Nonradiative_Cascade(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CS_FluorLine_Kissel_Nonradiative_Cascade(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CSb_FluorLine_Kissel_Nonradiative_Cascade(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CSb_FluorLine_Kissel_Nonradiative_Cascade(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CS_FluorLine_Kissel_Radiative_Cascade(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CS_FluorLine_Kissel_Radiative_Cascade(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CSb_FluorLine_Kissel_Radiative_Cascade(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CSb_FluorLine_Kissel_Radiative_Cascade(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CS_FluorShell_Kissel(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CS_FluorShell_Kissel(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CSb_FluorShell_Kissel(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CSb_FluorShell_Kissel(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CS_FluorShell_Kissel_Cascade(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CS_FluorShell_Kissel_Cascade(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CSb_FluorShell_Kissel_Cascade(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CSb_FluorShell_Kissel_Cascade(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CS_FluorShell_Kissel_no_Cascade(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CS_FluorShell_Kissel_no_Cascade(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CSb_FluorShell_Kissel_no_Cascade(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CSb_FluorShell_Kissel_no_Cascade(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CS_FluorShell_Kissel_Nonradiative_Cascade(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CS_FluorShell_Kissel_Nonradiative_Cascade(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CSb_FluorShell_Kissel_Nonradiative_Cascade(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CSb_FluorShell_Kissel_Nonradiative_Cascade(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CS_FluorShell_Kissel_Radiative_Cascade(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CS_FluorShell_Kissel_Radiative_Cascade(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def CSb_FluorShell_Kissel_Radiative_Cascade(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[int64_t, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None):
    cdef int i, j, k
    cdef int ijk
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0]
    cdef cnp.ndarray[double, ndim=3, mode='c'] rv = np.empty((i_max, j_max, k_max))
    for ijk in prange(i_max * j_max * k_max, nogil=True):
        k = ijk % k_max
        j = ijk // k_max % j_max
        i = ijk // k_max // j_max
        rv[i,j,k] = xrl.CSb_FluorShell_Kissel_Radiative_Cascade(arg1[i], arg2[j], arg3[k], NULL)
    return rv

def DCSP_Rayl(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None,
    cnp.ndarray[double, ndim=1] arg4 not None):
    cdef int i, j, k, l
    cdef int ijkl
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0], l_max = arg4.shape[0]
    cdef cnp.ndarray[double, ndim=4, mode='c'] rv = np.empty((i_max, j_max, k_max, l_max))
    for ijkl in prange(i_max * j_max * k_max * l_max, nogil=True):
        l = ijkl % l_max
        k = ijkl // l_max % k_max
        j = ijkl // l_max // k_max % j_max
        i = ijkl // l_max // k_max // j_max
        rv[i,j,k,l] = xrl.DCSP_Rayl(arg1[i], arg2[j], arg3[k], arg4[l], NULL)
    return rv

def DCSP_Compt(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None,
    cnp.ndarray[double, ndim=1] arg4 not None):
    cdef int i, j, k, l
    cdef int ijkl
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0], l_max = arg4.shape[0]
    cdef cnp.ndarray[double, ndim=4, mode='c'] rv = np.empty((i_max, j_max, k_max, l_max))
    for ijkl in prange(i_max * j_max * k_max * l_max, nogil=True):
        l = ijkl % l_max
        k = ijkl // l_max % k_max
        j = ijkl // l_max // k_max % j_max
        i = ijkl // l_max // k_max // j_max
        rv[i,j,k,l] = xrl.DCSP_Compt(arg1[i], arg2[j], arg3[k], arg4[l], NULL)
    return rv

def DCSPb_Rayl(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None,
    cnp.ndarray[double, ndim=1] arg4 not None):
    cdef int i, j, k, l
    cdef int ijkl
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0], l_max = arg4.shape[0]
    cdef cnp.ndarray[double, ndim=4, mode='c'] rv = np.empty((i_max, j_max, k_max, l_max))
    for ijkl in prange(i_max * j_max * k_max * l_max, nogil=True):
        l = ijkl % l_max
        k = ijkl // l_max % k_max
        j = ijkl // l_max // k_max % j_max
        i = ijkl // l_max // k_max // j_max
        rv[i,j,k,l] = xrl.DCSPb_Rayl(arg1[i], arg2[j], arg3[k], arg4[l], NULL)
    return rv

def DCSPb_Compt(
    cnp.ndarray[int64_t, ndim=1] arg1 not None,
    cnp.ndarray[double, ndim=1] arg2 not None,
    cnp.ndarray[double, ndim=1] arg3 not None,
    cnp.ndarray[double, ndim=1] arg4 not None):
    cdef int i, j, k, l
    cdef int ijkl
    cdef int i_max = arg1.shape[0], j_max = arg2.shape[0], k_max = arg3.shape[0], l_max = arg4.shape[0]
    cdef cnp.ndarray[double, ndim=4, mode='c'] rv = np.empty((i_max, j_max, k_max, l_max))
    for ijkl in prange(i_max * j_max * k_max * l_max, nogil=True):
        l = ijkl % l_max
        k = ijkl // l_max % k_max
        j = ijkl // l_max // k_max % j_max
        i = ijkl // l_max // k_max // j_max
        rv[i,j,k,l] = xrl.DCSPb_Compt(arg1[i], arg2[j], arg3[k], arg4[l], NULL)
    return rv

def _ElementDensity(int64_t arg1):
    return xrl.ElementDensity(arg1, NULL)
def _LineEnergy(int64_t arg1, int64_t arg2):
    return xrl.LineEnergy(arg1, arg2, NULL)
def _FluorYield(int64_t arg1, int64_t arg2):
    return xrl.FluorYield(arg1, arg2, NULL)
def _CosKronTransProb(int64_t arg1, int64_t arg2):
    return xrl.CosKronTransProb(arg1, arg2, NULL)
def _EdgeEnergy(int64_t arg1, int64_t arg2):
    return xrl.EdgeEnergy(arg1, arg2, NULL)
def _JumpFactor(int64_t arg1, int64_t arg2):
    return xrl.JumpFactor(arg1, arg2, NULL)
def _RadRate(int64_t arg1, int64_t arg2):
    return xrl.RadRate(arg1, arg2, NULL)
def _ElectronConfig(int64_t arg1, int64_t arg2):
    return xrl.ElectronConfig(arg1, arg2, NULL)
def _AtomicLevelWidth(int64_t arg1, int64_t arg2):
    return xrl.AtomicLevelWidth(arg1, arg2, NULL)
def _AugerRate(int64_t arg1, int64_t arg2):
    return xrl.AugerRate(arg1, arg2, NULL)
def _AugerYield(int64_t arg1, int64_t arg2):
    return xrl.AugerYield(arg1, arg2, NULL)

ElementDensity = XRL_1I(_ElementDensity)
LineEnergy = XRL_2II(_LineEnergy)
FluorYield = XRL_2II(_FluorYield)
CosKronTransProb = XRL_2II(_CosKronTransProb)
EdgeEnergy = XRL_2II(_EdgeEnergy)
JumpFactor = XRL_2II(_JumpFactor)
RadRate = XRL_2II(_RadRate)
ElectronConfig = XRL_2II(_ElectronConfig)
AtomicLevelWidth = XRL_2II(_AtomicLevelWidth)
AugerRate = XRL_2II(_AugerRate)
AugerYield = XRL_2II(_AugerYield)
