Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:02

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