| 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);
|