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
sfHarmonicFieldsSetThe harmonic fields set.
dOversamplingFactordoubleAdditional 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
hfsHarmonicFieldsSetHarmonicFieldsSet from that intensities or square root of intensities are to be calculated
componentCombinationVectorialComponentsSpecifies which of the field components Ex, Ey and Ez shall be considered.
applySqrtOnSummationFieldboolIf 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
inputFieldHarmonicFieldsSetHarmonic Fields Set to get the profile from.
componentVectorialComponentThe vectorial component which shall be analyzed.
accuracyFactordoubleThe accuracy factor with which the profile line shall be evaluated.
StartPositionVectorDThe start point of the profile line.
EndPositionVectorDThe 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
inputFieldHarmonicFieldsSetHarmonic Fields Set to get the profile from.
componentVectorialComponentThe vectorial component which shall be analyzed.
xdoublex-coordinate of the point
ydoubley-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
inputFieldHarmonicFieldsSetThe input field that should be used for the extraction.
componentVectorialComponentThe vectorial component which shall be extracted.
centerPointRectangleVectorDThe center point of the rectangle which should be extracted.
samplingParametersRectangleSamplingParametersThe 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
hfsHarmonicFieldsSetThe Harmonic Fields Set.
Returns
SplitByWavelength(HarmonicFieldBase)
Splits the given Harmonic Field by wavelength whereas the member fields are not cloned.
public static List<HarmonicFieldBase> SplitByWavelength(HarmonicFieldBase harmonicField)
Parameters
harmonicFieldHarmonicFieldBaseThe 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.