本文整理汇总了Python中Physics.hat1方法的典型用法代码示例。如果您正苦于以下问题:Python Physics.hat1方法的具体用法?Python Physics.hat1怎么用?Python Physics.hat1使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Physics
的用法示例。
在下文中一共展示了Physics.hat1方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: sigma
# 需要导入模块: import Physics [as 别名]
# 或者: from Physics import hat1 [as 别名]
def sigma(self, G=False, order=1, distribution="gaussian"):
local_xtal_g = self.change_the_g(self.xtal.g)
#print "g", self.xtal.g, local_xtal_g
#lgn=Physics.normalize(local_xtal_g)
local_xtal_gphi = Physics.atan2(local_xtal_g[1], local_xtal_g[0])
#local_xtal_gtheta = math.acos(lgn[2])
tB = self.xtal.keV2Bragg(self.photon.e)
factor = 2.5
ang_fac = Physics.angular_factor(tB)
cosine = abs(self.photon.k[2]/self.photon.knorm)
Q = self.xtal.mat_facs[order]*ang_fac
if G is None: G=self.g_needed(order)
if distribution=="hat":
Dtheta = Physics.anglebetween(G, local_xtal_g) # - 2.0 * Physics.anglebetween(self.xtal.g, local_xtal_g)
eta = 2.4e-6 + (self.xtal.dim[2] * self.xtal.curvature) / factor
weight=Physics.hat1(Dtheta, eta)*cosine/Q
elif distribution=="gaussian":
Dtheta = Physics.anglebetween(G, local_xtal_g) # - 2.0 * Physics.anglebetween(self.xtal.g, local_xtal_g)
weight=Physics.gaussian(Dtheta, self.xtal.eta)
else: return 0.
return Q*weight/cosine