xopto.mcml.mcsurface.probe.sixaroundone module

class SixAroundOne(fiber: xopto.mcbase.mcutil.fiber.MultimodeFiber, spacing: Optional[float] = None, diameter: float = 0.0, reflectivity: float = 1.0, cutout: float = 0.0, cutoutn: float = 1.0, position: Tuple[float, float] = (0.0, 0.0), direction: Tuple[float, float, float] = (0.0, 0.0, 1.0))[source]

Bases: xopto.mcml.mcsurface.base.SurfaceLayoutAny

A six-around one optical fiber probe surface layout with optional tilted fibers (direction parameter) and a round cutout region that accommodates the optical fibers. The optical fibers are always polished in way that forms a tight optical contact with the surface of the sample.

Parameters
  • fiber (MultimodeFiber or SixAroundOne) – Properties of the optical fibers or an instance of SixAroundOne. A copy is made if an instance of SixAroundOne.

  • spacing (float) – Spacing between the optical fibers. If spacing is None, a tight layout is used with spacing set to the outer diameter of the fiber cladding.

  • diameter (float) – Outer diameter of the probe tip.

  • reflectivity (float) – Reflectivity of the probe tip.

  • cutout (float) – Diameter of the cutout accommodating the optical fibers. Set to 0 if not used.

  • cutoutn (float) – Refractive index of the cutout. Only used if cutout is not 0.

  • position ((float, float)) – Position of the center of the probe / central finer.

  • direction ((float, float, float)) – Reference direction / orientation of the fibers. Fibers are oriented in this direction and polished to form a tight optical contact with the sample (the fiber cross sections are ellipsoids if the direction is not perpendicular, i.e different from (0, 0, 1).

check()bool[source]

Check if the properties of the optical fiber probe are correct and raise exception if not.

cl_declaration(mc: xopto.mcbase.mcobject.McObject)str[source]

Structure that defines the layout in the Monte Carlo simulator.

cl_implementation(mc: xopto.mcbase.mcobject.McObject)str[source]
cl_pack(mc: xopto.mcbase.mcobject.McObject, target: Optional[xopto.cl.cltypes.Structure] = None)xopto.cl.cltypes.Structure[source]

Fills the structure (target) with the data required by the Monte Carlo simulator. See the SixAroundOne.cl_type() method for a detailed list of fields.

Parameters
Returns

target – Filled structure received as an input argument or a new instance if the input argument target is None.

Return type

cltypes.Structure

static cl_type(mc: xopto.mcbase.mcobject.McObject)[source]

Surface layout of a tilted six-around one probe with stainless steel housing.

Parameters

mc (McObject) – A Monte Carlo simulator instance.

Returns

  • struct (cltypes.Structure) – A structure type that represents the six-around-one surface layout in the Monte Carlo kernel.

  • Fields

  • ——

  • transformation (mc_matrix3f_t) – Transformation that transforms Monte Carlo coordinates relative to the probe center to probe coordinates

  • position (mc_point3f_t) – Position of the probe center.

  • core_spacing (float) – Spacing between the cores of the central and sourrounding optical fibers.

  • core_r_squared (float) – Squared radius of the optical fiber core.

  • core_n (float) – Refractive index of the fiber core.

  • core_cos_critical (float) – Critical angle cosine for transition top layer => fiber core.

  • cladding_r_squared (float) – Squared radius of the optical fiber cladding.

  • cladding_n (float) – Refractive index of the fiber cladding.

  • cladding_cos_critical (float) – Critical angle cosine for transition top layer => fiber cladding.

  • cutout_r_squared (float) – Squared radius of the cutout in the probe tip that accommodates the fibers.

  • cutout_n (float) – Refractive index of the probe cutout.

  • cutout_cos_critical (float) – Critical angle cosine for transition top layer => cutout.

  • probe_r_squared (float) – Squared radius of the probe.

  • probe_reflectivity (float) – Reflectivity of the probe tip (a value from 0 to 1 is required).

property cutout: float

Cutout diameter (m) accommodating the optical fibers.Set to 0 if unused.

property cutoutn: float

Refractive index of the cutout fill.

property diameter: float

Outer diameter of the optical fiber probe tip.

property direction: Tuple[float, float, float]

Direction of the optical fibers.

property fiber: xopto.mcbase.mcutil.fiber.MultimodeFiber

Multimode optical fiber.

fiber_position(index: int)Tuple[float, float][source]

Returns the position of the fiber center as a tuple (x, y).

Parameters

index (int) – Fiber index from 0 to 6. Index zero corresponds to the central fiber. The remaining fibers are listed in a counter clockwise direction starting with the fiber located on the positive x axis.

Returns

position – The position of the fiber center as a tuple (x, y).

Return type

(float, float)

classmethod fromdict(data: dict)xopto.mcml.mcsurface.probe.sixaroundone.SixAroundOne[source]

Create an accumulator instance from a dictionary.

Parameters

data (dict) – Dictionary created by the SixAroundOne.todict() method.

property position: Tuple[float, float]

Position of the layout as a tuple (x, y).

property reflectivity: float

Reflectivity of the stainless steel optical fiber probe tip.

property spacing: float

Spacing of the optical fibers (m).

todict()dict[source]

Export object to dict

update(other: xopto.mcml.mcsurface.probe.sixaroundone.SixAroundOne)[source]

Update this surface layout configuration from the other surface layout. The other surface layout must be of the same type as this surface layout or a dict with appropriate fields.

Parameters

other (SixAroundOne or dict) – This surface layout is updated with data from this parameter.