Table of Contents

Class HarmonicFieldsSetEvaluation

Namespace
VirtualLabAPI.Core.FieldRepresentations
Assembly
VirtualLabAPI.dll

Evaluation functions for HarmonicFieldSet objects.

public class HarmonicFieldsSetEvaluation
Inheritance
HarmonicFieldsSetEvaluation
Inherited Members

Constructors

HarmonicFieldsSetEvaluation()

Standard constructor.

public HarmonicFieldsSetEvaluation()

Methods

AdjustSamplingParameters(HarmonicFieldsSet, double)

The sampling parameters of all complex amplitude members in the HarmonicFieldsSet are made equal to the sampling parameters of smallest sampling distance and the largest field diameter.

public static SamplingParameters AdjustSamplingParameters(HarmonicFieldsSet sf, double dOversamplingFactor)

Parameters

sf HarmonicFieldsSet

The harmonic fields set.

dOversamplingFactor double

Additional oversampling factor.

Returns

SamplingParameters

The sampling parameters.

ExtractFieldSummation(HarmonicFieldsSet, VectorialComponents, bool)

Calculates and returns the intensity distribution (or the square roots of it) of a given harmonic fields set and according to a given component combination. The function is parallelized.

public ComplexAmplitude ExtractFieldSummation(HarmonicFieldsSet hfs, VectorialComponents componentCombination, bool applySqrtOnSummationField)

Parameters

hfs HarmonicFieldsSet

HarmonicFieldsSet from that intensities or square root of intensities are to be calculated

componentCombination VectorialComponents

Specifies which of the field components Ex, Ey and Ez shall be considered.

applySqrtOnSummationField bool

If true, the square root will be applied on the returned array after summation. If false, the returned summation array is equivalent to the intensity distribution of the entire harmonic fields set.

Returns

ComplexAmplitude

A ComplexAmplitude object with appropriate sampling containing the field summations.

ExtractLineProfile(HarmonicFieldsSet, VectorialComponent, double, VectorD, VectorD)

Returns the line profile through all member fields on a line in the Harmonic Fields Set.

public static ComplexField ExtractLineProfile(HarmonicFieldsSet inputField, VectorialComponent component, double accuracyFactor, VectorD StartPosition, VectorD EndPosition)

Parameters

inputField HarmonicFieldsSet

Harmonic Fields Set to get the profile from.

component VectorialComponent

The vectorial component which shall be analyzed.

accuracyFactor double

The accuracy factor with which the profile line shall be evaluated.

StartPosition VectorD

The start point of the profile line.

EndPosition VectorD

The end point of the profile line.

Returns

ComplexField

A two-dimensional complex field containing per member the values along the given line.

ExtractProfileAtAPoint(HarmonicFieldsSet, VectorialComponent, double, double)

Returns the profile through all member fields at one point in the Harmonic Fields Set.

public static ComplexField ExtractProfileAtAPoint(HarmonicFieldsSet inputField, VectorialComponent component, double x, double y)

Parameters

inputField HarmonicFieldsSet

Harmonic Fields Set to get the profile from.

component VectorialComponent

The vectorial component which shall be analyzed.

x double

x-coordinate of the point

y double

y-coordinate of the point

Returns

ComplexField

A one-dimensional complex field containing per member field the value at the given position.

ExtractRectangle(HarmonicFieldsSet, VectorialComponent, VectorD, SamplingParameters)

Support function to extract a rectangle from a given harmonic fields set with some additional parameters.

public static ComplexFieldArray ExtractRectangle(HarmonicFieldsSet inputField, VectorialComponent component, VectorD centerPointRectangle, SamplingParameters samplingParametersRectangle)

Parameters

inputField HarmonicFieldsSet

The input field that should be used for the extraction.

component VectorialComponent

The vectorial component which shall be extracted.

centerPointRectangle VectorD

The center point of the rectangle which should be extracted.

samplingParametersRectangle SamplingParameters

The sampling parameters used for the extraction.

Returns

ComplexFieldArray

A ComplexFieldArray which represents the extracted rectangle.

ExtractWavelengthInformation(HarmonicFieldsSet)

Extracts all wavelengths from a Harmonic Fields Set.

public static List<VectorD> ExtractWavelengthInformation(HarmonicFieldsSet hfs)

Parameters

hfs HarmonicFieldsSet

The Harmonic Fields Set.

Returns

List<VectorD>

List of all wavelengths in the Harmonic Fields Set.

SplitByWavelength(HarmonicFieldBase)

Splits the given Harmonic Field by wavelength whereas the member fields are not cloned.

public static List<HarmonicFieldBase> SplitByWavelength(HarmonicFieldBase harmonicField)

Parameters

harmonicField HarmonicFieldBase

The Harmonic Fields Set to split.

Returns

List<HarmonicFieldBase>

A list of harmonic fields, one per wavelength. If there is only one mode for a certain wavelength, a ComplexAmplitude is stored, else a HarmonicFieldsSet. The resulting list is sorted ascending by wavelength.