File indexing completed on 2024-10-29 06:08:13
0001
0002
0003
0004
0005
0006 #include <string>
0007 #include <cassert>
0008
0009 #define DT_Cell_Width 42
0010 #define DT_Cell_HalfWidth 21
0011 #define N_Func 8
0012
0013
0014 const double THIS_CLASS::alpha_value[N_alpha] = {-45.0, -30.0, -15.0, -10.0, -5.0, 0.0, 5.0, 10.0, 15.0, 30.0, 45.0};
0015 const double THIS_CLASS::By_value[N_By] = {0.0, 0.1, 0.2, 0.35, 0.75};
0016 const double THIS_CLASS::Bz_value[N_Bz] = {0.0, 0.05, 0.1, 0.2, 0.4};
0017
0018
0019 const double THIS_CLASS::fun_sigma_t[N_alpha][N_By][N_Bz][N_Sigma_t] = {
0020 {{
0021 {7.25420, -3.08050, 0.46488, 1.81029, 0.22124, 4.50008, 0.29247},
0022 {6.98502, -2.84290, 0.42744, 1.92538, 0.20497, 4.50008, 0.27317},
0023 {10.00716, -4.54827, 0.63584, 1.01455, 0.31135, 4.49996, 0.25919},
0024 {7.40564, -3.11008, 0.46159, 1.72352, 0.22974, 4.49991, 0.29231},
0025 {7.41538, -3.07862, 0.47015, 1.25711, 0.34153, 3.99995, 0.31115}
0026 },
0027 {
0028 {7.48947, -3.20323, 0.48513, 2.12870, 0.17112, 4.49993, 0.22677},
0029 {9.93449, -4.70334, 0.67606, 1.47807, 0.21810, 4.49990, 0.23184},
0030 {6.95588, -2.54184, 0.34611, 1.50927, 0.22600, 4.50004, 0.23732},
0031 {7.50147, -2.92164, 0.40582, 1.53476, 0.23048, 4.50010, 0.24448},
0032 {7.65382, -2.29728, 0.15583, -1.22192, 0.54502, 3.99993, 0.32438}
0033 },
0034 {
0035 {8.29107, -3.61484, 0.52689, 2.19666, 0.11046, 4.49993, 0.18103},
0036 {7.77512, -3.23769, 0.46742, 2.07013, 0.13347, 4.50002, 0.18432},
0037 {8.54032, -3.51374, 0.49194, 2.00816, 0.15162, 4.50010, 0.18665},
0038 {8.29970, -3.60025, 0.51938, 1.87455, 0.16481, 4.50010, 0.18048},
0039 {8.35768, -3.40525, 0.40707, -0.66094, 0.47768, 3.99996, 0.20400}
0040 },
0041 {
0042 {6.82103, -2.65327, 0.37716, 2.19336, 0.07232, 4.50010, 0.12110},
0043 {8.69363, -3.93645, 0.57001, 2.12994, 0.08724, 4.50010, 0.12053},
0044 {7.55685, -2.76427, 0.35234, 1.88283, 0.08217, 4.50010, 0.11788},
0045 {6.69174, -2.40626, 0.33766, 2.45139, 0.05553, 4.50002, 0.11145},
0046 {6.29073, -1.46704, 0.09409, -2.27504, 0.52510, 6.00010, 0.18376}
0047 },
0048 {
0049 {6.77220, -2.38316, 0.31502, 2.22866, 0.04411, 4.50009, 0.08326},
0050 {7.64694, -2.89939, 0.39969, 2.72984, -0.00809, 4.50009, 0.14289},
0051 {9.47706, -4.20158, 0.56752, 1.65336, 0.09090, 4.50009, 0.09482},
0052 {9.11429, -4.07381, 0.59694, 2.98517, -0.02553, 4.50006, 0.09259},
0053 {7.93289, -2.85892, 0.30676, 0.51938, 0.22149, 3.99994, 0.09805}
0054 }},
0055 {{
0056 {8.59444, -4.91290, 0.99435, 2.22515, 0.14606, 2.80010, 0.21855},
0057 {8.16619, -4.28307, 0.79255, 1.95239, 0.15529, 2.79990, 0.20993},
0058 {8.47585, -4.69255, 0.89988, 1.95479, 0.15606, 2.79998, 0.21459},
0059 {7.73674, -3.74746, 0.67395, 2.05999, 0.16700, 2.79993, 0.21755},
0060 {7.98857, -3.29435, 0.41943, 1.26588, 0.28097, 2.80010, 0.31737}
0061 },
0062 {
0063 {8.78639, -4.89428, 0.93054, 1.99687, 0.13607, 2.80006, 0.18664},
0064 {6.34099, -2.02234, 0.21986, 2.01896, 0.13688, 2.79995, 0.19052},
0065 {8.16956, -3.93558, 0.65882, 1.88910, 0.15213, 2.80001, 0.19596},
0066 {6.59004, -2.30020, 0.27184, 1.80319, 0.17055, 2.80001, 0.19642},
0067 {9.03990, -4.79858, 0.86972, 1.89820, 0.18723, 2.80007, 0.23159}
0068 },
0069 {
0070 {7.26623, -3.40569, 0.59645, 2.10239, 0.10859, 2.80001, 0.15642},
0071 {8.20138, -3.94438, 0.66825, 2.09862, 0.10628, 2.79990, 0.15313},
0072 {9.24647, -5.25851, 1.02390, 2.29291, 0.09183, 2.80010, 0.16043},
0073 {8.61176, -4.30217, 0.75437, 2.15256, 0.11691, 2.80010, 0.16230},
0074 {8.10538, -4.59691, 0.92371, 2.02219, 0.14443, 2.59990, 0.17087}
0075 },
0076 {
0077 {9.53528, -6.05081, 1.25138, 2.29725, 0.03810, 2.80010, 0.11116},
0078 {8.07220, -4.67365, 0.95105, 2.31746, 0.04458, 2.80004, 0.11271},
0079 {8.01217, -4.09254, 0.73480, 2.19118, 0.04383, 2.79990, 0.11033},
0080 {7.49045, -3.42345, 0.54653, 1.99613, 0.06909, 2.80010, 0.10986},
0081 {8.46746, -4.01858, 0.64092, 2.00464, 0.08414, 2.80010, 0.12116}
0082 },
0083 {
0084 {8.34920, -4.33142, 0.75810, 2.11976, 0.01604, 2.80009, 0.08222},
0085 {7.79804, -3.94553, 0.68838, 2.11228, 0.01255, 2.80009, 0.08356},
0086 {8.75836, -5.25018, 1.03830, 2.10694, 0.03257, 2.79998, 0.08171},
0087 {7.85925, -3.97499, 0.68800, 2.05263, 0.02522, 2.79990, 0.08485},
0088 {8.07694, -4.14646, 0.70264, 1.82045, 0.05538, 2.80010, 0.09312}
0089 }},
0090 {{
0091 {8.54140, -5.33753, 1.13326, 2.16901, 0.11148, 2.80007, 0.17939},
0092 {6.91306, -2.93120, 0.46676, 2.04193, 0.11540, 2.80010, 0.17867},
0093 {7.19376, -4.19054, 0.90023, 2.20490, 0.11187, 2.80009, 0.16768},
0094 {6.85983, -3.30192, 0.58920, 1.82812, 0.14489, 2.79990, 0.18139},
0095 {7.07302, -3.37384, 0.56852, 1.46977, 0.21917, 2.80010, 0.19995}
0096 },
0097 {
0098 {7.31351, -3.63796, 0.67748, 2.16253, 0.09861, 2.80010, 0.16769},
0099 {7.15950, -3.59563, 0.68062, 2.13288, 0.10533, 2.79991, 0.16267},
0100 {7.93335, -4.88787, 1.04853, 2.18375, 0.10148, 2.80010, 0.16538},
0101 {7.25838, -3.76117, 0.72176, 2.01657, 0.13182, 2.79999, 0.15544},
0102 {8.04179, -4.81808, 0.98762, 1.74107, 0.17308, 2.59991, 0.18045}
0103 },
0104 {
0105 {7.41676, -4.00759, 0.79550, 2.22111, 0.07539, 2.80006, 0.15358},
0106 {6.68254, -3.20579, 0.58131, 2.00090, 0.09389, 2.79990, 0.14834},
0107 {7.63035, -4.40983, 0.92039, 2.30058, 0.07072, 2.79990, 0.13994},
0108 {6.18931, -2.99451, 0.57544, 2.04769, 0.09588, 2.80004, 0.14658},
0109 {7.38817, -3.84969, 0.70836, 1.79603, 0.14286, 2.60009, 0.15869}
0110 },
0111 {
0112 {6.70558, -3.33559, 0.62868, 2.21526, 0.02841, 2.80000, 0.11313},
0113 {5.66125, -1.95349, 0.27240, 2.26418, 0.02248, 2.79997, 0.11792},
0114 {7.32063, -3.79229, 0.71011, 2.14548, 0.04430, 2.80003, 0.11219},
0115 {7.41767, -4.36644, 0.88966, 2.04033, 0.04511, 2.80009, 0.10914},
0116 {6.52815, -2.99489, 0.47376, 1.71285, 0.08890, 2.60010, 0.11686}
0117 },
0118 {
0119 {6.64680, -3.11440, 0.52792, 2.01627, 0.01754, 2.80010, 0.08385},
0120 {6.43917, -3.16823, 0.57605, 2.06815, 0.00577, 2.79991, 0.09070},
0121 {7.32471, -4.13910, 0.82399, 2.22934, -0.01217, 2.79990, 0.08865},
0122 {6.86546, -3.34971, 0.58154, 1.97254, 0.02607, 2.79990, 0.08532},
0123 {7.12725, -3.19233, 0.40115, 1.20933, 0.12674, 2.60010, 0.08715}
0124 }},
0125 {{
0126 {7.18428, -3.47064, 0.64078, 2.19094, 0.10689, 2.80000, 0.16819},
0127 {7.59929, -4.34957, 0.91215, 2.31295, 0.09244, 2.80009, 0.17530},
0128 {6.76037, -2.84581, 0.48647, 2.33857, 0.09552, 2.79990, 0.16645},
0129 {7.34107, -4.18265, 0.86789, 2.11106, 0.11531, 2.80006, 0.17409},
0130 {6.78312, -2.82402, 0.39012, 1.50821, 0.21907, 2.60010, 0.17782}
0131 },
0132 {
0133 {6.91298, -3.74235, 0.75177, 2.03707, 0.10403, 2.80010, 0.16756},
0134 {6.41571, -2.72690, 0.45028, 2.00230, 0.11011, 2.80000, 0.15512},
0135 {7.69202, -4.22112, 0.84549, 2.23042, 0.09682, 2.80006, 0.15674},
0136 {8.03768, -4.96479, 1.06359, 2.16565, 0.11044, 2.80010, 0.16189},
0137 {7.32495, -3.78617, 0.67971, 1.58981, 0.18692, 2.59992, 0.17051}
0138 },
0139 {
0140 {6.77637, -3.42160, 0.66783, 2.17672, 0.09106, 2.80008, 0.15422},
0141 {6.77134, -3.53231, 0.71292, 2.26334, 0.07386, 2.79990, 0.14583},
0142 {8.00132, -4.77046, 1.00922, 2.35069, 0.07343, 2.79996, 0.13731},
0143 {7.47097, -4.82274, 1.08190, 2.22164, 0.08133, 2.79998, 0.14638},
0144 {6.66770, -2.53697, 0.28630, 1.18725, 0.22202, 2.79993, 0.15633}
0145 },
0146 {
0147 {8.19810, -4.83876, 0.99229, 2.36668, 0.02228, 2.79990, 0.11407},
0148 {7.56971, -4.04994, 0.78448, 2.30421, 0.02715, 2.80000, 0.11271},
0149 {7.27314, -4.00705, 0.81056, 2.32192, 0.03082, 2.80009, 0.11702},
0150 {6.17742, -2.74106, 0.48644, 2.22372, 0.03300, 2.79991, 0.10818},
0151 {7.21066, -3.27691, 0.47599, 1.36743, 0.14271, 2.80010, 0.11272}
0152 },
0153 {
0154 {6.84153, -3.31827, 0.58621, 2.11785, 0.01014, 2.80009, 0.08464},
0155 {7.24846, -4.10807, 0.83527, 2.31449, -0.00718, 2.80001, 0.08090},
0156 {8.05041, -4.64851, 0.91187, 2.20971, -0.00930, 2.79999, 0.08469},
0157 {7.70961, -4.33346, 0.84298, 2.14248, 0.01513, 2.79990, 0.08472},
0158 {7.19549, -3.40366, 0.50023, 1.41774, 0.11910, 2.60010, 0.07838}
0159 }},
0160 {{
0161 {6.55391, -2.97773, 0.55270, 2.28945, 0.09285, 2.80000, 0.15707},
0162 {7.62218, -4.26494, 0.88392, 2.37589, 0.08371, 2.79991, 0.16276},
0163 {7.25384, -3.89556, 0.79207, 2.32430, 0.08279, 2.80010, 0.15489},
0164 {6.56977, -3.16429, 0.58639, 2.00002, 0.10966, 2.79994, 0.16784},
0165 {6.04360, -2.06985, 0.22144, 1.36349, 0.22166, 2.79999, 0.17847}
0166 },
0167 {
0168 {7.48674, -4.38454, 0.92952, 2.25216, 0.08759, 2.79990, 0.14880},
0169 {8.60581, -5.88464, 1.33756, 2.38645, 0.08177, 2.80010, 0.15032},
0170 {7.18669, -3.95488, 0.81386, 2.27392, 0.07849, 2.79999, 0.14950},
0171 {6.84775, -3.52471, 0.69054, 2.10505, 0.10264, 2.80010, 0.15606},
0172 {6.13960, -2.28734, 0.26678, 1.49578, 0.19234, 2.60010, 0.16289}
0173 },
0174 {
0175 {8.35908, -4.87471, 0.97684, 2.14032, 0.08141, 2.79995, 0.14016},
0176 {7.05284, -3.81763, 0.79392, 2.40125, 0.06664, 2.80005, 0.13844},
0177 {7.32238, -3.81951, 0.74608, 2.25234, 0.08025, 2.80010, 0.13521},
0178 {7.02121, -3.63407, 0.70648, 2.16868, 0.07712, 2.80009, 0.14141},
0179 {6.28981, -2.62387, 0.39437, 1.55544, 0.17119, 2.80010, 0.15216}
0180 },
0181 {
0182 {6.95239, -3.75384, 0.75297, 2.27887, 0.02358, 2.79993, 0.10714},
0183 {6.46023, -2.84946, 0.50038, 2.35117, 0.01913, 2.79990, 0.11327},
0184 {7.49315, -4.20058, 0.86046, 2.40293, 0.02667, 2.80010, 0.11210},
0185 {7.98945, -4.33628, 0.82654, 2.24178, 0.03078, 2.80001, 0.10961},
0186 {6.79230, -3.03782, 0.45099, 1.46639, 0.12708, 2.79990, 0.11422}
0187 },
0188 {
0189 {7.46283, -3.84903, 0.71410, 2.28661, -0.00090, 2.79999, 0.08285},
0190 {5.99957, -2.32735, 0.33876, 2.13896, 0.00000, 2.79991, 0.08179},
0191 {7.11644, -3.41536, 0.58574, 2.17300, -0.00977, 2.79995, 0.09535},
0192 {7.56415, -4.17145, 0.79503, 2.10366, 0.00481, 2.79996, 0.08116},
0193 {7.18873, -3.42747, 0.47952, 1.07796, 0.16962, 2.59990, 0.08018}
0194 }},
0195 {{
0196 {7.98180, -4.85679, 1.03029, 2.19279, 0.09555, 2.80010, 0.16261},
0197 {7.60958, -4.42303, 0.91362, 2.12617, 0.09344, 2.79993, 0.16511},
0198 {7.29753, -3.94794, 0.78945, 2.13907, 0.10481, 2.79990, 0.15805},
0199 {7.43079, -3.67648, 0.67564, 2.11062, 0.11538, 2.79996, 0.16186},
0200 {8.06021, -4.26981, 0.75816, 1.39084, 0.23495, 2.79994, 0.16739}
0201 },
0202 {
0203 {6.80429, -3.42012, 0.66774, 2.22127, 0.08634, 2.79991, 0.15513},
0204 {6.54533, -3.36609, 0.66492, 2.05348, 0.09991, 2.80003, 0.14852},
0205 {7.08620, -3.17147, 0.53220, 2.11519, 0.09405, 2.79999, 0.14803},
0206 {6.73442, -3.25563, 0.61321, 2.11594, 0.11081, 2.79991, 0.16024},
0207 {6.30015, -2.15893, 0.21754, 1.36802, 0.21162, 2.80010, 0.16166}
0208 },
0209 {
0210 {6.60121, -3.33633, 0.65252, 2.15351, 0.07921, 2.80010, 0.14861},
0211 {6.58344, -3.04749, 0.56727, 2.33110, 0.05957, 2.79997, 0.13784},
0212 {7.21184, -3.54001, 0.65128, 2.18391, 0.07926, 2.80005, 0.14291},
0213 {6.38631, -3.17729, 0.61632, 2.05092, 0.09676, 2.79996, 0.14055},
0214 {6.11522, -2.11577, 0.19954, 1.10735, 0.23149, 2.79992, 0.14813}
0215 },
0216 {
0217 {6.40894, -2.59342, 0.40758, 2.28725, 0.01983, 2.80002, 0.11361},
0218 {6.86887, -2.76296, 0.41464, 2.31120, 0.02576, 2.80010, 0.11743},
0219 {7.34701, -3.97847, 0.79507, 2.34952, 0.03257, 2.80010, 0.11399},
0220 {6.37938, -2.81257, 0.48599, 2.21807, 0.03440, 2.79990, 0.10843},
0221 {6.58554, -2.99397, 0.45420, 1.28565, 0.17057, 2.80010, 0.10285}
0222 },
0223 {
0224 {6.96818, -3.67428, 0.70484, 2.18542, 0.00739, 2.80000, 0.08580},
0225 {6.83136, -3.23506, 0.56833, 2.22915, -0.00008, 2.80004, 0.08405},
0226 {6.50178, -2.97001, 0.49660, 2.08801, -0.00320, 2.80006, 0.08169},
0227 {6.65723, -3.38308, 0.59993, 1.77255, 0.04124, 2.80001, 0.08225},
0228 {6.39039, -2.66900, 0.30346, 0.70375, 0.21160, 2.80005, 0.07824}
0229 }},
0230 {{
0231 {6.68432, -3.00553, 0.54013, 2.25143, 0.09002, 2.79994, 0.15804},
0232 {6.92213, -3.85185, 0.79089, 2.06196, 0.09843, 2.79995, 0.16038},
0233 {7.58731, -4.27239, 0.86720, 2.14776, 0.09846, 2.80006, 0.15508},
0234 {7.10091, -3.80106, 0.74132, 1.91164, 0.12795, 2.80010, 0.16290},
0235 {6.64913, -2.67422, 0.35492, 1.24380, 0.25005, 2.79991, 0.16464}
0236 },
0237 {
0238 {7.94828, -4.72660, 0.99189, 2.26144, 0.08173, 2.80005, 0.15281},
0239 {5.49713, -2.10202, 0.34600, 2.05064, 0.09765, 2.80009, 0.15151},
0240 {6.78557, -3.27153, 0.60080, 2.07657, 0.09250, 2.79991, 0.14860},
0241 {7.12063, -3.52860, 0.65333, 2.00901, 0.12630, 2.80010, 0.15715},
0242 {7.17222, -3.57679, 0.59248, 1.14541, 0.23459, 2.80005, 0.15447}
0243 },
0244 {
0245 {7.67219, -4.70318, 1.00578, 2.14717, 0.08623, 2.80005, 0.14679},
0246 {6.94913, -3.88288, 0.81624, 2.28334, 0.06893, 2.79990, 0.14403},
0247 {6.55533, -3.54202, 0.71965, 2.04901, 0.08240, 2.80000, 0.14430},
0248 {6.88925, -3.44327, 0.64162, 1.99928, 0.09969, 2.79998, 0.13793},
0249 {7.17461, -3.47910, 0.56914, 1.27484, 0.22154, 2.80010, 0.14841}
0250 },
0251 {
0252 {5.83610, -2.46512, 0.42019, 2.16246, 0.02343, 2.79990, 0.11309},
0253 {7.68082, -4.55876, 0.93891, 2.18821, 0.03186, 2.80006, 0.11422},
0254 {7.73745, -4.36969, 0.86876, 2.19763, 0.04134, 2.79990, 0.11584},
0255 {7.97590, -4.70665, 0.94983, 2.11618, 0.04561, 2.79992, 0.10935},
0256 {7.14103, -3.64344, 0.59057, 1.01841, 0.19682, 2.79995, 0.10585}
0257 },
0258 {
0259 {7.73726, -4.44084, 0.87061, 2.10364, 0.00887, 2.80007, 0.08368},
0260 {6.72884, -3.36015, 0.61874, 2.17029, 0.00038, 2.80006, 0.08345},
0261 {6.34564, -3.14295, 0.58239, 2.14693, -0.01271, 2.80002, 0.08559},
0262 {6.51283, -3.11611, 0.54215, 1.93702, 0.03613, 2.80000, 0.08030},
0263 {6.59745, -2.84285, 0.30805, 0.33021, 0.25794, 2.80010, 0.07656}
0264 }},
0265 {{
0266 {7.55691, -4.28600, 0.90558, 2.42270, 0.08330, 2.80010, 0.16781},
0267 {7.70965, -4.33730, 0.87155, 2.11920, 0.09963, 2.79994, 0.16855},
0268 {7.47993, -4.11943, 0.81825, 2.01664, 0.12283, 2.79992, 0.15825},
0269 {7.00418, -3.52057, 0.67631, 2.08284, 0.13071, 2.79993, 0.16020},
0270 {6.74889, -2.56526, 0.28031, 0.95001, 0.29060, 2.80008, 0.16130}
0271 },
0272 {
0273 {8.15466, -5.03050, 1.07335, 2.23570, 0.08877, 2.79990, 0.16235},
0274 {7.70730, -4.41389, 0.90728, 2.15943, 0.10786, 2.79991, 0.15179},
0275 {7.26874, -3.82503, 0.73894, 2.05260, 0.10692, 2.80005, 0.15096},
0276 {7.83856, -4.36245, 0.84031, 1.77960, 0.15432, 2.80004, 0.15892},
0277 {6.72377, -2.27576, 0.16418, 0.82935, 0.28909, 2.79999, 0.15494}
0278 },
0279 {
0280 {7.28160, -3.92594, 0.79075, 2.26895, 0.07837, 2.79992, 0.14775},
0281 {7.94302, -4.52139, 0.91874, 2.29436, 0.06848, 2.80010, 0.14562},
0282 {7.52120, -3.82083, 0.71760, 2.19742, 0.08981, 2.80002, 0.13929},
0283 {7.72852, -4.44494, 0.87556, 1.79192, 0.12683, 2.79990, 0.14177},
0284 {7.59736, -3.96724, 0.68235, 1.16660, 0.24004, 2.79995, 0.14353}
0285 },
0286 {
0287 {7.35429, -3.78237, 0.69657, 2.12238, 0.03656, 2.80001, 0.11517},
0288 {7.02561, -3.59828, 0.69462, 2.31339, 0.02960, 2.80010, 0.11705},
0289 {6.70110, -3.13498, 0.56721, 2.23232, 0.04920, 2.79998, 0.11507},
0290 {8.43041, -4.81248, 0.92043, 1.97603, 0.06984, 2.79992, 0.11032},
0291 {7.43659, -3.28730, 0.41155, 0.77136, 0.24544, 2.80010, 0.09834}
0292 },
0293 {
0294 {6.42423, -2.90385, 0.51229, 2.32082, -0.00393, 2.79995, 0.08435},
0295 {6.37745, -2.69164, 0.43057, 2.18191, 0.01235, 2.80000, 0.08544},
0296 {7.12730, -3.82011, 0.74152, 2.22022, 0.00866, 2.79993, 0.08337},
0297 {6.97352, -3.39543, 0.55754, 1.60671, 0.08241, 2.80004, 0.08212},
0298 {7.36500, -2.62885, 0.12299, 0.13276, 0.29851, 2.79993, 0.08268}
0299 }},
0300 {{
0301 {7.11858, -4.01524, 0.85344, 2.28403, 0.10101, 2.79999, 0.18028},
0302 {6.92881, -3.79857, 0.78555, 2.14119, 0.11084, 2.80007, 0.16499},
0303 {9.55209, -6.38646, 1.39293, 2.31507, 0.09838, 2.79995, 0.15976},
0304 {8.06697, -4.35449, 0.82641, 1.97987, 0.13341, 2.79991, 0.16125},
0305 {7.33962, -3.39851, 0.46734, 0.58725, 0.32155, 2.80010, 0.16280}
0306 },
0307 {
0308 {7.49545, -3.65498, 0.66863, 2.21891, 0.10166, 2.79994, 0.15584},
0309 {6.76511, -3.37875, 0.66014, 2.17580, 0.10867, 2.79990, 0.15302},
0310 {6.76327, -3.23094, 0.59525, 2.12115, 0.09367, 2.79999, 0.15463},
0311 {6.97946, -3.83519, 0.77808, 1.95240, 0.13880, 2.79996, 0.16137},
0312 {7.04078, -2.74109, 0.27586, 0.67230, 0.30580, 2.79994, 0.15234}
0313 },
0314 {
0315 {6.43560, -3.09773, 0.60672, 2.25414, 0.09445, 2.80000, 0.13933},
0316 {6.19813, -2.73632, 0.50607, 2.27969, 0.08012, 2.80009, 0.13527},
0317 {7.66992, -4.51264, 0.95214, 2.26724, 0.08288, 2.80003, 0.13761},
0318 {6.71333, -3.48758, 0.68269, 2.01575, 0.10163, 2.79990, 0.14493},
0319 {6.63457, -2.38663, 0.19267, 0.64113, 0.29342, 2.79991, 0.15326}
0320 },
0321 {
0322 {5.80979, -2.12988, 0.31218, 2.18756, 0.03787, 2.80007, 0.10674},
0323 {7.05637, -3.66210, 0.69512, 2.14934, 0.03674, 2.79990, 0.11239},
0324 {5.71652, -2.41701, 0.43440, 2.22321, 0.04692, 2.79999, 0.10853},
0325 {6.81440, -3.29350, 0.58663, 1.98213, 0.07486, 2.80000, 0.10542},
0326 {7.81288, -3.89340, 0.57881, 0.81140, 0.22775, 2.80010, 0.10384}
0327 },
0328 {
0329 {6.17487, -2.54612, 0.40400, 2.17700, 0.01289, 2.80010, 0.08099},
0330 {8.06423, -4.55132, 0.88080, 2.24012, -0.00504, 2.80010, 0.08337},
0331 {7.75031, -4.17839, 0.76855, 2.00584, 0.02515, 2.79999, 0.08726},
0332 {6.51292, -2.39345, 0.26823, 1.69781, 0.07732, 2.79990, 0.07987},
0333 {6.48835, -2.33945, 0.07605, -0.56041, 0.39081, 2.80010, 0.08949}
0334 }},
0335 {{
0336 {8.16406, -4.55773, 0.91972, 2.21215, 0.14317, 2.79998, 0.22183},
0337 {7.89276, -3.77060, 0.64372, 1.96030, 0.15056, 2.79990, 0.20263},
0338 {7.67892, -3.84813, 0.71657, 2.17394, 0.12434, 2.80006, 0.19921},
0339 {8.13498, -4.46476, 0.87296, 2.08738, 0.13937, 2.80000, 0.18728},
0340 {6.91882, -2.23043, 0.12475, 0.72019, 0.33261, 2.80010, 0.17056}
0341 },
0342 {
0343 {7.60992, -3.65943, 0.64255, 2.04316, 0.12785, 2.79990, 0.18431},
0344 {6.52296, -2.56484, 0.39728, 2.10842, 0.12416, 2.79997, 0.18700},
0345 {7.95235, -3.86611, 0.68678, 2.16631, 0.12334, 2.79992, 0.18180},
0346 {7.57767, -3.21175, 0.45582, 1.72706, 0.15405, 2.80000, 0.17254},
0347 {8.05914, -3.96937, 0.61131, 0.96121, 0.27725, 2.80010, 0.16571}
0348 },
0349 {
0350 {8.70947, -5.18820, 1.05104, 2.10060, 0.11501, 2.79990, 0.15649},
0351 {8.20776, -4.27945, 0.78402, 2.10428, 0.09563, 2.79996, 0.15033},
0352 {7.80506, -4.24761, 0.84511, 2.24464, 0.10456, 2.80003, 0.15624},
0353 {8.72308, -4.76997, 0.91280, 2.24680, 0.09885, 2.80007, 0.14575},
0354 {7.60413, -3.51654, 0.48936, 0.69496, 0.32118, 2.80010, 0.13737}
0355 },
0356 {
0357 {7.20463, -3.15528, 0.51925, 2.31239, 0.04585, 2.80009, 0.10750},
0358 {9.60244, -5.93930, 1.22596, 2.46999, 0.04067, 2.79991, 0.11105},
0359 {8.04795, -4.31032, 0.81941, 2.27568, 0.04554, 2.79997, 0.10734},
0360 {8.09551, -4.77124, 0.99543, 2.37944, 0.05745, 2.80008, 0.10655},
0361 {8.40111, -3.74416, 0.44669, 0.60184, 0.29198, 2.80010, 0.10316}
0362 },
0363 {
0364 {8.03608, -3.96112, 0.66802, 2.15038, 0.01138, 2.80009, 0.08071},
0365 {7.76492, -3.81962, 0.65693, 2.22033, -0.00001, 2.79991, 0.08351},
0366 {9.62458, -5.99604, 1.20548, 2.21147, 0.02683, 2.79990, 0.08199},
0367 {7.62637, -3.39751, 0.50530, 1.79535, 0.09982, 2.80007, 0.08612},
0368 {8.45439, -3.87754, 0.43957, 0.14977, 0.31913, 2.80010, 0.08172}
0369 }},
0370 {{
0371 {6.62637, -2.25983, 0.30815, 1.54779, 0.24243, 3.99990, 0.27048},
0372 {6.75483, -3.11292, 0.54928, 1.88812, 0.20004, 3.49999, 0.25059},
0373 {6.25297, -2.54782, 0.37889, 1.45494, 0.22341, 4.50010, 0.27856},
0374 {7.72713, -3.37881, 0.49709, 1.54951, 0.23090, 4.49999, 0.24200},
0375 {9.00799, -3.89331, 0.53482, 0.87881, 0.31985, 4.49990, 0.20978}
0376 },
0377 {
0378 {7.97450, -3.52173, 0.51574, 1.24685, 0.22316, 4.00005, 0.24024},
0379 {7.28999, -2.89405, 0.44605, 2.03237, 0.16929, 3.49992, 0.21158},
0380 {7.45375, -3.12427, 0.45932, 1.86952, 0.18362, 4.49990, 0.22255},
0381 {6.09283, -2.30307, 0.34813, 1.82337, 0.21229, 4.50010, 0.20988},
0382 {7.28320, -2.49782, 0.29586, 0.46492, 0.34871, 4.50000, 0.19555}
0383 },
0384 {
0385 {9.71686, -5.70628, 1.04722, 2.07947, 0.14115, 3.50010, 0.16325},
0386 {7.83821, -3.73861, 0.64182, 2.22640, 0.11115, 3.50008, 0.18515},
0387 {7.69521, -3.28176, 0.48472, 2.08793, 0.14558, 4.50010, 0.17674},
0388 {5.13659, -1.30036, 0.15441, 1.61192, 0.17777, 4.49994, 0.17546},
0389 {9.37421, -4.36963, 0.60607, 0.27949, 0.37870, 4.49990, 0.18358}
0390 },
0391 {
0392 {8.89808, -4.95789, 0.90497, 2.46022, 0.04893, 3.50010, 0.11277},
0393 {7.18215, -3.39253, 0.58624, 2.19624, 0.08384, 3.50002, 0.11048},
0394 {7.54817, -2.90179, 0.40628, 2.49222, 0.05005, 4.50010, 0.11296},
0395 {5.97135, -1.89007, 0.23548, 1.51412, 0.16006, 4.49996, 0.10720},
0396 {6.93347, -2.35070, 0.25191, -0.17234, 0.36194, 4.50010, 0.10697}
0397 },
0398 {
0399 {8.94249, -5.11341, 0.94432, 2.65144, -0.01083, 3.50003, 0.08762},
0400 {8.97662, -4.14363, 0.61956, 1.71105, 0.10070, 3.49990, 0.08637},
0401 {8.79673, -4.01654, 0.57860, 2.04528, 0.08752, 4.50010, 0.08307},
0402 {6.66813, -2.35543, 0.29513, 1.26681, 0.17295, 4.50009, 0.08825},
0403 {4.63856, -0.82319, 0.00194, -1.12366, 0.46605, 4.49990, 0.09112}
0404 }}};
0405
0406
0407
0408 inline unsigned short THIS_CLASS::MB_DT_Check_boundaries(
0409 double distime, double alpha, double by, double bz, short ifl) const {
0410 unsigned short status = 1;
0411 std::string name = "MB_DT_drift_time";
0412
0413 if (ifl < 0) {
0414 name = "MB_DT_drift_distance";
0415 if (distime < 0) {
0416 #ifdef MB_DT_DEBUG
0417 printf("*** Warning, %s: drift time is negative\n", name);
0418 #endif
0419 status = 0;
0420 }
0421 } else {
0422 if (fabs(distime) > DT_Cell_HalfWidth) {
0423 #ifdef MB_DT_DEBUG
0424 if (ifl == 0)
0425 printf("*** Warning, %s: distance to the wire is out of range [-%d,%d] mm\n",
0426 name,
0427 DT_Cell_HalfWidth,
0428 DT_Cell_HalfWidth);
0429 else
0430 printf("*** Warning, %s: x-coordinate is out of range [0,%d] mm\n", name, DT_Cell_Width);
0431 #endif
0432 status = 0;
0433 }
0434 }
0435
0436 if (alpha < alpha_value[0] || alpha > alpha_value[N_alpha - 1]) {
0437 #ifdef MB_DT_DEBUG
0438 printf("*** Warning, %s: angle is out of range [%.0f,%.0f] degrees\n",
0439 name,
0440 alpha_value[0],
0441 alpha_value[N_alpha - 1]);
0442 #endif
0443 status = 0;
0444 }
0445
0446 if (by < By_value[0] || by > By_value[N_By - 1]) {
0447 #ifdef MB_DT_DEBUG
0448 printf("*** Warning, %s: By field is out of range [%.2f,%.2f]\n", name, By_value[0], By_value[N_By - 1]);
0449 #endif
0450 status = 0;
0451 }
0452
0453 if (bz < Bz_value[0] || bz > Bz_value[N_Bz - 1]) {
0454 #ifdef MB_DT_DEBUG
0455 printf("*** Warning, %s: Bz field is out of range [%.2f,%.2f]\n", name, Bz_value[0], Bz_value[N_Bz - 1]);
0456 #endif
0457 status = 0;
0458 }
0459
0460 return (status);
0461 }
0462
0463 inline void THIS_CLASS::MB_DT_Get_grid_values(
0464 double Var, unsigned short *pi, unsigned short *pj, short Initial, unsigned short N, const double *Values) const {
0465 unsigned short i, iValue, jValue;
0466
0467 iValue = N - 1;
0468 jValue = N - 2;
0469
0470 for (i = Initial; i < N; i++) {
0471 if (Var <= Values[i]) {
0472 iValue = i;
0473 jValue = (Var != Values[i]) ? i - 1 : i;
0474 break;
0475 }
0476 }
0477
0478
0479 assert(jValue >= 0);
0480 assert(iValue >= 0);
0481
0482 if (fabs(Values[iValue] - Var) <= fabs(Var - Values[jValue])) {
0483 *pi = iValue;
0484 *pj = jValue;
0485 } else {
0486 *pi = jValue;
0487 *pj = iValue;
0488 }
0489 }
0490
0491 inline void THIS_CLASS::MB_DT_Get_grid_points(double alpha,
0492 double by,
0493 double bz,
0494 unsigned short *p_alpha,
0495 unsigned short *p_By,
0496 unsigned short *p_Bz,
0497 unsigned short *q_alpha,
0498 unsigned short *q_By,
0499 unsigned short *q_Bz) const {
0500 MB_DT_Get_grid_values(fabs(alpha), p_alpha, q_alpha, 4, N_alpha, alpha_value);
0501 MB_DT_Get_grid_values(by, p_By, q_By, 0, N_By, By_value);
0502 MB_DT_Get_grid_values(bz, p_Bz, q_Bz, 0, N_Bz, Bz_value);
0503
0504 if (alpha < 0) {
0505 *p_alpha = N_alpha - 1 - *p_alpha;
0506 *q_alpha = N_alpha - 1 - *q_alpha;
0507 }
0508 }
0509
0510
0511
0512 inline double THIS_CLASS::MB_DT_MLInterpolation(double *al, double *by, double *bz, double *f) const {
0513 double q1, q2, q3, p1, p2, p3;
0514 double fx11, fx21, fxy1, fx12, fx22, fxy2, fxyz;
0515
0516 q1 = (al[1] != al[2]) ? (al[0] - al[1]) / (al[2] - al[1]) : 0;
0517 q2 = (by[1] != by[2]) ? (by[0] - by[1]) / (by[2] - by[1]) : 0;
0518 q3 = (bz[1] != bz[2]) ? (bz[0] - bz[1]) / (bz[2] - bz[1]) : 0;
0519
0520 p1 = 1 - q1;
0521 p2 = 1 - q2;
0522 p3 = 1 - q3;
0523
0524 fx11 = p1 * f[0] + q1 * f[4];
0525 fx21 = p1 * f[2] + q1 * f[6];
0526 fxy1 = p2 * fx11 + q2 * fx21;
0527
0528 fx12 = p1 * f[1] + q1 * f[5];
0529 fx22 = p1 * f[3] + q1 * f[7];
0530 fxy2 = p2 * fx12 + q2 * fx22;
0531
0532 fxyz = p3 * fxy1 + q3 * fxy2;
0533
0534 return (fxyz);
0535 }
0536
0537 inline double THIS_CLASS::MB_DT_sigma_t_m(double dist, double *par) const {
0538 double x = fabs(dist);
0539
0540 if (x > 20.5)
0541 x = 20.5;
0542
0543 return (par[6] * x);
0544 }
0545
0546 inline double THIS_CLASS::MB_DT_sigma_t_p(double dist, double *par) const {
0547 double x2, x = fabs(dist);
0548
0549 if (x > 20.5)
0550 x = 20.5;
0551
0552 x2 = x * x;
0553
0554 if (x <= par[5]) {
0555 return (par[0] + par[1] * x + par[2] * x2);
0556 }
0557 return (par[3] + par[4] * x);
0558 }