RayDrapeScene

class PlasmaCalcs.tools.sci_tools.ray_draping.RayDrapeScene(*, R0, XEXT, YEXT, ZEXT, T, X0=0, Y0=0)

Bases: object

representation of some “background” conditions for the ray draping problem.

(High-level interface will allow user to change any of these,
but for internal mental model, let’s think of them as “probably constants”.)
Safest to convert to meters throughout, but it is probably technically units agnostic.
R0: scalar
radius of sphere (onto which z=0 of box will be draped)
XEXT, YEXT, ZEXT: scalars
extents of box to be draped
T: scalar or xr.DataArray with ‘component’ dimension
telescope/observer position (in sph system, cartesian coords centered on sphere)
if scalar, interpret as distance along sph z axis, equivalent to T * pc.ZHAT.
E.g., T = 1.5e11 * pc.ZHAT # 1 AU from sphere center along sph z axis.
(decent choice because it aligns zbox with zsph when viewing face-on / centered.)
X0, Y0: scalar, default 0
x, y coordinates of lower-left corner of box in box system

Methods

_T_display()

T in brief human-readable string if easy to do that, else just something reasonable.

_X0Y0_display()

brief human-readable strings for X0 and Y0 excluding defaults (0).

_repr_contents()

list of contents for self.__repr__

_T_display()

T in brief human-readable string if easy to do that, else just something reasonable.

Extra pretty if 0.1 to 1000 AU (assuming SI units).
(if non-SI units, might show AU accidentally, but this is just display,
so it won’t affect actual computations of results –> it’s worth it.)
_X0Y0_display()

brief human-readable strings for X0 and Y0 excluding defaults (0).

_repr_contents()

list of contents for self.__repr__