00001 #include "NCUtils/Extraction/RPnearTrackANN.h" 00002 #include <iostream> 00003 #include <cmath> 00004 00005 #include "MessageService/MsgService.h" 00006 00007 CVSID(""); 00008 00009 double RPnearTrackANN::value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6) { 00010 input0 = (in0 - 2358.24)/2668.84; 00011 input1 = (in1 - 830.77)/308.1; 00012 input2 = (in2 - -794.133)/2705.09; 00013 input3 = (in3 - 39.8048)/32.0241; 00014 input4 = (in4 - 0.600125)/0.719635; 00015 input5 = (in5 - 28.4664)/31.1874; 00016 input6 = (in6 - 0.847811)/1.51083; 00017 switch(index) { 00018 case 0: 00019 return ((neuron0x101c92d8()*1)+0); 00020 default: 00021 return 0.; 00022 } 00023 } 00024 00025 double RPnearTrackANN::neuron0x101c7640() { 00026 return input0; 00027 } 00028 00029 double RPnearTrackANN::neuron0x101c7830() { 00030 return input1; 00031 } 00032 00033 double RPnearTrackANN::neuron0x101c7a08() { 00034 return input2; 00035 } 00036 00037 double RPnearTrackANN::neuron0x101c7c08() { 00038 return input3; 00039 } 00040 00041 double RPnearTrackANN::neuron0x101c7de0() { 00042 return input4; 00043 } 00044 00045 double RPnearTrackANN::neuron0x101c7fe0() { 00046 return input5; 00047 } 00048 00049 double RPnearTrackANN::neuron0x101c81e8() { 00050 return input6; 00051 } 00052 00053 double RPnearTrackANN::input0x101c84e0() { 00054 double input = -2.61757; 00055 input += synapse0x101a9568(); 00056 input += synapse0x101a9540(); 00057 input += synapse0xd8ace68(); 00058 input += synapse0xd8acea8(); 00059 input += synapse0x101c8670(); 00060 input += synapse0x101c8698(); 00061 input += synapse0x101c86c0(); 00062 return input; 00063 } 00064 00065 double RPnearTrackANN::neuron0x101c84e0() { 00066 double input = input0x101c84e0(); 00067 if (input<-700) { 00068 largeArgErr(input); 00069 return 0; 00070 } 00071 return ((1/(1+exp(-input))) * 1)+0; 00072 } 00073 00074 double RPnearTrackANN::input0x101c86e8() { 00075 double input = 5.82815; 00076 input += synapse0x101c88c0(); 00077 input += synapse0x101c88e8(); 00078 input += synapse0x101c8910(); 00079 input += synapse0x101c8938(); 00080 input += synapse0x101c8960(); 00081 input += synapse0x101c8988(); 00082 input += synapse0x101c89b0(); 00083 return input; 00084 } 00085 00086 double RPnearTrackANN::neuron0x101c86e8() { 00087 double input = input0x101c86e8(); 00088 if (input<-700) { 00089 largeArgErr(input); 00090 return 0; 00091 } 00092 return ((1/(1+exp(-input))) * 1)+0; 00093 } 00094 00095 double RPnearTrackANN::input0x101c89d8() { 00096 double input = 0.463981; 00097 input += synapse0x101c8bb0(); 00098 input += synapse0x101c8bd8(); 00099 input += synapse0x101c8c00(); 00100 input += synapse0x101c8cb0(); 00101 input += synapse0x101c8cd8(); 00102 input += synapse0x101c8d00(); 00103 input += synapse0x101c8d28(); 00104 return input; 00105 } 00106 00107 double RPnearTrackANN::neuron0x101c89d8() { 00108 double input = input0x101c89d8(); 00109 if (input<-700) { 00110 largeArgErr(input); 00111 return 0; 00112 } 00113 return ((1/(1+exp(-input))) * 1)+0; 00114 } 00115 00116 double RPnearTrackANN::input0x101c8d50() { 00117 double input = 0.647326; 00118 input += synapse0x101c8f00(); 00119 input += synapse0x101c8f28(); 00120 input += synapse0x101c8f50(); 00121 input += synapse0x101c8f78(); 00122 input += synapse0x101c8fa0(); 00123 input += synapse0x101c8fc8(); 00124 input += synapse0x101c8ff0(); 00125 return input; 00126 } 00127 00128 double RPnearTrackANN::neuron0x101c8d50() { 00129 double input = input0x101c8d50(); 00130 if (input<-700) { 00131 largeArgErr(input); 00132 return 0; 00133 } 00134 return ((1/(1+exp(-input))) * 1)+0; 00135 } 00136 00137 double RPnearTrackANN::input0x101c9018() { 00138 double input = 0.559255; 00139 input += synapse0x101c9210(); 00140 input += synapse0x101c9238(); 00141 input += synapse0x101c9260(); 00142 input += synapse0x101c9288(); 00143 input += synapse0x101c92b0(); 00144 input += synapse0x101c8c28(); 00145 input += synapse0x101c8c50(); 00146 return input; 00147 } 00148 00149 double RPnearTrackANN::neuron0x101c9018() { 00150 double input = input0x101c9018(); 00151 if (input<-700) { 00152 largeArgErr(input); 00153 return 0; 00154 } 00155 return ((1/(1+exp(-input))) * 1)+0; 00156 } 00157 00158 double RPnearTrackANN::input0x101c93e0() { 00159 double input = 0.037462; 00160 input += synapse0x101c95d8(); 00161 input += synapse0x101c9600(); 00162 input += synapse0x101c9628(); 00163 input += synapse0x101c9650(); 00164 input += synapse0x101c9678(); 00165 input += synapse0x101c96a0(); 00166 input += synapse0x101c96c8(); 00167 return input; 00168 } 00169 00170 double RPnearTrackANN::neuron0x101c93e0() { 00171 double input = input0x101c93e0(); 00172 if (input<-700) { 00173 largeArgErr(input); 00174 return 0; 00175 } 00176 return ((1/(1+exp(-input))) * 1)+0; 00177 } 00178 00179 double RPnearTrackANN::input0x101c96f0() { 00180 double input = -3.92668; 00181 input += synapse0x101c98e8(); 00182 input += synapse0x101c9910(); 00183 input += synapse0x101c9938(); 00184 input += synapse0x101c9960(); 00185 input += synapse0x101c9988(); 00186 input += synapse0x101c99b0(); 00187 input += synapse0x101c99d8(); 00188 return input; 00189 } 00190 00191 double RPnearTrackANN::neuron0x101c96f0() { 00192 double input = input0x101c96f0(); 00193 if (input<-700) { 00194 largeArgErr(input); 00195 return 0; 00196 } 00197 return ((1/(1+exp(-input))) * 1)+0; 00198 } 00199 00200 double RPnearTrackANN::input0x101c9a00() { 00201 double input = 2.3273; 00202 input += synapse0x101c9bf8(); 00203 input += synapse0x101c9c20(); 00204 input += synapse0x101c9c48(); 00205 input += synapse0x101c9c70(); 00206 input += synapse0x101c9c98(); 00207 input += synapse0x101c9cc0(); 00208 input += synapse0x101c9ce8(); 00209 return input; 00210 } 00211 00212 double RPnearTrackANN::neuron0x101c9a00() { 00213 double input = input0x101c9a00(); 00214 if (input<-700) { 00215 largeArgErr(input); 00216 return 0; 00217 } 00218 return ((1/(1+exp(-input))) * 1)+0; 00219 } 00220 00221 double RPnearTrackANN::input0x101c9d10() { 00222 double input = -0.842372; 00223 input += synapse0x101c9f08(); 00224 input += synapse0x101c9f30(); 00225 input += synapse0x101c9f58(); 00226 input += synapse0x101c9f80(); 00227 input += synapse0x101c9fa8(); 00228 input += synapse0x101c9fd0(); 00229 input += synapse0x101c9ff8(); 00230 return input; 00231 } 00232 00233 double RPnearTrackANN::neuron0x101c9d10() { 00234 double input = input0x101c9d10(); 00235 if (input<-700) { 00236 largeArgErr(input); 00237 return 0; 00238 } 00239 return ((1/(1+exp(-input))) * 1)+0; 00240 } 00241 00242 double RPnearTrackANN::input0x101ca020() { 00243 double input = 2.22293; 00244 input += synapse0x101ca2a0(); 00245 input += synapse0x101ca2c8(); 00246 input += synapse0xd8acdd8(); 00247 input += synapse0x101c8c78(); 00248 input += synapse0xd8aca88(); 00249 input += synapse0xd8a8d98(); 00250 input += synapse0x10151920(); 00251 return input; 00252 } 00253 00254 double RPnearTrackANN::neuron0x101ca020() { 00255 double input = input0x101ca020(); 00256 if (input<-700) { 00257 largeArgErr(input); 00258 return 0; 00259 } 00260 return ((1/(1+exp(-input))) * 1)+0; 00261 } 00262 00263 double RPnearTrackANN::input0x101c92d8() { 00264 double input = -0.413907; 00265 input += synapse0x101c8498(); 00266 input += synapse0x101ca4f8(); 00267 input += synapse0x101ca520(); 00268 input += synapse0x101ca548(); 00269 input += synapse0x101ca570(); 00270 input += synapse0x101ca598(); 00271 input += synapse0x101ca5c0(); 00272 input += synapse0x101ca5e8(); 00273 input += synapse0x101ca610(); 00274 input += synapse0x101ca638(); 00275 return input; 00276 } 00277 00278 double RPnearTrackANN::neuron0x101c92d8() { 00279 double input = input0x101c92d8(); 00280 return (input * 1)+0; 00281 } 00282 00283 double RPnearTrackANN::synapse0x101a9568() { 00284 return (neuron0x101c7640()*-1.50596); 00285 } 00286 00287 double RPnearTrackANN::synapse0x101a9540() { 00288 return (neuron0x101c7830()*0.00977177); 00289 } 00290 00291 double RPnearTrackANN::synapse0xd8ace68() { 00292 return (neuron0x101c7a08()*-0.0610464); 00293 } 00294 00295 double RPnearTrackANN::synapse0xd8acea8() { 00296 return (neuron0x101c7c08()*-3.40721); 00297 } 00298 00299 double RPnearTrackANN::synapse0x101c8670() { 00300 return (neuron0x101c7de0()*1.61433); 00301 } 00302 00303 double RPnearTrackANN::synapse0x101c8698() { 00304 return (neuron0x101c7fe0()*-0.36262); 00305 } 00306 00307 double RPnearTrackANN::synapse0x101c86c0() { 00308 return (neuron0x101c81e8()*0.0213261); 00309 } 00310 00311 double RPnearTrackANN::synapse0x101c88c0() { 00312 return (neuron0x101c7640()*-0.698112); 00313 } 00314 00315 double RPnearTrackANN::synapse0x101c88e8() { 00316 return (neuron0x101c7830()*-0.00679292); 00317 } 00318 00319 double RPnearTrackANN::synapse0x101c8910() { 00320 return (neuron0x101c7a08()*4.15574); 00321 } 00322 00323 double RPnearTrackANN::synapse0x101c8938() { 00324 return (neuron0x101c7c08()*4.5703); 00325 } 00326 00327 double RPnearTrackANN::synapse0x101c8960() { 00328 return (neuron0x101c7de0()*-7.60015); 00329 } 00330 00331 double RPnearTrackANN::synapse0x101c8988() { 00332 return (neuron0x101c7fe0()*1.05528); 00333 } 00334 00335 double RPnearTrackANN::synapse0x101c89b0() { 00336 return (neuron0x101c81e8()*-0.139121); 00337 } 00338 00339 double RPnearTrackANN::synapse0x101c8bb0() { 00340 return (neuron0x101c7640()*-0.160225); 00341 } 00342 00343 double RPnearTrackANN::synapse0x101c8bd8() { 00344 return (neuron0x101c7830()*0.00036438); 00345 } 00346 00347 double RPnearTrackANN::synapse0x101c8c00() { 00348 return (neuron0x101c7a08()*0.574205); 00349 } 00350 00351 double RPnearTrackANN::synapse0x101c8cb0() { 00352 return (neuron0x101c7c08()*1.70474); 00353 } 00354 00355 double RPnearTrackANN::synapse0x101c8cd8() { 00356 return (neuron0x101c7de0()*0.858173); 00357 } 00358 00359 double RPnearTrackANN::synapse0x101c8d00() { 00360 return (neuron0x101c7fe0()*1.60482); 00361 } 00362 00363 double RPnearTrackANN::synapse0x101c8d28() { 00364 return (neuron0x101c81e8()*-0.0662385); 00365 } 00366 00367 double RPnearTrackANN::synapse0x101c8f00() { 00368 return (neuron0x101c7640()*-1.22482); 00369 } 00370 00371 double RPnearTrackANN::synapse0x101c8f28() { 00372 return (neuron0x101c7830()*0.184888); 00373 } 00374 00375 double RPnearTrackANN::synapse0x101c8f50() { 00376 return (neuron0x101c7a08()*-0.537937); 00377 } 00378 00379 double RPnearTrackANN::synapse0x101c8f78() { 00380 return (neuron0x101c7c08()*1.92537); 00381 } 00382 00383 double RPnearTrackANN::synapse0x101c8fa0() { 00384 return (neuron0x101c7de0()*-0.952801); 00385 } 00386 00387 double RPnearTrackANN::synapse0x101c8fc8() { 00388 return (neuron0x101c7fe0()*2.173); 00389 } 00390 00391 double RPnearTrackANN::synapse0x101c8ff0() { 00392 return (neuron0x101c81e8()*-0.0495471); 00393 } 00394 00395 double RPnearTrackANN::synapse0x101c9210() { 00396 return (neuron0x101c7640()*2.40958); 00397 } 00398 00399 double RPnearTrackANN::synapse0x101c9238() { 00400 return (neuron0x101c7830()*0.0417586); 00401 } 00402 00403 double RPnearTrackANN::synapse0x101c9260() { 00404 return (neuron0x101c7a08()*-0.368103); 00405 } 00406 00407 double RPnearTrackANN::synapse0x101c9288() { 00408 return (neuron0x101c7c08()*3.50134); 00409 } 00410 00411 double RPnearTrackANN::synapse0x101c92b0() { 00412 return (neuron0x101c7de0()*0.974253); 00413 } 00414 00415 double RPnearTrackANN::synapse0x101c8c28() { 00416 return (neuron0x101c7fe0()*-3.22211); 00417 } 00418 00419 double RPnearTrackANN::synapse0x101c8c50() { 00420 return (neuron0x101c81e8()*0.254995); 00421 } 00422 00423 double RPnearTrackANN::synapse0x101c95d8() { 00424 return (neuron0x101c7640()*-0.569362); 00425 } 00426 00427 double RPnearTrackANN::synapse0x101c9600() { 00428 return (neuron0x101c7830()*0.134455); 00429 } 00430 00431 double RPnearTrackANN::synapse0x101c9628() { 00432 return (neuron0x101c7a08()*1.29052); 00433 } 00434 00435 double RPnearTrackANN::synapse0x101c9650() { 00436 return (neuron0x101c7c08()*-0.495642); 00437 } 00438 00439 double RPnearTrackANN::synapse0x101c9678() { 00440 return (neuron0x101c7de0()*-4.07864); 00441 } 00442 00443 double RPnearTrackANN::synapse0x101c96a0() { 00444 return (neuron0x101c7fe0()*-0.442103); 00445 } 00446 00447 double RPnearTrackANN::synapse0x101c96c8() { 00448 return (neuron0x101c81e8()*-0.0594045); 00449 } 00450 00451 double RPnearTrackANN::synapse0x101c98e8() { 00452 return (neuron0x101c7640()*-1.89131); 00453 } 00454 00455 double RPnearTrackANN::synapse0x101c9910() { 00456 return (neuron0x101c7830()*0.277883); 00457 } 00458 00459 double RPnearTrackANN::synapse0x101c9938() { 00460 return (neuron0x101c7a08()*-1.23078); 00461 } 00462 00463 double RPnearTrackANN::synapse0x101c9960() { 00464 return (neuron0x101c7c08()*-3.29134); 00465 } 00466 00467 double RPnearTrackANN::synapse0x101c9988() { 00468 return (neuron0x101c7de0()*-0.149546); 00469 } 00470 00471 double RPnearTrackANN::synapse0x101c99b0() { 00472 return (neuron0x101c7fe0()*3.32871); 00473 } 00474 00475 double RPnearTrackANN::synapse0x101c99d8() { 00476 return (neuron0x101c81e8()*0.0105908); 00477 } 00478 00479 double RPnearTrackANN::synapse0x101c9bf8() { 00480 return (neuron0x101c7640()*-0.0483081); 00481 } 00482 00483 double RPnearTrackANN::synapse0x101c9c20() { 00484 return (neuron0x101c7830()*0.0760012); 00485 } 00486 00487 double RPnearTrackANN::synapse0x101c9c48() { 00488 return (neuron0x101c7a08()*0.444424); 00489 } 00490 00491 double RPnearTrackANN::synapse0x101c9c70() { 00492 return (neuron0x101c7c08()*0.590545); 00493 } 00494 00495 double RPnearTrackANN::synapse0x101c9c98() { 00496 return (neuron0x101c7de0()*-0.585467); 00497 } 00498 00499 double RPnearTrackANN::synapse0x101c9cc0() { 00500 return (neuron0x101c7fe0()*2.38157); 00501 } 00502 00503 double RPnearTrackANN::synapse0x101c9ce8() { 00504 return (neuron0x101c81e8()*-0.0425589); 00505 } 00506 00507 double RPnearTrackANN::synapse0x101c9f08() { 00508 return (neuron0x101c7640()*-1.52041); 00509 } 00510 00511 double RPnearTrackANN::synapse0x101c9f30() { 00512 return (neuron0x101c7830()*0.105492); 00513 } 00514 00515 double RPnearTrackANN::synapse0x101c9f58() { 00516 return (neuron0x101c7a08()*-0.265257); 00517 } 00518 00519 double RPnearTrackANN::synapse0x101c9f80() { 00520 return (neuron0x101c7c08()*-1.35504); 00521 } 00522 00523 double RPnearTrackANN::synapse0x101c9fa8() { 00524 return (neuron0x101c7de0()*2.76945); 00525 } 00526 00527 double RPnearTrackANN::synapse0x101c9fd0() { 00528 return (neuron0x101c7fe0()*0.225072); 00529 } 00530 00531 double RPnearTrackANN::synapse0x101c9ff8() { 00532 return (neuron0x101c81e8()*-0.0048268); 00533 } 00534 00535 double RPnearTrackANN::synapse0x101ca2a0() { 00536 return (neuron0x101c7640()*-1.07416); 00537 } 00538 00539 double RPnearTrackANN::synapse0x101ca2c8() { 00540 return (neuron0x101c7830()*0.117156); 00541 } 00542 00543 double RPnearTrackANN::synapse0xd8acdd8() { 00544 return (neuron0x101c7a08()*0.41925); 00545 } 00546 00547 double RPnearTrackANN::synapse0x101c8c78() { 00548 return (neuron0x101c7c08()*2.36023); 00549 } 00550 00551 double RPnearTrackANN::synapse0xd8aca88() { 00552 return (neuron0x101c7de0()*-1.50135); 00553 } 00554 00555 double RPnearTrackANN::synapse0xd8a8d98() { 00556 return (neuron0x101c7fe0()*0.425589); 00557 } 00558 00559 double RPnearTrackANN::synapse0x10151920() { 00560 return (neuron0x101c81e8()*-0.925346); 00561 } 00562 00563 double RPnearTrackANN::synapse0x101c8498() { 00564 return (neuron0x101c84e0()*1.64994); 00565 } 00566 00567 double RPnearTrackANN::synapse0x101ca4f8() { 00568 return (neuron0x101c86e8()*1.31738); 00569 } 00570 00571 double RPnearTrackANN::synapse0x101ca520() { 00572 return (neuron0x101c89d8()*-3.86082); 00573 } 00574 00575 double RPnearTrackANN::synapse0x101ca548() { 00576 return (neuron0x101c8d50()*2.58499); 00577 } 00578 00579 double RPnearTrackANN::synapse0x101ca570() { 00580 return (neuron0x101c9018()*0.716741); 00581 } 00582 00583 double RPnearTrackANN::synapse0x101ca598() { 00584 return (neuron0x101c93e0()*-2.05536); 00585 } 00586 00587 double RPnearTrackANN::synapse0x101ca5c0() { 00588 return (neuron0x101c96f0()*-1.3871); 00589 } 00590 00591 double RPnearTrackANN::synapse0x101ca5e8() { 00592 return (neuron0x101c9a00()*1.59738); 00593 } 00594 00595 double RPnearTrackANN::synapse0x101ca610() { 00596 return (neuron0x101c9d10()*-1.11744); 00597 } 00598 00599 double RPnearTrackANN::synapse0x101ca638() { 00600 return (neuron0x101ca020()*0.684235); 00601 } 00602 00603 void RPnearTrackANN::largeArgErr(double input) { 00604 MAXMSG("NCExtractionRPann", Msg::kWarning,10) 00605 << "Large Argument in Exponential: " << -input 00606 << std::endl; 00607 }
1.3.9.1