Monitor#

Classes#

Monitor#

class Monitor(origin, width, height, **kwargs)[source]#

Bases: OpticalComponent

__init__(origin, width, height, **kwargs)[source]#

Initialize a component at a lab-frame origin.

Parameters:
  • origin – Component origin in lab coordinates.

  • **kwargs – Optional display metadata such as name, label, render_obj, and render_comp_vec.

clear()[source]#
property ndata#
property data#
get_data(sort='YZ')[source]#
property rays#
get_rays(sort='YZ')[source]#
property raw_yList#
property raw_zList#
property PList#
get_PList(sort='YZ')[source]#
property yList#
get_yList(sort='YZ')[source]#
property zList#
get_zList(sort='YZ')[source]#
property IList#
get_IList(sort='YZ')[source]#

intensity list

property tList#
get_tList(sort='YZ')[source]#

tilt list

property directionList#
get_directionList(sort='YZ')[source]#
property sortYZIndex#
property sortIDindex#
property tYList#
get_tYList(sort='YZ')[source]#
property tZList#
get_ray_i(idx)[source]#
get_ray_id(ray_id)[source]#
interact_local(ray)[source]#

Compute outgoing rays in local coordinates.

Subclasses must implement optical behavior using local-frame geometry.

render(ax, type: str, **kwargs)[source]#

Render the component boundary in 2D ("Z") or 3D ("3D").

get_bbox()[source]#

Compute axis-aligned bounding box in lab frame.

Returns:

Tuple (xmin, xmax, ymin, ymax, zmin, zmax) in lab coordinates.

record(rays: List[Ray])[source]#
get_waist_distance()[source]#
get_beam_waist()[source]#
get_delta_pos()[source]#
property sum_intensity#
property avg_intensity#
property std_histy#
export_rays_npz(filename: str)[source]#
render_hist(ax, type='Y', **kwargs)[source]#
render_scatter(ax, **kwargs)[source]#
render_delta_pos_y(ax, **kwargs)[source]#
render_tilt_y(ax, **kwargs)[source]#
render_projection(ax, comp, **kwargs)[source]#