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
mc (mcobject.McObject) – Monte Carlo simulator instance.
target (cltypes.Structure) – Ctypes structure that is filled with the source data.
- Returns
target – Filled structure received as an input argument or a new instance if the input argument target is None.
- Return type
- 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).
- 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.