1 
{ SCCSid "$SunId$ LBL" } 
2 

3 
{ 
4 
Source distribution coordinates (degrees). 
5 

6 
Theta is measured from the negative zaxis. 
7 
Phi is measured from the positive xaxis (0 degrees) 
8 
towards the negative yaxis (90 degrees). 
9 

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 
The dimensions of the box, which must be aligned with 
18 
the x,y,z axes, are given in meters regardless of the 
19 
units being used in the scene file. 
20 

21 
cylcorr function provides the same correction for a 
22 
cylinder whose central axis is aligned with the Zaxis. 
23 

24 
A1  optional multipier 
25 
A2,A3,A4  X,Y,Z dimensions of axisaligned box (in meters!) 
26 
or 
27 
A2,A3  diameter and height of Zaligned cylinder (meters) 
28 
} 
29 
{ local definitions } 
30 
boxprojection = abs(Dx)*A3*A4 + abs(Dy)*A2*A4 + abs(Dz)*A2*A3; 
31 
lboxprojection = ( noneg(abs(PxDx*Ts)A2/2)*A3*A4 + 
32 
noneg(abs(PyDy*Ts)A3/2)*A2*A4 + 
33 
noneg(abs(PzDz*Ts)A4/2)*A2*A3 ) / Ts; 
34 
cylprojection = A2*A3*sqrt(1Dz*Dz) + PI/4*A2*A2*abs(Dz); 
35 

36 
flatcorr(v) = corr(v) / Rdot; { correction for flat sources } 
37 
corr(v) = if(AC.5, A1*v, v); { multiplier correction } 
38 
boxcorr(v) = A1 * v / boxprojection; { correction for emitting box } 
39 
lboxcorr(v) = A1 * v / lboxprojection; { local box correction } 
40 
cylcorr(v) = A1 * v / cylprojection; { cylinder correction } 
41 

42 
src_theta = Acos(Dz) / DEGREE; { 0180 } 
43 
src_phi = mod( Atan2(Dy, Dx) / DEGREE, 360 ); { 0360 } 
44 
{ bilateral symmetry } 
45 
src_phi2 = tri( src_phi, 180 ); { 0180 } 
46 
{ quadrilateral symmetry } 
47 
src_phi4 = tri( src_phi, 90 ); { 090 } 
48 

49 
{ Type B photometry coordinates } 
50 
srcB_vert = atan( Dx/Dz ) / DEGREE; 
51 
srcB_horiz = Asin(Dy) / DEGREE; 
52 
{ w/ symmetry } 
53 
srcB_vert2 = abs( srcB_vert ); 
54 
srcB_horiz2 = abs( srcB_horiz ); 