1 |
{ New functions for calculating light transmission through prisms. |
2 |
|
3 |
R. Compagnon and F. Di Pasquale (Spring 1992) |
4 |
LESO-PB |
5 |
EPFL |
6 |
CH-1015 LAUSANNE |
7 |
|
8 |
G. Ward modified for new fprism.c 6/30/93 |
9 |
} |
10 |
|
11 |
{ function fprism(A1..A10) performs the calculations |
12 |
A1: length a of the prism panel |
13 |
A2: length b " |
14 |
A3: length c " |
15 |
A4: length d " |
16 |
A5: indice of refraction of the prism material |
17 |
A6: fraction of the incident ray under which the ray propagation inside |
18 |
the prism is aborted (0<A6<1) |
19 |
A7: indicates which face of the prism is covered by a metallic layer |
20 |
1: face beta |
21 |
2: face gamma |
22 |
4: no face |
23 |
A8: reflection factor of the metallic layer (0<=A8<=1) |
24 |
A9: angle tolerance (in radians) for combining rays travelling nearly |
25 |
in the same direction |
26 |
A10: angle tolerance (in radians) for assuming that a ray is directed |
27 |
toward a source |
28 |
|
29 |
function fprism_val(a,b,c,d) is used to pick the necessary output values |
30 |
calculated by fprism |
31 |
a: selector for choosing which value we ask for: |
32 |
0: X direction of the ray |
33 |
1: Y " |
34 |
2: Z " |
35 |
3: transmission or reflection factor of the ray |
36 |
b: selector for choosing which kind of ray we ask for: |
37 |
-1: a reflected ray is expected |
38 |
0: any ray (reflected or transmitted) is expected |
39 |
1: a transmitted ray is expected |
40 |
c: rank of the expected ray (1<=c) |
41 |
} |
42 |
tau1 = fprism_val(3,1,1); |
43 |
dx1 = fprism_val(0,1,1); |
44 |
dy1 = fprism_val(1,1,1); |
45 |
dz1 = fprism_val(2,1,1); |
46 |
tau2 = fprism_val(3,1,2); |
47 |
dx2 = fprism_val(0,1,2); |
48 |
dy2 = fprism_val(1,1,2); |
49 |
dz2 = fprism_val(2,1,2); |