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 }