def electron_offshoots(En, delE, x, y, z): offx, offy, offz, offEn = [], [], [], [] angPh, angTh = gen_direction() while En > 0.: dist = deposition_distance(En, delE) offx.append(dist*np.sin(angPh)+x) offy.append(dist*np.cos(angPh)+y) offz.append(dist*np.sin(angTh)+z) offEn.append(En) En-=delE return offx, offy, offz, offEn
def electron_trajectory(En, delE, scalex, scaley, scalez, beamrad): r = gen_electron(scalex, scaley, scalez, beamrad) newpos = gen_direction() offx, offy, offz, offEn = [], [], [], [] while En > 0.: pdb.set_trace() dist = deposition_distance(En, delE) r.append(dist*newpos+r[-1]) #x.append(dist*np.sin(angPh)+x[-1]) #y.append(dist*np.cos(angPh)+y[-1]) #z.append(dist*np.sin(angTh)+z[-1]) #off = electron_offshoots(En, delE, x[-1], y[-1], z[-1]) #offx.append(off[0]), offy.append(off[1]), offz.append(off[2]), offEn.append(off[3]) En-=delE r = np.array(r) return np.array(r)