本文整理汇总了Python中Physics.free_path方法的典型用法代码示例。如果您正苦于以下问题:Python Physics.free_path方法的具体用法?Python Physics.free_path怎么用?Python Physics.free_path使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Physics
的用法示例。
在下文中一共展示了Physics.free_path方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: which_interaction
# 需要导入模块: import Physics [as 别名]
# 或者: from Physics import free_path [as 别名]
def which_interaction(self):
'''Decide the interaction of the photon that interacts after a path t.'''
CSs= self.CSs()
# Calculate interaction point and move the photon there
mu = sum(CS*self.xtal.rho for CS in CSs)
t = Physics.free_path(mu)
self.photon.travel(t)
# If the photon exits return -1 (No interaction) else evaluate interaction type
if not self.isinside(): return -1
else:
partial_sums, total_sum = [0.], sum(CSs)
# Random variable to discriminate the interaction
rnd=uniform(0., total_sum)
for i, CS in enumerate(CSs):
partial_sums.append(partial_sums[-1]+CS)
if rnd < partial_sums[-1]: return i