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.

subroutine<br />

compt<br />

Version<br />

051219-1435<br />

icompt = icompt +1<br />

irloc = ir(np)<br />

incohr(irloc) .ne. 1<br />

.and.<br />

iprofr(irloc) .eq. 1<br />

no<br />

yes<br />

stop<br />

eig = e(np)<br />

egp = eig/RM<br />

br0i =1. + 2.*egp<br />

alph1 = log(br0i)<br />

alph2 = egp*(br0i + 1.)/(br0i*br0i)<br />

sumalp = alph1 + alph2<br />

call<br />

randomset(rnnow)<br />

alph1<br />

.ge.<br />

sumalp*rnnow<br />

yes<br />

no "br distribution"<br />

call<br />

randomset(rnnow1)<br />

call<br />

randomset(rnnow)<br />

"1/br distribution"<br />

call<br />

randomset(rnnow)<br />

br = exp(alph1*rnnow)/br0i<br />

"Rejection sampling loop"<br />

no<br />

egp<br />

.ge.<br />

(egp + 1.)*rnnow<br />

yes<br />

call<br />

randomset(rnnow)<br />

rnnow1 = max(rnnow1,rnnow)<br />

br = ((br0i - 1.)*rnnow1 + 1.)/br0i<br />

esg = br*eig<br />

a1mibr = 1. - br<br />

esedef = eig*a1mibr + RM<br />

temp = RM*a1mibr/esg<br />

sinthe = max(0.D0,temp*(2. - temp))<br />

"Determine seconday photon energy<br />

and polar angle from kinematics"<br />

call<br />

randomset(rnnow)<br />

1<br />

2<br />

215

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

Saved successfully!

Ooh no, something went wrong!