10 |
|
srcB_vert and srcB_horiz are angles |
11 |
|
used in type B photometry. |
12 |
|
|
13 |
+ |
boxcorr function corrects for distribution modeled |
14 |
+ |
with a rectangular box. lboxcorr provides a more |
15 |
+ |
accurate calculation for nearby surfaces, but requires |
16 |
+ |
that the source box be centered at the origin. |
17 |
+ |
|
18 |
|
A1 - optional multipier |
19 |
|
A2,A3,A4 - X,Y,Z dimensions of axis-aligned box |
20 |
|
} |
21 |
|
{ local definitions } |
22 |
|
norm_deg(d) : if( d, d, d+360 ); |
23 |
|
boxprojection = abs(Dx)*A3*A4 + abs(Dy)*A2*A4 + abs(Dz)*A2*A3; |
24 |
+ |
lboxprojection = ( noneg(abs(Px-Dx*Ts)-A2/2)*A3*A4 + |
25 |
+ |
noneg(abs(Py-Dy*Ts)-A3/2)*A2*A4 + |
26 |
+ |
noneg(abs(Pz-Dz*Ts)-A4/2)*A2*A3 ) / Ts; |
27 |
|
|
28 |
|
flatcorr(v) = corr(v) / Rdot; { correction for flat sources } |
29 |
|
corr(v) = if(AC-.5, A1*v, v); { multiplier correction } |
30 |
|
boxcorr(v) = A1 * v / boxprojection; { correction for emitting box } |
31 |
+ |
lboxcorr(v) = A1 * v / lboxprojection; { local box correction } |
32 |
|
|
33 |
|
src_theta = Acos(Dz) / DEGREE; { 0-180 } |
34 |
|
src_phi = norm_deg( atan2(Dy, Dx) / DEGREE ); { 0-360 } |