cherab.imas.ids.bolometer.GeometryΒΆ

class cherab.imas.ids.bolometer.Geometry(centre: ~raysect.core.math.point.Point3D = <factory>, type: ~cherab.imas.ids.bolometer.utility.GeometryType = GeometryType.RECTANGLE, basis_x: ~raysect.core.math.vector.Vector3D = <factory>, basis_y: ~raysect.core.math.vector.Vector3D = <factory>, basis_z: ~raysect.core.math.vector.Vector3D = <factory>, dx: float = 0.0, dy: float = 0.0, surface: float = 0.0, radius: float = 0.0, coords: ~numpy.ndarray[tuple[~typing.Any, ...], ~numpy.dtype[~numpy.float64]] | None = None)SourceΒΆ

Bases: object

Represent the geometric specification of a bolometer sensor head or slit aperture.

The Geometry describes both simple rectangular / circular sensor faces and arbitrary polygonal / polyline definitions via explicit coordinates. It encapsulates a local orthonormal (or user supplied) basis, extents, and derived surface properties.

Methods

Attributes

coords

Coordinate array defining the outline in the basis_x and basis_y plane.

dx

Width along basis_x for rectangular geometry.

dy

Width along basis_y for rectangular geometry.

radius

Radius for circular geometry types.

surface

Precomputed surface area of the aperture face.

type

Enumerated shape type.

centre

Geometric centre (reference point) of the sensor/slit in global 3D coordinates.

basis_x

Local x-axis direction vector lying in the sensor/slit plane.

basis_y

Local y-axis direction vector lying in the sensor/slit plane.

basis_z

Local outward-facing normal vector perpendicular to the sensor/slit plane.

centre : Point3DΒΆ

Geometric centre (reference point) of the sensor/slit in global 3D coordinates.

type : GeometryType = 3ΒΆ

Enumerated shape type.

Common values include RECTANGLE, CIRCLE, OUTLINE, etc. Defaults to GeometryType.RECTANGLE.

basis_x : Vector3DΒΆ

Local x-axis direction vector lying in the sensor/slit plane.

basis_y : Vector3DΒΆ

Local y-axis direction vector lying in the sensor/slit plane.

basis_z : Vector3DΒΆ

Local outward-facing normal vector perpendicular to the sensor/slit plane.

This vector must be directed toward the radiation sources. When None, it can be derived as the cross product of basis_x and basis_y.

dx : float = 0.0ΒΆ

Width along basis_x for rectangular geometry.

None when not applicable (e.g., circular or polygonal types).

dy : float = 0.0ΒΆ

Width along basis_y for rectangular geometry.

None when not applicable (e.g., circular or polygonal types).

surface : float = 0.0ΒΆ

Precomputed surface area of the aperture face.

If None, may be derived from dx/dy (rectangles), radius (circles), or coords (polygons) during validation or runtime.

radius : float = 0.0ΒΆ

Radius for circular geometry types.

None if the geometry is not circular.

coords : ndarray[tuple[Any, ...], dtype[float64]] | None = NoneΒΆ

Coordinate array defining the outline in the basis_x and basis_y plane.

This array is used to represent a complex geometric outline. The array shape is (2, N) where N is the number of points.