def column_density(self, rho, eph=None):
from .core import rho_as_length
assert isinstance(rho, u.Quantity)
r = rho_as_length(rho, eph=eph)
x = 0 if self.parent is None else (r / self.parent).decompose()
y = 0 if self.daughter is None else (r / self.daughter).decompose()
sigma = self.Q / 2 / np.pi / r / self.v
if self.daughter is None or self.daughter == 0:
sigma *= np.pi / 2 - self._iK0(x)
elif self.parent is None or self.parent == 0:
sigma *= np.pi / 2 - self._iK0(y)
else:
sigma *= (self.daughter / (self.parent - self.daughter)
* (self._iK0(y) - self._iK0(x)))
return sigma.decompose()
评论列表
文章目录