28.11.2014 Views

THE EGS5 CODE SYSTEM

THE EGS5 CODE SYSTEM

THE EGS5 CODE SYSTEM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1<br />

2 3<br />

br = br*p<br />

esg = eie*br<br />

yes<br />

esg<br />

.lt.<br />

ap(medium)<br />

no<br />

ese = eie - esg<br />

"Rejection sampling loop"<br />

yes<br />

yes<br />

ese<br />

.lt.<br />

RM<br />

no<br />

del = br/ese<br />

del<br />

.ge.<br />

delpos(lvx,medium)<br />

no<br />

delta = delcm(medium)*del<br />

rejf = dl1(lvl,medium) + delta*<br />

(dl2(lvl,medium) + delta*<br />

dl3(lvl,medium))<br />

yes<br />

delta<br />

.lt.<br />

1.0<br />

no<br />

rejf = dl4(lvl,medium) +<br />

dl5(lvl,medium)*<br />

log(delta + dl6(lvl,medium))<br />

call<br />

randomset(rnnow)<br />

yes<br />

rnnow<br />

.gt.<br />

rejf<br />

no<br />

ibrdst<br />

.ne.<br />

1<br />

"Photon energy accepted"<br />

yes<br />

no<br />

ztarg = zbrang(medium)<br />

tteie = eie/RM<br />

ttese = ese/RM<br />

esedei = ttese/tteie<br />

y2max = (PI*tteie)**2<br />

rjarg1 = 1.0 + esedei**2<br />

rjarg2 = 3.0*rjarg1 - 2.0*esedei<br />

rjarg3 = ((1.0 - esedei)/(2.0*tteie*esedei))**2<br />

y2tst1 = (1.0 + 0.0e0)**2<br />

rejmin = (4.0 + log(rjarg3 + ztarg/y2tst1))*<br />

(4.0*esedei*0.0e0/y2tst1 - rjarg1) + rjarg2<br />

y2tst1 = (1.0 + 1.0e0)**2<br />

rejmid = (4.0 + log(rjarg3 + ztarg/y2tst1))*<br />

(4.0*esedei*1.0e0/y2tst1 - rjarg1) + rjarg2<br />

y2tst1 = (1.0 + y2max)**2<br />

rejmax = (4.0 + log(rjarg3 + ztarg/y2tst1))*<br />

(4.0*esedei*y2max/y2tst1 - rjarg1) + rjarg2<br />

rejtop = max(rejmin,rejmid,rejmax)<br />

theta = RM/eie<br />

4<br />

5<br />

209

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!