00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include <vector>
00026 #include "myBetheBloch.h"
00027
00028 #ifndef ST_NO_NAMESPACES
00029 using std::vector;
00030 #endif
00031
00032 ClassImp(myBetheBloch)
00033
00034 myBetheBloch::myBetheBloch(){
00035
00036
00037
00038
00039
00040
00041 vector<double> kinVec;
00042 vector<double> ionizVec;
00043 kinVec.push_back(0.216355);ionizVec.push_back(2.38171e-05);
00044 kinVec.push_back(0.22275 );ionizVec.push_back(2.25295e-05);
00045 kinVec.push_back(0.229145);ionizVec.push_back(2.13482e-05);
00046 kinVec.push_back(0.235539);ionizVec.push_back(2.02618e-05);
00047 kinVec.push_back(0.241934);ionizVec.push_back(1.92604e-05);
00048 kinVec.push_back(0.248329);ionizVec.push_back(1.83354e-05);
00049 kinVec.push_back(0.254723);ionizVec.push_back(1.74791e-05);
00050 kinVec.push_back(0.261118);ionizVec.push_back(1.6685e-05 );
00051 kinVec.push_back(0.267513);ionizVec.push_back(1.63046e-05);
00052 kinVec.push_back(0.273908);ionizVec.push_back(1.56024e-05);
00053 kinVec.push_back(0.280302);ionizVec.push_back(1.49478e-05);
00054 kinVec.push_back(0.286697);ionizVec.push_back(1.43364e-05);
00055 kinVec.push_back(0.293092);ionizVec.push_back(1.37647e-05);
00056 kinVec.push_back(0.299487);ionizVec.push_back(1.32291e-05);
00057 kinVec.push_back(0.305881);ionizVec.push_back(1.27268e-05);
00058 kinVec.push_back(0.312276);ionizVec.push_back(1.2255e-05 );
00059 kinVec.push_back(0.318671);ionizVec.push_back(1.18114e-05);
00060 kinVec.push_back(0.325066);ionizVec.push_back(1.13592e-05);
00061 kinVec.push_back(0.33146 );ionizVec.push_back(1.09666e-05);
00062 kinVec.push_back(0.337855);ionizVec.push_back(1.05961e-05);
00063 kinVec.push_back(0.34425 );ionizVec.push_back(1.02462e-05);
00064 kinVec.push_back(0.350644);ionizVec.push_back(9.91509e-06);
00065 kinVec.push_back(0.357039);ionizVec.push_back(9.6016e-06 );
00066 kinVec.push_back(0.363434);ionizVec.push_back(9.30456e-06);
00067 kinVec.push_back(0.369829);ionizVec.push_back(9.02278e-06);
00068 kinVec.push_back(0.376223);ionizVec.push_back(8.81998e-06);
00069 kinVec.push_back(0.382618);ionizVec.push_back(8.56388e-06);
00070 kinVec.push_back(0.389013);ionizVec.push_back(8.32029e-06);
00071 kinVec.push_back(0.395408);ionizVec.push_back(8.08844e-06);
00072 kinVec.push_back(0.401802);ionizVec.push_back(7.86756e-06);
00073 kinVec.push_back(0.408197);ionizVec.push_back(7.65699e-06);
00074 kinVec.push_back(0.414592);ionizVec.push_back(7.45608e-06);
00075 kinVec.push_back(0.420987);ionizVec.push_back(7.26426e-06);
00076 kinVec.push_back(0.427381);ionizVec.push_back(7.12715e-06);
00077 kinVec.push_back(0.433776);ionizVec.push_back(6.95077e-06);
00078 kinVec.push_back(0.440171);ionizVec.push_back(6.78204e-06);
00079 kinVec.push_back(0.446565);ionizVec.push_back(6.62049e-06);
00080 kinVec.push_back(0.45296 );ionizVec.push_back(6.46574e-06);
00081 kinVec.push_back(0.459355);ionizVec.push_back(6.3174e-06 );
00082 kinVec.push_back(0.46575 );ionizVec.push_back(6.17514e-06);
00083 kinVec.push_back(0.472144);ionizVec.push_back(6.03861e-06);
00084 kinVec.push_back(0.478539);ionizVec.push_back(5.90753e-06);
00085 kinVec.push_back(0.484934);ionizVec.push_back(5.82937e-06);
00086 kinVec.push_back(0.491329);ionizVec.push_back(5.70733e-06);
00087 kinVec.push_back(0.497723);ionizVec.push_back(5.58995e-06);
00088 kinVec.push_back(0.504118);ionizVec.push_back(5.47701e-06);
00089 kinVec.push_back(0.510513);ionizVec.push_back(5.36829e-06);
00090 kinVec.push_back(0.516908);ionizVec.push_back(5.26358e-06);
00091 kinVec.push_back(0.523302);ionizVec.push_back(5.16268e-06);
00092 kinVec.push_back(0.529697);ionizVec.push_back(5.06542e-06);
00093 kinVec.push_back(0.536092);ionizVec.push_back(4.95505e-06);
00094 kinVec.push_back(0.542486);ionizVec.push_back(4.86486e-06);
00095 kinVec.push_back(0.548881);ionizVec.push_back(4.77779e-06);
00096 kinVec.push_back(0.555276);ionizVec.push_back(4.6937e-06 );
00097 kinVec.push_back(0.561671);ionizVec.push_back(4.61248e-06);
00098 kinVec.push_back(0.568065);ionizVec.push_back(4.53397e-06);
00099 kinVec.push_back(0.57446 );ionizVec.push_back(4.45809e-06);
00100 kinVec.push_back(0.580855);ionizVec.push_back(4.38469e-06);
00101 kinVec.push_back(0.58725 );ionizVec.push_back(4.32523e-06);
00102 kinVec.push_back(0.593644);ionizVec.push_back(4.25631e-06);
00103 kinVec.push_back(0.600039);ionizVec.push_back(4.18958e-06);
00104 kinVec.push_back(0.606434);ionizVec.push_back(4.12496e-06);
00105 kinVec.push_back(0.612828);ionizVec.push_back(4.06236e-06);
00106 kinVec.push_back(0.619223);ionizVec.push_back(4.00167e-06);
00107 kinVec.push_back(0.625618);ionizVec.push_back(3.94284e-06);
00108 kinVec.push_back(0.632013);ionizVec.push_back(3.88579e-06);
00109 kinVec.push_back(0.638407);ionizVec.push_back(3.83045e-06);
00110 kinVec.push_back(0.644802);ionizVec.push_back(3.78096e-06);
00111 kinVec.push_back(0.651197);ionizVec.push_back(3.72878e-06);
00112 kinVec.push_back(0.657592);ionizVec.push_back(3.6781e-06 );
00113 kinVec.push_back(0.663986);ionizVec.push_back(3.62888e-06);
00114 kinVec.push_back(0.670381);ionizVec.push_back(3.58106e-06);
00115 kinVec.push_back(0.676776);ionizVec.push_back(3.53459e-06);
00116 kinVec.push_back(0.683171);ionizVec.push_back(3.48941e-06);
00117 kinVec.push_back(0.689565);ionizVec.push_back(3.4455e-06 );
00118 kinVec.push_back(0.69596 );ionizVec.push_back(3.39852e-06);
00119 kinVec.push_back(0.702355);ionizVec.push_back(3.35701e-06);
00120 kinVec.push_back(0.708749);ionizVec.push_back(3.31663e-06);
00121 kinVec.push_back(0.715144);ionizVec.push_back(3.27733e-06);
00122 kinVec.push_back(0.721539);ionizVec.push_back(3.23906e-06);
00123 kinVec.push_back(0.727934);ionizVec.push_back(3.20181e-06);
00124 kinVec.push_back(0.734328);ionizVec.push_back(3.16551e-06);
00125 kinVec.push_back(0.740723);ionizVec.push_back(3.13016e-06);
00126 kinVec.push_back(0.747118);ionizVec.push_back(3.08976e-06);
00127 kinVec.push_back(0.753513);ionizVec.push_back(3.05624e-06);
00128 kinVec.push_back(0.759907);ionizVec.push_back(3.02358e-06);
00129 kinVec.push_back(0.766302);ionizVec.push_back(2.99172e-06);
00130 kinVec.push_back(0.772697);ionizVec.push_back(2.96065e-06);
00131 kinVec.push_back(0.779092);ionizVec.push_back(2.93033e-06);
00132 kinVec.push_back(0.785486);ionizVec.push_back(2.90077e-06);
00133 kinVec.push_back(0.791881);ionizVec.push_back(2.87191e-06);
00134 kinVec.push_back(0.798276);ionizVec.push_back(2.84375e-06);
00135 kinVec.push_back(0.80467 );ionizVec.push_back(2.80652e-06);
00136 kinVec.push_back(0.811065);ionizVec.push_back(2.77976e-06);
00137 kinVec.push_back(0.81746 );ionizVec.push_back(2.75364e-06);
00138 kinVec.push_back(0.823855);ionizVec.push_back(2.72812e-06);
00139 kinVec.push_back(0.830249);ionizVec.push_back(2.70318e-06);
00140 kinVec.push_back(0.836644);ionizVec.push_back(2.67881e-06);
00141 kinVec.push_back(0.843039);ionizVec.push_back(2.65499e-06);
00142 kinVec.push_back(0.849434);ionizVec.push_back(2.63171e-06);
00143
00144
00145 kinVec.push_back(0.92068);ionizVec.push_back(2.44711e-06);
00146 kinVec.push_back(1.05682);ionizVec.push_back(2.12787e-06);
00147 kinVec.push_back(1.19295);ionizVec.push_back(1.91688e-06);
00148 kinVec.push_back(1.32908);ionizVec.push_back(1.76312e-06);
00149 kinVec.push_back(1.46522);ionizVec.push_back(1.65432e-06);
00150 kinVec.push_back(1.60135);ionizVec.push_back(1.56874e-06);
00151 kinVec.push_back(1.73748);ionizVec.push_back(1.50247e-06);
00152 kinVec.push_back(1.87361);ionizVec.push_back(1.46839e-06);
00153 kinVec.push_back(2.00974);ionizVec.push_back(1.42577e-06);
00154 kinVec.push_back(2.14588);ionizVec.push_back(1.39101e-06);
00155 kinVec.push_back(2.28201);ionizVec.push_back(1.38415e-06);
00156 kinVec.push_back(2.41814);ionizVec.push_back(1.35975e-06);
00157 kinVec.push_back(2.55427);ionizVec.push_back(1.34999e-06);
00158 kinVec.push_back(2.69041);ionizVec.push_back(1.34375e-06);
00159 kinVec.push_back(2.82654);ionizVec.push_back(1.3375e-06 );
00160 kinVec.push_back(2.96267);ionizVec.push_back(1.32839e-06);
00161 kinVec.push_back(3.0988 );ionizVec.push_back(1.32689e-06);
00162 kinVec.push_back(3.23494);ionizVec.push_back(1.32366e-06);
00163 kinVec.push_back(3.37107);ionizVec.push_back(1.32239e-06);
00164 kinVec.push_back(3.5072 );ionizVec.push_back(1.32112e-06);
00165 kinVec.push_back(3.64333);ionizVec.push_back(1.31949e-06);
00166 kinVec.push_back(3.77947);ionizVec.push_back(1.32095e-06);
00167 kinVec.push_back(3.9156 );ionizVec.push_back(1.32241e-06);
00168 kinVec.push_back(4.18786);ionizVec.push_back(1.3238e-06 );
00169 kinVec.push_back(4.46013);ionizVec.push_back(1.32547e-06);
00170 kinVec.push_back(4.59626);ionizVec.push_back(1.32823e-06);
00171 kinVec.push_back(5.14079);ionizVec.push_back(1.3315e-06 );
00172 kinVec.push_back(5.27692);ionizVec.push_back(1.33467e-06);
00173 kinVec.push_back(5.41306);ionizVec.push_back(1.33871e-06);
00174 kinVec.push_back(5.54919);ionizVec.push_back(1.34288e-06);
00175 kinVec.push_back(5.68532);ionizVec.push_back(1.34616e-06);
00176 kinVec.push_back(5.82145);ionizVec.push_back(1.35068e-06);
00177 kinVec.push_back(5.95759);ionizVec.push_back(1.35494e-06);
00178 kinVec.push_back(6.09372);ionizVec.push_back(1.36034e-06);
00179 kinVec.push_back(6.22985);ionizVec.push_back(1.36459e-06);
00180 kinVec.push_back(6.36598);ionizVec.push_back(1.36865e-06);
00181 kinVec.push_back(6.50212);ionizVec.push_back(1.37391e-06);
00182 kinVec.push_back(6.63825);ionizVec.push_back(1.37861e-06);
00183 kinVec.push_back(6.77438);ionizVec.push_back(1.38285e-06);
00184 kinVec.push_back(6.91051);ionizVec.push_back(1.38648e-06);
00185 kinVec.push_back(7.04665);ionizVec.push_back(1.38971e-06);
00186 kinVec.push_back(7.31891);ionizVec.push_back(1.39186e-06);
00187 kinVec.push_back(7.45504);ionizVec.push_back(1.39507e-06);
00188 kinVec.push_back(7.72731);ionizVec.push_back(1.39519e-06);
00189 kinVec.push_back(7.86344);ionizVec.push_back(1.39713e-06);
00190 kinVec.push_back(8.13571);ionizVec.push_back(1.39835e-06);
00191 kinVec.push_back(8.27184);ionizVec.push_back(1.39978e-06);
00192 kinVec.push_back(8.40797);ionizVec.push_back(1.40071e-06);
00193 kinVec.push_back(8.5441 );ionizVec.push_back(1.40363e-06);
00194 kinVec.push_back(8.81637);ionizVec.push_back(1.40651e-06);
00195 kinVec.push_back(8.9525 );ionizVec.push_back(1.40943e-06);
00196 kinVec.push_back(9.08863);ionizVec.push_back(1.41462e-06);
00197 kinVec.push_back(9.22477);ionizVec.push_back(1.41753e-06);
00198 kinVec.push_back(9.76929);ionizVec.push_back(1.42957e-06);
00199 kinVec.push_back(9.90543);ionizVec.push_back(1.43212e-06);
00200 kinVec.push_back(10.0416);ionizVec.push_back(1.4451e-06 );
00201 kinVec.push_back(10.1777);ionizVec.push_back(1.44767e-06);
00202 kinVec.push_back(10.3138);ionizVec.push_back(1.45024e-06);
00203 kinVec.push_back(10.7222);ionizVec.push_back(1.45164e-06);
00204 kinVec.push_back(10.8584);ionizVec.push_back(1.45502e-06);
00205 kinVec.push_back(10.9945);ionizVec.push_back(1.45758e-06);
00206 kinVec.push_back(12.0835);ionizVec.push_back(1.45772e-06);
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276 kinVec.push_back(214.286); ionizVec.push_back(1.84391e-06*1.0583);
00277 kinVec.push_back(251.468); ionizVec.push_back(1.865e-06 *1.0583);
00278 kinVec.push_back(288.65 ); ionizVec.push_back(1.88321e-06*1.0583);
00279 kinVec.push_back(325.832); ionizVec.push_back(1.87983e-06*1.0583);
00280 kinVec.push_back(363.014); ionizVec.push_back(1.89258e-06*1.0583);
00281 kinVec.push_back(400.196); ionizVec.push_back(1.88496e-06*1.0583);
00282 kinVec.push_back(437.378); ionizVec.push_back(1.8953e-06 *1.0583);
00283 kinVec.push_back(474.56 ); ionizVec.push_back(1.90352e-06*1.0583);
00284 kinVec.push_back(511.742); ionizVec.push_back(1.89112e-06*1.0583);
00285 kinVec.push_back(548.924); ionizVec.push_back(1.89855e-06*1.0583);
00286 kinVec.push_back(586.106); ionizVec.push_back(1.90452e-06*1.0583);
00287 kinVec.push_back(623.288); ionizVec.push_back(1.90318e-06*1.0583);
00288 kinVec.push_back(660.47 ); ionizVec.push_back(1.90914e-06*1.0583);
00289 kinVec.push_back(697.652); ionizVec.push_back(1.91306e-06*1.0583);
00290 kinVec.push_back(734.834); ionizVec.push_back(1.91746e-06*1.0583);
00291 kinVec.push_back(772.016); ionizVec.push_back(1.92184e-06*1.0583);
00292 kinVec.push_back(809.198); ionizVec.push_back(1.92571e-06*1.0583);
00293 kinVec.push_back(846.38 ); ionizVec.push_back(1.93009e-06*1.0583);
00294 kinVec.push_back(883.562); ionizVec.push_back(1.93345e-06*1.0583);
00295 kinVec.push_back(920.744); ionizVec.push_back(1.93669e-06*1.0583);
00296 kinVec.push_back(957.926); ionizVec.push_back(1.93992e-06*1.0583);
00297 kinVec.push_back(995.108); ionizVec.push_back(1.94317e-06*1.0583);
00298 kinVec.push_back(1032.29); ionizVec.push_back(1.94641e-06*1.0583);
00299 kinVec.push_back(1069.47); ionizVec.push_back(1.94964e-06*1.0583);
00300 kinVec.push_back(1106.65); ionizVec.push_back(1.95206e-06*1.0583);
00301 kinVec.push_back(1143.84); ionizVec.push_back(1.95445e-06*1.0583);
00302 kinVec.push_back(1181.02); ionizVec.push_back(1.95684e-06*1.0583);
00303 kinVec.push_back(1218.2 ); ionizVec.push_back(1.95924e-06*1.0583);
00304 kinVec.push_back(1255.38); ionizVec.push_back(1.96162e-06*1.0583);
00305 kinVec.push_back(1292.56); ionizVec.push_back(1.96402e-06*1.0583);
00306 kinVec.push_back(1329.75); ionizVec.push_back(1.96641e-06*1.0583);
00307 kinVec.push_back(1366.93); ionizVec.push_back(1.96846e-06*1.0583);
00308 kinVec.push_back(1404.11); ionizVec.push_back(1.97023e-06*1.0583);
00309 kinVec.push_back(1441.29); ionizVec.push_back(1.972e-06 *1.0583);
00310 kinVec.push_back(1478.47); ionizVec.push_back(1.97379e-06*1.0583);
00311 kinVec.push_back(1515.66); ionizVec.push_back(1.97555e-06*1.0583);
00312 kinVec.push_back(1552.84); ionizVec.push_back(1.97732e-06*1.0583);
00313 kinVec.push_back(1590.02); ionizVec.push_back(1.9791e-06 *1.0583);
00314 kinVec.push_back(1627.2 ); ionizVec.push_back(1.98087e-06*1.0583);
00315 kinVec.push_back(1664.38); ionizVec.push_back(1.98265e-06*1.0583);
00316 kinVec.push_back(1701.57); ionizVec.push_back(1.98434e-06*1.0583);
00317 kinVec.push_back(1738.75); ionizVec.push_back(1.98567e-06*1.0583);
00318 kinVec.push_back(1775.93); ionizVec.push_back(1.98699e-06*1.0583);
00319 kinVec.push_back(1813.11); ionizVec.push_back(1.98832e-06*1.0583);
00320 kinVec.push_back(1850.29); ionizVec.push_back(1.98964e-06*1.0583);
00321 kinVec.push_back(1887.48); ionizVec.push_back(1.99098e-06*1.0583);
00322 kinVec.push_back(1924.66); ionizVec.push_back(1.99229e-06*1.0583);
00323 kinVec.push_back(1961.84); ionizVec.push_back(1.99361e-06*1.0583);
00324 kinVec.push_back(1999.02); ionizVec.push_back(1.99493e-06*1.0583);
00325 kinVec.push_back(2036.2 ); ionizVec.push_back(1.99625e-06*1.0583);
00326 kinVec.push_back(2073.39); ionizVec.push_back(1.99759e-06*1.0583);
00327 kinVec.push_back(2110.57); ionizVec.push_back(1.99891e-06*1.0583);
00328 kinVec.push_back(2147.75); ionizVec.push_back(2.00012e-06*1.0583);
00329 kinVec.push_back(2184.93); ionizVec.push_back(2.0011e-06 *1.0583);
00330 kinVec.push_back(2222.11); ionizVec.push_back(2.00209e-06*1.0583);
00331 kinVec.push_back(2259.3 ); ionizVec.push_back(2.00309e-06*1.0583);
00332 kinVec.push_back(2296.48); ionizVec.push_back(2.00407e-06*1.0583);
00333 kinVec.push_back(2333.66); ionizVec.push_back(2.00508e-06*1.0583);
00334 kinVec.push_back(2370.84); ionizVec.push_back(2.00606e-06*1.0583);
00335 kinVec.push_back(2408.02); ionizVec.push_back(2.00706e-06*1.0583);
00336 kinVec.push_back(2445.21); ionizVec.push_back(2.00805e-06*1.0583);
00337 kinVec.push_back(2482.39); ionizVec.push_back(2.00903e-06*1.0583);
00338 kinVec.push_back(2519.57); ionizVec.push_back(2.01003e-06*1.0583);
00339 kinVec.push_back(2556.75); ionizVec.push_back(2.01102e-06*1.0583);
00340 kinVec.push_back(2593.93); ionizVec.push_back(2.01202e-06*1.0583);
00341 kinVec.push_back(2631.12); ionizVec.push_back(2.01301e-06*1.0583);
00342 kinVec.push_back(2668.3 ); ionizVec.push_back(2.014e-06 *1.0583);
00343 kinVec.push_back(2705.48); ionizVec.push_back(2.01486e-06*1.0583);
00344 kinVec.push_back(2742.66); ionizVec.push_back(2.01561e-06*1.0583);
00345 kinVec.push_back(2779.84); ionizVec.push_back(2.01635e-06*1.0583);
00346 kinVec.push_back(2817.03); ionizVec.push_back(2.0171e-06 *1.0583);
00347 kinVec.push_back(2854.21); ionizVec.push_back(2.01784e-06*1.0583);
00348 kinVec.push_back(2891.39); ionizVec.push_back(2.01859e-06*1.0583);
00349 kinVec.push_back(2928.57); ionizVec.push_back(2.01933e-06*1.0583);
00350 kinVec.push_back(2965.75); ionizVec.push_back(2.02008e-06*1.0583);
00351 kinVec.push_back(3002.94); ionizVec.push_back(2.02081e-06*1.0583);
00352 kinVec.push_back(3040.12); ionizVec.push_back(2.02156e-06*1.0583);
00353 kinVec.push_back(3077.3 ); ionizVec.push_back(2.02231e-06*1.0583);
00354 kinVec.push_back(3114.48); ionizVec.push_back(2.02306e-06*1.0583);
00355 kinVec.push_back(3151.66); ionizVec.push_back(2.0238e-06 *1.0583);
00356 kinVec.push_back(3188.85); ionizVec.push_back(2.02454e-06*1.0583);
00357 kinVec.push_back(3226.03); ionizVec.push_back(2.02529e-06*1.0583);
00358 kinVec.push_back(3263.21); ionizVec.push_back(2.02604e-06*1.0583);
00359 kinVec.push_back(3300.39); ionizVec.push_back(2.02678e-06*1.0583);
00360 kinVec.push_back(3337.57); ionizVec.push_back(2.02752e-06*1.0583);
00361 kinVec.push_back(3374.76); ionizVec.push_back(2.02826e-06*1.0583);
00362 kinVec.push_back(3411.94); ionizVec.push_back(2.02887e-06*1.0583);
00363 kinVec.push_back(3449.12); ionizVec.push_back(2.02943e-06*1.0583);
00364 kinVec.push_back(3486.3 ); ionizVec.push_back(2.03e-06 *1.0583);
00365 kinVec.push_back(3523.48); ionizVec.push_back(2.03056e-06*1.0583);
00366 kinVec.push_back(3560.67); ionizVec.push_back(2.03113e-06*1.0583);
00367 kinVec.push_back(3597.85); ionizVec.push_back(2.03169e-06*1.0583);
00368 kinVec.push_back(3635.03); ionizVec.push_back(2.03227e-06*1.0583);
00369 kinVec.push_back(3672.21); ionizVec.push_back(2.03283e-06*1.0583);
00370 kinVec.push_back(3709.39); ionizVec.push_back(2.03339e-06*1.0583);
00371 kinVec.push_back(3746.58); ionizVec.push_back(2.03395e-06*1.0583);
00372 kinVec.push_back(3783.76); ionizVec.push_back(2.03452e-06*1.0583);
00373 kinVec.push_back(3820.94); ionizVec.push_back(2.03509e-06*1.0583);
00374 kinVec.push_back(3858.12); ionizVec.push_back(2.03565e-06*1.0583);
00375 kinVec.push_back(3895.3 ); ionizVec.push_back(2.03622e-06*1.0583);
00376
00377
00378
00379
00380
00381
00382
00383
00384
00385
00386
00387
00388
00389
00390
00391
00392
00393
00394
00395
00396
00397
00398
00399
00400
00401
00402
00403
00404
00405
00406
00407
00408
00409
00410
00411
00412
00413
00414
00415
00416
00417
00418
00419
00420
00421
00422
00423
00424
00425
00426
00427
00428
00429
00430
00431
00432
00433
00434
00435
00436
00437
00438
00439
00440
00441
00442
00443
00444
00445
00446
00447 for(size_t i=0; i<ionizVec.size(); ++i) {
00448
00449
00450
00451
00452 mMap.insert(map<double,double>::value_type(kinVec[i],ionizVec[i]));
00453
00454 }
00455
00456
00457 }
00458 myBetheBloch::~myBetheBloch(){
00459 mMap.clear();
00460 }
00461 double myBetheBloch::operator() (double betagamma) {
00462
00463
00464
00465 double unnormalized = 0;
00466 if (betagamma < .217) {
00467 double bg2 = betagamma*betagamma;
00468
00469 unnormalized = (5.39e-4*2.0885e-3)*((1+bg2)/bg2);
00470 }
00471 else {
00472
00473
00474
00475 map<double,double>::iterator lowb = mMap.lower_bound(betagamma);
00476 if (lowb == mMap.end())
00477 unnormalized = (*(--lowb)).second;
00478
00479 else {
00480 double bghigh = (*lowb).first;
00481 double dedxhigh = (*lowb).second;
00482 if (bghigh == betagamma || lowb==mMap.begin())
00483 unnormalized = dedxhigh;
00484 else {
00485 --lowb;
00486 double bglow = (*lowb).first;
00487 double dedxlow = (*lowb).second;
00488 double slope = (dedxhigh - dedxlow)/(bghigh - bglow);
00489 unnormalized = (dedxlow + slope * (betagamma - bglow));
00490 }
00491 }
00492 }
00493
00494
00495
00496
00497
00498
00499
00500
00501
00502
00503 return 1.055*unnormalized;
00504 }
00505
00506
00507
00508