00001 #include "AngleDistributions.h"
00002
00003 #define PI 3.14159265359
00004
00005 Array1D<double> AngleDistributions::getPhiArray(int index)
00006 {
00007 Array1D<double> phi_array(21);
00008
00009 if (index == 3)
00010 {
00011 phi_array(0) = 0.0;
00012 phi_array(1) = 0.327655967106;
00013 phi_array(2) = 0.560578576795;
00014 phi_array(3) = 0.750594366479;
00015 phi_array(4) = 0.916377761261;
00016 phi_array(5) = 1.0670557307;
00017 phi_array(6) = 1.20795532873;
00018 phi_array(7) = 1.3426062987;
00019 phi_array(8) = 1.47362013795;
00020 phi_array(9) = 1.60314770425;
00021 phi_array(10) = 1.7331658919;
00022 phi_array(11) = 1.86570815646;
00023 phi_array(12) = 2.00311417765;
00024 phi_array(13) = 2.14837732602;
00025 phi_array(14) = 2.30577228193;
00026 phi_array(15) = 2.4821488742;
00027 phi_array(16) = 2.69021721276;
00028 phi_array(17) = 2.95946679675;
00029 phi_array(18) = 3.39907010765;
00030 phi_array(19) = 5.50481419047;
00031 phi_array(20) = 2*PI;
00032 }
00033
00034 else if (index == 4)
00035 {
00036 phi_array(0) = 0.0;
00037 phi_array(1) = 0.778371116713;
00038 phi_array(2) = 2.88411519953;
00039 phi_array(3) = 3.32371851043;
00040 phi_array(4) = 3.59296809442;
00041 phi_array(5) = 3.80103643298;
00042 phi_array(6) = 3.97741302524;
00043 phi_array(7) = 4.13480798116;
00044 phi_array(8) = 4.28007112953;
00045 phi_array(9) = 4.41747715072;
00046 phi_array(10) = 4.55001941528;
00047 phi_array(11) = 4.68003760293;
00048 phi_array(12) = 4.80956516923;
00049 phi_array(13) = 4.94057900848;
00050 phi_array(14) = 5.07522997845;
00051 phi_array(15) = 5.21612957648;
00052 phi_array(16) = 5.36680754592;
00053 phi_array(17) = 5.5325909407;
00054 phi_array(18) = 5.72260673038;
00055 phi_array(19) = 5.95552934008;
00056 phi_array(20) = 2*PI;
00057 }
00058
00059 else if (index == 6)
00060 {
00061 phi_array(0) = 0.0;
00062 phi_array(1) = 0.128341746125;
00063 phi_array(2) = 0.258754953877;
00064 phi_array(3) = 0.393571324756;
00065 phi_array(4) = 0.535727491455;
00066 phi_array(5) = 0.689369470051;
00067 phi_array(6) = 0.861083099716;
00068 phi_array(7) = 1.06300466921;
00069 phi_array(8) = 1.32291249526;
00070 phi_array(9) = 1.73889905857;
00071 phi_array(10) = 3.14159265359;
00072 phi_array(11) = 4.54428624861;
00073 phi_array(12) = 4.96027281192;
00074 phi_array(13) = 5.22018063797;
00075 phi_array(14) = 5.42210220747;
00076 phi_array(15) = 5.59381583713;
00077 phi_array(16) = 5.74745781572;
00078 phi_array(17) = 5.88961398242;
00079 phi_array(18) = 6.02443035331;
00080 phi_array(19) = 6.15484356106;
00081 phi_array(20) = 2*PI;
00082 }
00083
00084 else if (index == 7)
00085 {
00086 phi_array(0) = 0.0;
00087 phi_array(1) = 1.40269359503;
00088 phi_array(2) = 1.81868015833;
00089 phi_array(3) = 2.07858798438;
00090 phi_array(4) = 2.28050955388;
00091 phi_array(5) = 2.45222318354;
00092 phi_array(6) = 2.60586516213;
00093 phi_array(7) = 2.74802132883;
00094 phi_array(8) = 2.88283769972;
00095 phi_array(9) = 3.01325090747;
00096 phi_array(10) = 3.14159265359;
00097 phi_array(11) = 3.26993439971;
00098 phi_array(12) = 3.40034760746;
00099 phi_array(13) = 3.53516397834;
00100 phi_array(14) = 3.67732014505;
00101 phi_array(15) = 3.83096212364;
00102 phi_array(16) = 4.0026757533;
00103 phi_array(17) = 4.2045973228;
00104 phi_array(18) = 4.46450514885;
00105 phi_array(19) = 4.88049171216;
00106 phi_array(20) = 2*PI;
00107 }
00108
00109 else if (index == 8)
00110 {
00111 phi_array(0) = 0.0;
00112 phi_array(1) = 0.360502118928;
00113 phi_array(2) = 0.588676739245;
00114 phi_array(3) = 0.768113525124;
00115 phi_array(4) = 0.921862717029;
00116 phi_array(5) = 1.06004830735;
00117 phi_array(6) = 1.18820902164;
00118 phi_array(7) = 1.30983978629;
00119 phi_array(8) = 1.42742112219;
00120 phi_array(9) = 1.54289928979;
00121 phi_array(10) = 1.6579779379;
00122 phi_array(11) = 1.77431595382;
00123 phi_array(12) = 1.89371362856;
00124 phi_array(13) = 2.01834673471;
00125 phi_array(14) = 2.15113607751;
00126 phi_array(15) = 2.29644342412;
00127 phi_array(16) = 2.46166359701;
00128 phi_array(17) = 2.66171947816;
00129 phi_array(18) = 2.93741072021;
00130 phi_array(19) = 3.59784745921;
00131 phi_array(20) = 2*PI;
00132 }
00133
00134 else if (index == 9)
00135 {
00136 phi_array(0) = 0.0;
00137 phi_array(1) = 0.139403980084;
00138 phi_array(2) = 0.295082016953;
00139 phi_array(3) = 0.477876057221;
00140 phi_array(4) = 0.713191635944;
00141 phi_array(5) = 1.1009648807;
00142 phi_array(6) = 3.87475025655;
00143 phi_array(7) = 4.4256348224;
00144 phi_array(8) = 4.69026854925;
00145 phi_array(9) = 4.8858783257;
00146 phi_array(10) = 5.04870358345;
00147 phi_array(11) = 5.19254522274;
00148 phi_array(12) = 5.3243860571;
00149 phi_array(13) = 5.44840256003;
00150 phi_array(14) = 5.56741743594;
00151 phi_array(15) = 5.68355797714;
00152 phi_array(16) = 5.79860364476;
00153 phi_array(17) = 5.91420873452;
00154 phi_array(18) = 6.03208935068;
00155 phi_array(19) = 6.15423396889;
00156 phi_array(20) = 2*PI;
00157 }
00158
00159 else if (index == 10)
00160 {
00161 phi_array(0) = 0.0;
00162 phi_array(1) = 2.16510311178;
00163 phi_array(2) = 2.49299538786;
00164 phi_array(3) = 2.71150073558;
00165 phi_array(4) = 2.88623092642;
00166 phi_array(5) = 3.03723306725;
00167 phi_array(6) = 3.17367728436;
00168 phi_array(7) = 3.30069688015;
00169 phi_array(8) = 3.42159958177;
00170 phi_array(9) = 3.53876085884;
00171 phi_array(10) = 3.65407772619;
00172 phi_array(11) = 3.7692354223;
00173 phi_array(12) = 3.88590196091;
00174 phi_array(13) = 4.00591560999;
00175 phi_array(14) = 4.13153348047;
00176 phi_array(15) = 4.26582717861;
00177 phi_array(16) = 4.41347624058;
00178 phi_array(17) = 4.58256475326;
00179 phi_array(18) = 4.7899613285;
00180 phi_array(19) = 5.08509506874;
00181 phi_array(20) = 2*PI;
00182 }
00183
00184 else if (index == 11)
00185 {
00186 phi_array(0) = 0.0;
00187 phi_array(1) = 0.165243831658;
00188 phi_array(2) = 0.314701677956;
00189 phi_array(3) = 0.454153021336;
00190 phi_array(4) = 0.587376785657;
00191 phi_array(5) = 0.71715235498;
00192 phi_array(6) = 0.845782641838;
00193 phi_array(7) = 0.975424813317;
00194 phi_array(8) = 1.10836574495;
00195 phi_array(9) = 1.24734370633;
00196 phi_array(10) = 1.39605073367;
00197 phi_array(11) = 1.56010666893;
00198 phi_array(12) = 1.7493159641;
00199 phi_array(13) = 1.98436091633;
00200 phi_array(14) = 2.32585009432;
00201 phi_array(15) = 3.14159265359;
00202 phi_array(16) = 4.62117648083;
00203 phi_array(17) = 5.5001392095;
00204 phi_array(18) = 5.85288409818;
00205 phi_array(19) = 6.0919436807;
00206 phi_array(20) = 2*PI;
00207 }
00208
00209 else if (index == 12)
00210 {
00211 phi_array(0) = 0.0;
00212 phi_array(1) = 1.47958382724;
00213 phi_array(2) = 2.35854655591;
00214 phi_array(3) = 2.71129144459;
00215 phi_array(4) = 2.95035102711;
00216 phi_array(5) = 3.14159265359;
00217 phi_array(6) = 3.30683648525;
00218 phi_array(7) = 3.45629433155;
00219 phi_array(8) = 3.59574567493;
00220 phi_array(9) = 3.72896943925;
00221 phi_array(10) = 3.85874500857;
00222 phi_array(11) = 3.98737529543;
00223 phi_array(12) = 4.11701746691;
00224 phi_array(13) = 4.24995839854;
00225 phi_array(14) = 4.38893635992;
00226 phi_array(15) = 4.53764338726;
00227 phi_array(16) = 4.70169932252;
00228 phi_array(17) = 4.89090861769;
00229 phi_array(18) = 5.12595356992;
00230 phi_array(19) = 5.46744274791;
00231 phi_array(20) = 2*PI;
00232 }
00233
00234 else if (index == 13)
00235 {
00236 phi_array(0) = 0.0;
00237 phi_array(1) = 0.191241626477;
00238 phi_array(2) = 0.430301209002;
00239 phi_array(3) = 0.783046097674;
00240 phi_array(4) = 1.66200882635;
00241 phi_array(5) = 3.14159265359;
00242 phi_array(6) = 3.95733521286;
00243 phi_array(7) = 4.29882439085;
00244 phi_array(8) = 4.53386934308;
00245 phi_array(9) = 4.72307863825;
00246 phi_array(10) = 4.88713457351;
00247 phi_array(11) = 5.03584160085;
00248 phi_array(12) = 5.17481956223;
00249 phi_array(13) = 5.30776049386;
00250 phi_array(14) = 5.43740266534;
00251 phi_array(15) = 5.5660329522;
00252 phi_array(16) = 5.69580852152;
00253 phi_array(17) = 5.82903228584;
00254 phi_array(18) = 5.96848362922;
00255 phi_array(19) = 6.11794147552;
00256 phi_array(20) = 2*PI;
00257 }
00258
00259 else if (index == 14)
00260 {
00261 phi_array(0) = 0.0;
00262 phi_array(1) = 0.815742559275;
00263 phi_array(2) = 1.15723173726;
00264 phi_array(3) = 1.39227668949;
00265 phi_array(4) = 1.58148598466;
00266 phi_array(5) = 1.74554191992;
00267 phi_array(6) = 1.89424894726;
00268 phi_array(7) = 2.03322690864;
00269 phi_array(8) = 2.16616784027;
00270 phi_array(9) = 2.29581001175;
00271 phi_array(10) = 2.42444029861;
00272 phi_array(11) = 2.55421586793;
00273 phi_array(12) = 2.68743963225;
00274 phi_array(13) = 2.82689097563;
00275 phi_array(14) = 2.97634882193;
00276 phi_array(15) = 3.14159265359;
00277 phi_array(16) = 3.33283428007;
00278 phi_array(17) = 3.57189386259;
00279 phi_array(18) = 3.92463875127;
00280 phi_array(19) = 4.80360147994;
00281 phi_array(20) = 2*PI;
00282 }
00283
00284 else
00285 {
00286 cerr << "ERROR: Bad index value in getPhiArray." << endl;
00287 cerr << "No phi array for index = " << index << endl;
00288 exit(1);
00289 }
00290 return phi_array;
00291 }
00292
00293 Array1D<double> AngleDistributions::getThetaArray(int index)
00294 {
00295 Array1D<double> th_array(21);
00296
00297 if (index == 1)
00298 {
00299 th_array(0) = 0.0;
00300 th_array(1) = 0.26112746021;
00301 th_array(2) = 0.373700868288;
00302 th_array(3) = 0.463397539852;
00303 th_array(4) = 0.54207933412;
00304 th_array(5) = 0.614395430249;
00305 th_array(6) = 0.682799390386;
00306 th_array(7) = 0.748840434695;
00307 th_array(8) = 0.813628767581;
00308 th_array(9) = 0.878063821319;
00309 th_array(10) = 0.942953024028;
00310 th_array(11) = 1.00910671532;
00311 th_array(12) = 1.07741148075;
00312 th_array(13) = 1.14893652963;
00313 th_array(14) = 1.22508554452;
00314 th_array(15) = 1.30785910828;
00315 th_array(16) = 1.40036860432;
00316 th_array(17) = 1.50809742635;
00317 th_array(18) = 1.64255076655;
00318 th_array(19) = 1.8371410273;
00319 th_array(20) = PI;
00320 }
00321
00322 else if (index == 2)
00323 {
00324 th_array(0) = 0.0;
00325 th_array(1) = 1.30445162629;
00326 th_array(2) = 1.49904188704;
00327 th_array(3) = 1.63349522724;
00328 th_array(4) = 1.74122404927;
00329 th_array(5) = 1.83373354531;
00330 th_array(6) = 1.91650710907;
00331 th_array(7) = 1.99265612396;
00332 th_array(8) = 2.06418117284;
00333 th_array(9) = 2.13248593827;
00334 th_array(10) = 2.19863962956;
00335 th_array(11) = 2.26352883227;
00336 th_array(12) = 2.32796388601;
00337 th_array(13) = 2.3927522189;
00338 th_array(14) = 2.4587932632;
00339 th_array(15) = 2.52719722334;
00340 th_array(16) = 2.59951331947;
00341 th_array(17) = 2.67819511374;
00342 th_array(18) = 2.7678917853;
00343 th_array(19) = 2.88046519338;
00344 th_array(20) = PI;
00345 }
00346
00347 else if (index == 3)
00348 {
00349 th_array(0) = 0.0;
00350 th_array(1) = 0.506913286035;
00351 th_array(2) = 0.70769274906;
00352 th_array(3) = 0.859005293588;
00353 th_array(4) = 0.98600496446;
00354 th_array(5) = 1.09852964564;
00355 th_array(6) = 1.20169739354;
00356 th_array(7) = 1.2986211989;
00357 th_array(8) = 1.3914258519;
00358 th_array(9) = 1.48171097387;
00359 th_array(10) = 1.57079632679;
00360 th_array(11) = 1.65988167972;
00361 th_array(12) = 1.75016680169;
00362 th_array(13) = 1.84297145469;
00363 th_array(14) = 1.93989526005;
00364 th_array(15) = 2.04306300795;
00365 th_array(16) = 2.15558768913;
00366 th_array(17) = 2.28258736;
00367 th_array(18) = 2.43389990453;
00368 th_array(19) = 2.63467936756;
00369 th_array(20) = PI;
00370 }
00371
00372 else if (index == 5)
00373 {
00374 th_array(0) = 0.0;
00375 th_array(1) = 0.241768287031;
00376 th_array(2) = 0.345875378793;
00377 th_array(3) = 0.428709148315;
00378 th_array(4) = 0.501285624277;
00379 th_array(5) = 0.567896992379;
00380 th_array(6) = 0.630814517004;
00381 th_array(7) = 0.691462398921;
00382 th_array(8) = 0.750855548584;
00383 th_array(9) = 0.809814534384;
00384 th_array(10) = 0.869067640752;
00385 th_array(11) = 0.929334557653;
00386 th_array(12) = 0.991405886537;
00387 th_array(13) = 1.0562181404;
00388 th_array(14) = 1.12499738806;
00389 th_array(15) = 1.19948064362;
00390 th_array(16) = 1.28236993143;
00391 th_array(17) = 1.37842926139;
00392 th_array(18) = 1.49767301427;
00393 th_array(19) = 1.66997043121;
00394 th_array(20) = PI;
00395 }
00396
00397 else if (index == 6)
00398 {
00399 th_array(0) = 0.0;
00400 th_array(1) = 0.902754351571;
00401 th_array(2) = 1.11496045417;
00402 th_array(3) = 1.26573488799;
00403 th_array(4) = 1.38892685317;
00404 th_array(5) = 1.49634039476;
00405 th_array(6) = 1.59369223076;
00406 th_array(7) = 1.6842739961;
00407 th_array(8) = 1.77021220092;
00408 th_array(9) = 1.85303787533;
00409 th_array(10) = 1.93393724916;
00410 th_array(11) = 2.01392608495;
00411 th_array(12) = 2.09395212875;
00412 th_array(13) = 2.17499281701;
00413 th_array(14) = 2.25816573717;
00414 th_array(15) = 2.34488114462;
00415 th_array(16) = 2.43713682858;
00416 th_array(17) = 2.53813250998;
00417 th_array(18) = 2.65396231898;
00418 th_array(19) = 2.8001870172;
00419 th_array(20) = PI;
00420 }
00421
00422 else if (index == 8)
00423 {
00424 th_array(0) = 0.0;
00425 th_array(1) = 0.547750423693;
00426 th_array(2) = 0.749461867664;
00427 th_array(3) = 0.897213238891;
00428 th_array(4) = 1.01927957278;
00429 th_array(5) = 1.12640029714;
00430 th_array(6) = 1.22400817797;
00431 th_array(7) = 1.31533549507;
00432 th_array(8) = 1.40255342244;
00433 th_array(9) = 1.48726842322;
00434 th_array(10) = 1.57079632679;
00435 th_array(11) = 1.65432423037;
00436 th_array(12) = 1.73903923115;
00437 th_array(13) = 1.82625715852;
00438 th_array(14) = 1.91758447562;
00439 th_array(15) = 2.01519235645;
00440 th_array(16) = 2.12231308081;
00441 th_array(17) = 2.2443794147;
00442 th_array(18) = 2.39213078593;
00443 th_array(19) = 2.5938422299;
00444 th_array(20) = PI;
00445 }
00446
00447 else if (index == 11)
00448 {
00449 th_array(0) = 0.0;
00450 th_array(1) = 0.319600760695;
00451 th_array(2) = 0.457024183973;
00452 th_array(3) = 0.56626548907;
00453 th_array(4) = 0.661849495428;
00454 th_array(5) = 0.749466155368;
00455 th_array(6) = 0.832103903513;
00456 th_array(7) = 0.911637753426;
00457 th_array(8) = 0.989397076186;
00458 th_array(9) = 1.06644507178;
00459 th_array(10) = 1.14371784491;
00460 th_array(11) = 1.222135812;
00461 th_array(12) = 1.30268676671;
00462 th_array(13) = 1.38654232073;
00463 th_array(14) = 1.47520838786;
00464 th_array(15) = 1.57079632679;
00465 th_array(16) = 1.67656955891;
00466 th_array(17) = 1.7981577729;
00467 th_array(18) = 1.94716690535;
00468 th_array(19) = 2.15650911998;
00469 th_array(20) = PI;
00470 }
00471
00472 else if (index == 13)
00473 {
00474 th_array(0) = 0.0;
00475 th_array(1) = 0.98508353361;
00476 th_array(2) = 1.19442574824;
00477 th_array(3) = 1.34343488069;
00478 th_array(4) = 1.46502309468;
00479 th_array(5) = 1.57079632679;
00480 th_array(6) = 1.66638426573;
00481 th_array(7) = 1.75505033286;
00482 th_array(8) = 1.83890588688;
00483 th_array(9) = 1.91945684159;
00484 th_array(10) = 1.99787480868;
00485 th_array(11) = 2.07514758181;
00486 th_array(12) = 2.1521955774;
00487 th_array(13) = 2.22995490016;
00488 th_array(14) = 2.30948875007;
00489 th_array(15) = 2.39212649823;
00490 th_array(16) = 2.47974315816;
00491 th_array(17) = 2.57532716452;
00492 th_array(18) = 2.68456846962;
00493 th_array(19) = 2.82199189289;
00494 th_array(20) = PI;
00495 }
00496
00497 else
00498 {
00499 cerr << "ERROR: Bad index in getThetaArray." << endl;
00500 cerr << "No theta array for index = " << index << endl;
00501 exit(1);
00502 }
00503 return th_array;
00504 }