1 #pragma rtGlobals=3// Use modern global access method and strict wave access.
2 #pragma IgorVersion = 6.1
3 #pragma ModuleName = PearlAnglescanProcessTest
6 #include "pearl-anglescan-process"
7 #include "unit-testing"
22 make /n=(ntests)/d/free i_theta, i_tilt, i_phi
23 make /n=3/d/free i_ana
24 make /n=1/d/free o_polar, o_azi
30 make /n=(3,ntests)/d/free e_polar, e_azi
31 e_polar[][0] = {30, 0, 30}
32 e_azi[][0] = {-90, 0, 90}
34 e_polar[][1] = {90, 90, 90}
35 e_azi[][1] = {-30, 0, +30}
37 e_polar[][2] = {90, 90, 90}
38 e_azi[][2] = {-20, 10, +40}
46 CHECK_EQUAL_WAVES(o_polar, e_polar, tol=0.001)
47 CHECK_EQUAL_WAVES(o_azi, e_azi, tol=0.001)
49 nvar /z errors = root:packages:unittesting:error_count
50 if ((nvar_exists(errors)) && (errors > 0))
59 make /n=360/d/free value, azi
68 wave w_values = values
72 duplicate /free w_values, e_values
73 variable p1 = w_index[44]
74 variable p2 = w_index[45]
75 e_values = (p >= p1) && (p < p2) ? 1 : 0
79 CHECK_EQUAL_WAVES(w_values, e_values, tol=0.001)
static variable test_hist_hemi_aziscan()
variable make_hemi_grid(variable npol, string nickname, variable xpdplot=defaultValue)
create a hemispherical, constant solid angle grid
static variable test_convert_angles_ttpa()
variable hemi_add_aziscan(string nickname, wave values, variable polar, wave azi, wave weights=defaultValue)
add an azimuthal scan to a hemispherical scan grid.
variable convert_angles_ttpa2polar(wave theta, wave tilt, wave phi, wave analyser, wave polar, wave azi)
convert angles from TTPA (theta-tilt-phi-analyser) scheme to polar coordinates.