1 %!PS-Adobe-2.0 EPSF-2.0
2 %%Title: EMCalGeometryStructure.fig
3 %%Creator: fig2dev Version 3.2 Patchlevel 4
4 %%CreationDate: Fri Mar 1 16:24:34 2013
5 %%For: nilsen@ALICE00 (Bjorn S. Nilsen)
6 %%BoundingBox: 0 0 686 542
7 %%Magnification: 1.0000
9 /MyAppDict 100 dict dup begin def
10 /$F2psDict 200 dict def
12 $F2psDict /mtrx matrix put
13 /col-1 {0 setgray} bind def
14 /col0 {0.000 0.000 0.000 srgb} bind def
15 /col1 {0.000 0.000 1.000 srgb} bind def
16 /col2 {0.000 1.000 0.000 srgb} bind def
17 /col3 {0.000 1.000 1.000 srgb} bind def
18 /col4 {1.000 0.000 0.000 srgb} bind def
19 /col5 {1.000 0.000 1.000 srgb} bind def
20 /col6 {1.000 1.000 0.000 srgb} bind def
21 /col7 {1.000 1.000 1.000 srgb} bind def
22 /col8 {0.000 0.000 0.560 srgb} bind def
23 /col9 {0.000 0.000 0.690 srgb} bind def
24 /col10 {0.000 0.000 0.820 srgb} bind def
25 /col11 {0.530 0.810 1.000 srgb} bind def
26 /col12 {0.000 0.560 0.000 srgb} bind def
27 /col13 {0.000 0.690 0.000 srgb} bind def
28 /col14 {0.000 0.820 0.000 srgb} bind def
29 /col15 {0.000 0.560 0.560 srgb} bind def
30 /col16 {0.000 0.690 0.690 srgb} bind def
31 /col17 {0.000 0.820 0.820 srgb} bind def
32 /col18 {0.560 0.000 0.000 srgb} bind def
33 /col19 {0.690 0.000 0.000 srgb} bind def
34 /col20 {0.820 0.000 0.000 srgb} bind def
35 /col21 {0.560 0.000 0.560 srgb} bind def
36 /col22 {0.690 0.000 0.690 srgb} bind def
37 /col23 {0.820 0.000 0.820 srgb} bind def
38 /col24 {0.500 0.190 0.000 srgb} bind def
39 /col25 {0.630 0.250 0.000 srgb} bind def
40 /col26 {0.750 0.380 0.000 srgb} bind def
41 /col27 {1.000 0.500 0.500 srgb} bind def
42 /col28 {1.000 0.630 0.630 srgb} bind def
43 /col29 {1.000 0.750 0.750 srgb} bind def
44 /col30 {1.000 0.880 0.880 srgb} bind def
45 /col31 {1.000 0.840 0.000 srgb} bind def
49 newpath 0 542 moveto 0 0 lineto 686 0 lineto 686 542 lineto closepath clip newpath
53 % This junk string is used by the show operators
55 /PATawidthshow { % cx cy cchar rx ry string
56 % Loop over each character in the string
57 { % cx cy cchar rx ry char
59 dup % cx cy cchar rx ry char char
60 PATsstr dup 0 4 -1 roll put % cx cy cchar rx ry char (char)
61 false charpath % cx cy cchar rx ry char
63 % Move past the character (charpath modified the
65 currentpoint % cx cy cchar rx ry char x y
67 moveto % cx cy cchar rx ry char
68 % Reposition by cx,cy if the character in the string is cchar
69 3 index eq { % cx cy cchar rx ry
70 4 index 4 index rmoveto
72 % Reposition all characters by rx ry
73 2 copy rmoveto % cx cy cchar rx ry
75 pop pop pop pop pop % -
82 /lw currentlinewidth def
83 /lc currentlinecap def
84 /lj currentlinejoin def
85 /ml currentmiterlimit def
86 /ds [ currentdash ] def
87 /cc [ currentrgbcolor ] def
88 /cm matrix currentmatrix def
91 % PATdraw - calculates the boundaries of the object and
92 % fills it with the current pattern
95 PATpcalc % proc nw nh px py
96 5 -1 roll exec % nw nh px py
101 % PATfill - performs the tiling for the shape
102 /PATfill { % nw nh px py PATfill -
103 PATDict /CurrentPattern get dup begin
105 % Set the coordinate system to Pattern Space
107 % Set the color for uncolored pattezns
108 PaintType 2 eq { PATDict /PColor get PATsc } if
109 % Create the string for showing
110 3 index string % nw nh px py str
111 % Loop for each of the pattern sources
112 0 1 Multi 1 sub { % nw nh px py str source
113 % Move to the starting location
114 3 index 3 index % nw nh px py str source px py
115 moveto % nw nh px py str source
116 % For multiple sources, set the appropriate color
117 Multi 1 ne { dup PC exch get PATsc } if
118 % Set the appropriate string for the source
119 0 1 7 index 1 sub { 2 index exch 2 index put } for pop
120 % Loop over the number of vertical cells
121 3 index % nw nh px py str nh
123 currentpoint % nw nh px py str cx cy
124 2 index oldshow % nw nh px py str cx cy
125 YStep add moveto % nw nh px py str
126 } repeat % nw nh px py str
132 % PATkshow - kshow with the current pattezn
133 /PATkshow { % proc string
134 exch bind % string proc
135 1 index 0 get % string proc char
136 % Loop over all but the last character in the string
137 0 1 4 index length 2 sub {
138 % string proc char idx
139 % Find the n+1th character in the string
140 3 index exch 1 add get % string proc char char+1
141 exch 2 copy % strinq proc char+1 char char+1 char
142 % Now show the nth character
143 PATsstr dup 0 4 -1 roll put % string proc chr+1 chr chr+1 (chr)
144 false charpath % string proc char+1 char char+1
146 % Move past the character (charpath modified the current point)
147 currentpoint newpath moveto
148 % Execute the user proc (should consume char and char+1)
149 mark 3 1 roll % string proc char+1 mark char char+1
150 4 index exec % string proc char+1 mark...
151 cleartomark % string proc char+1
153 % Now display the last character
154 PATsstr dup 0 4 -1 roll put % string proc (char+1)
155 false charpath % string proc
160 % PATmp - the makepattern equivalent
161 /PATmp { % patdict patmtx PATmp patinstance
162 exch dup length 7 add % We will add 6 new entries plus 1 FID
163 dict copy % Create a new dictionary
165 % Matrix to install when painting the pattern
167 /PatternGState PATcg def
168 PatternGState /cm 3 -1 roll put
169 % Check for multi pattern sources (Level 1 fast color patterns)
170 currentdict /Multi known not { /Multi 1 def } if
171 % Font dictionary definitions
173 % Create a dummy encoding vector
174 /Encoding 256 array def
176 Encoding exch dup 3 index cvs cvn put } for pop
177 /FontMatrix matrix def
180 mark 3 1 roll % mark dict char
182 Multi 1 ne {PaintData exch get}{pop} ifelse % mark [paintdata]
183 PaintType 2 eq Multi 1 ne or
184 { XStep 0 FontBBox aload pop setcachedevice }
185 { XStep 0 setcharwidth } ifelse
186 currentdict % mark [paintdata] dict
187 /PaintProc load % mark [paintdata] dict paintproc
190 false PATredef exec true PATredef
196 /foo exch % /foo newlict
199 % PATpcalc - calculates the starting point and width/height
200 % of the tile fill for the shape
201 /PATpcalc { % - PATpcalc nw nh px py
202 PATDict /CurrentPattern get begin
204 % Set up the coordinate system to Pattern Space
205 % and lock down pattern
206 PatternGState /cm get setmatrix
207 BBox aload pop pop pop translate
208 % Determine the bounding box of the shape
209 pathbbox % llx lly urx ury
211 % Determine (nw, nh) the # of cells to paint width and height
212 PatHeight div ceiling % llx lly urx qh
213 4 1 roll % qh llx lly urx
214 PatWidth div ceiling % qh llx lly qw
215 4 1 roll % qw qh llx lly
216 PatHeight div floor % qw qh llx ph
217 4 1 roll % ph qw qh llx
218 PatWidth div floor % ph qw qh pw
219 4 1 roll % pw ph qw qh
220 2 index sub cvi abs % pw ph qs qh-ph
221 exch 3 index sub cvi abs exch % pw ph nw=qw-pw nh=qh-ph
222 % Determine the starting point of the pattern fill
224 4 2 roll % nw nh pw ph
225 PatHeight mul % nw nh pw py
227 PatWidth mul exch % nw nh px py
231 % Save the original routines so that we can use them later on
232 /oldfill /fill load def
233 /oldeofill /eofill load def
234 /oldstroke /stroke load def
235 /oldshow /show load def
236 /oldashow /ashow load def
237 /oldwidthshow /widthshow load def
238 /oldawidthshow /awidthshow load def
239 /oldkshow /kshow load def
241 % These defs are necessary so that subsequent procs don't bind in
243 /fill { oldfill } bind def
244 /eofill { oldeofill } bind def
245 /stroke { oldstroke } bind def
246 /show { oldshow } bind def
247 /ashow { oldashow } bind def
248 /widthshow { oldwidthshow } bind def
249 /awidthshow { oldawidthshow } bind def
250 /kshow { oldkshow } bind def
254 /fill { /clip load PATdraw newpath } bind def
255 /eofill { /eoclip load PATdraw newpath } bind def
256 /stroke { PATstroke } bind def
257 /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def
258 /ashow { 0 0 null 6 3 roll PATawidthshow }
260 /widthshow { 0 0 3 -1 roll PATawidthshow }
262 /awidthshow { PATawidthshow } bind def
263 /kshow { PATkshow } bind def
265 /fill { oldfill } bind def
266 /eofill { oldeofill } bind def
267 /stroke { oldstroke } bind def
268 /show { oldshow } bind def
269 /ashow { oldashow } bind def
270 /widthshow { oldwidthshow } bind def
271 /awidthshow { oldawidthshow } bind def
272 /kshow { oldkshow } bind def
277 % Conditionally define setcmykcolor if not available
278 /setcmykcolor where { pop } {
282 3 index add neg dup 0 lt { pop 0 } if 3 1 roll
287 /PATsc { % colorarray
288 aload length % c1 ... cn length
289 dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor
299 cc aload pop setrgbcolor
308 /CurrentPattern exch def
309 % If it's an uncolored pattern, save the color
310 CurrentPattern /PaintType get 2 eq {
313 /CColor [ currentrgbcolor ] def
316 % PATstroke - stroke with the current pattern
322 currentpoint strokepath moveto
323 PATpcalc % proc nw nh px py
326 (*** PATstroke Warning: Path is too complex, stroking
330 countdictstack exch sub dup 0 gt
331 { { end } repeat } { pop } ifelse
332 gsave 0.5 setgray oldstroke grestore
333 } { pop restore pop } ifelse
336 /PATtcalc { % modmtx tilingtype PATtcalc tilematrix
337 % Note: tiling types 2 and 3 are not supported
339 exch concat % tilingtype
340 matrix currentmatrix exch % cmtx tilingtype
341 % Tiling type 1 and 3: constant spacing
343 % Distort the pattern so that it occupies
344 % an integral number of device pixels
345 dup 4 get exch dup 5 get exch % tx ty cmtx
347 round exch round exch % tx ty cmtx dx.x dx.y
348 XStep div exch XStep div exch % tx ty cmtx a b
350 round exch round exch % tx ty cmtx a b dy.x dy.y
351 YStep div exch YStep div exch % tx ty cmtx a b c d
352 7 -3 roll astore % { a b c d tx ty }
376 { 20 20 true [ 20 0 0 -20 0 20 ]
377 {<8020004050102088201104400a02800401000a02
378 8011044020882040501080200040501020882011
379 04400a02800401000a0280110440208820405010>}
403 { 16 16 true [ 16 0 0 -16 0 16 ]
404 {<ffff111111111111ffff111111111111ffff111111111111
416 /cp {closepath} bind def
417 /ef {eofill} bind def
418 /gr {grestore} bind def
421 /rs {restore} bind def
424 /rm {rmoveto} bind def
425 /n {newpath} bind def
428 /slc {setlinecap} bind def
429 /slj {setlinejoin} bind def
430 /slw {setlinewidth} bind def
431 /srgb {setrgbcolor} bind def
432 /rot {rotate} bind def
434 /sd {setdash} bind def
435 /ff {findfont} bind def
436 /sf {setfont} bind def
437 /scf {scalefont} bind def
438 /sw {stringwidth} bind def
439 /tr {translate} bind def
440 /tnt {dup dup currentrgbcolor
441 4 -2 roll dup 1 exch sub 3 -1 roll mul add
442 4 -2 roll dup 1 exch sub 3 -1 roll mul add
443 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
445 /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
446 4 -2 roll mul srgb} bind def
454 /savematrix mtrx currentmatrix def
455 x y tr xrad yrad sc 0 0 1 startangle endangle arc
460 /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
461 /$F2psEnd {$F2psEnteredState restore end} def
471 % here starts figure with depth 60
474 n 600 600 m 12000 600 l 12000 9600 l 600 9600 l
475 cp gs col6 1.00 shd ef gr gs col0 s gr
477 n 900 1200 m 11700 1200 l 11700 9300 l 900 9300 l
478 cp gs col3 1.00 shd ef gr gs col0 s gr
479 /Times-Roman ff 300.00 scf sf
481 gs 1 -1 sc (ALIC) col0 sh gr
483 n 4200 8775 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
486 n 4725 8775 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
489 n 5325 8775 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
492 n 2475 1800 m 3750 1800 l 3750 9000 l 2475 9000 l
493 cp gs /PC [[0.00 1.00 0.00] [0.00 0.00 0.00]] def
494 15.00 15.00 sc P11 [16 0 0 -16 165.00 120.00] PATmp PATsp ef gr PATusp gs col0 s gr
496 n 10275 1800 m 11550 1800 l 11550 9000 l 10275 9000 l
497 cp gs /PC [[0.00 1.00 0.00] [0.00 0.00 0.00]] def
498 15.00 15.00 sc P11 [16 0 0 -16 685.00 120.00] PATmp PATsp ef gr PATusp gs col0 s gr
500 n 1125 1800 m 2400 1800 l 2400 9000 l 1125 9000 l
501 cp gs /PC [[0.00 1.00 0.00] [0.00 0.00 0.00]] def
502 15.00 15.00 sc P11 [16 0 0 -16 75.00 120.00] PATmp PATsp ef gr PATusp gs col0 s gr
503 /Times-Roman ff 300.00 scf sf
505 gs 1 -1 sc (XEN1) col0 sh gr
508 5925 2550 l gs col0 s gr
510 n 5925 2550 m 10200 2550 l 10200 6900 l 5925 6900 l
511 cp gs col4 1.00 shd ef gr gs col0 s gr
514 5935 6889 l gs col0 s gr
515 /Times-Roman ff 300.00 scf sf
517 gs 1 -1 sc (SMOD) col7 sh gr
518 /Times-Roman ff 300.00 scf sf
520 gs 1 -1 sc (SMOD) col7 sh gr
521 /Times-Roman ff 300.00 scf sf
523 gs 1 -1 sc (SMOD) col7 sh gr
525 n 6075 3000 m 9975 3000 l 9975 6675 l 6075 6675 l
526 cp gs col7 1.00 shd ef gr gs col0 s gr
527 /Times-Roman ff 300.00 scf sf
529 gs 1 -1 sc (EMOD) col7 sh gr
530 /Times-Roman ff 300.00 scf sf
532 gs 1 -1 sc (SCM0) col0 sh gr
534 n 8175 3450 m 9900 3450 l 9900 6525 l 8175 6525 l
535 cp gs col6 1.00 shd ef gr gs col0 s gr
537 n 6225 3450 m 7950 3450 l 7950 6525 l 6225 6525 l
538 cp gs col6 1.00 shd ef gr gs col0 s gr
540 n 6300 5100 m 7875 5100 l 7875 6375 l 6300 6375 l
541 cp gs /PC [[0.00 1.00 1.00] [0.00 0.00 0.00]] def
542 15.00 15.00 sc P6 [16 0 0 -16 420.00 340.00] PATmp PATsp ef gr PATusp gs col0 s gr
544 n 6300 3750 m 7875 3750 l 7875 5025 l 6300 5025 l
545 cp gs /PC [[0.00 1.00 1.00] [0.00 0.00 0.00]] def
546 15.00 15.00 sc P6 [16 0 0 -16 420.00 250.00] PATmp PATsp ef gr PATusp gs col0 s gr
548 n 8250 3750 m 9825 3750 l 9825 5025 l 8250 5025 l
549 cp gs /PC [[0.00 1.00 1.00] [0.00 0.00 0.00]] def
550 15.00 15.00 sc P6 [16 0 0 -16 550.00 250.00] PATmp PATsp ef gr PATusp gs col0 s gr
552 n 8250 5100 m 9825 5100 l 9825 6375 l 8250 6375 l
553 cp gs /PC [[0.00 1.00 1.00] [0.00 0.00 0.00]] def
554 15.00 15.00 sc P6 [16 0 0 -16 550.00 340.00] PATmp PATsp ef gr PATusp gs col0 s gr
555 /Times-Roman ff 300.00 scf sf
557 gs 1 -1 sc (SCMY) col0 sh gr
558 /Times-Roman ff 300.00 scf sf
560 gs 1 -1 sc (SCMY) col0 sh gr
562 n 6885 7200 m 7605 7920 l 6885 8640 l 6165 7920 l
563 cp gs col1 1.00 shd ef gr gs col0 s gr
564 /Times-Roman ff 300.00 scf sf
566 gs 1 -1 sc (SCMX) col0 sh gr
567 /Times-Roman ff 300.00 scf sf
569 gs 1 -1 sc (SCMX) col0 sh gr
570 /Times-Roman ff 300.00 scf sf
572 gs 1 -1 sc (SCMX) col0 sh gr
573 /Times-Roman ff 300.00 scf sf
575 gs 1 -1 sc (SCMX) col0 sh gr
576 /Times-Roman ff 300.00 scf sf
578 gs 1 -1 sc (PBTI) col7 sh gr
581 % here starts figure with depth 50
585 6184 7950 l gs col0 s gr
588 7613 7936 l gs col0 s gr