Programming Reference for VirtualLab Fusion  2022.1
Public Member Functions | Static Public Member Functions | Properties | List of all members
DataArray1D Class Reference

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class for objects that store data in C^N which are equidistant or non equidistant distributed in R^1 More...

Inheritance diagram for DataArray1D:
DataArrayBase IDocument

Public Member Functions

void AppendDataArray1D (DataArray1D arrayToAppend, bool coordinateOfLastIntervalsUpperLimitDeterminesPosition)
 Appends a given data array to this. More...
 
override object Clone ()
 Deep copy More...
 
double CoordinateOfDataPointIndex (long index)
 Gives the coordinate of a certain data point as double. More...
 
PhysicalValue CoordinateOfDataPointIndex_asPValue (long index)
 Gives the coordinate of a certain data point as PhysicalValue. More...
 
 DataArray1D (ComplexField1DArray data, PhysicalProperty[] physicalPropertiesOfData, string[] commentsOfData, CFieldDerivative1DReal coordinates, PhysicalProperty physicalPropertyOfCoordinates, string commentOfCoordinates, double coordinateOfLastIntervalsUpperLimit, ExtrapolationInfo extrapolation=null, InterpolationMethodForNonequidistantData interpolation=InterpolationMethodForNonequidistantData.ConstantInterval)
 Constructor for non-equidistant data. More...
 
 DataArray1D (ComplexField1DArray data, PhysicalProperty[] physicalPropertiesOfData, string[] commentsOfData, double samplingDistance, double coordinateOfFirstDataPoint, PhysicalProperty physicalPropertyOfCoordinates, string commentOfCoordinates, ExtrapolationInfo extrapolation=null, InterpolationMethod interpolation=InterpolationMethod.Nearest)
 Constructor for equidistant data More...
 
 DataArray1D (DataArray1D dataArray)
 Copy constructor More...
 
 DataArray1D (double[,] coordinatesAndData, PhysicalProperty physicalPropertyOfData, string commentOfData, PhysicalProperty physicalPropertyOfCoordinates, string commentOfCoordinates, double coordinateOfLastIntervalsUpperLimit, ExtrapolationInfo extrapolation=null, InterpolationMethodForNonequidistantData interpolation=InterpolationMethodForNonequidistantData.ConstantInterval)
 Special constructor for non-equidistant data, that are stored in a double[,] array. Only one subset is used, i.e. N = 1. More...
 
 DataArray1D (double[] data, PhysicalProperty physicalPropertyOfData, string commentOfData, double samplingDistance, double coordinateOfFirstDataPoint, PhysicalProperty physicalPropertyOfCoordinates, string commentOfCoordinates, ExtrapolationInfo extrapolation=null, InterpolationMethod interpolation=InterpolationMethod.Nearest)
 Special constructor for equidistant data, that are stored in a double[] array. Only one subset is used, i.e. N = 1. More...
 
void Dispose ()
 Frees all memory that is used for the data.
 
virtual void EmbedExtract (int numberOfDataPoints)
 Method to perform an embed/extract operation on the data array. More...
 
override bool Equals (object obj, EqualityIntent equalityIntent)
 Checks whether two DataArray1D objects are equal. More...
 
virtual void EquidistantToNonEquidistant (bool forNN_convertCenterCoordinateInsteadOfIntervalBorder)
 If this data array is equidistant, this conversion method makes it non equidistant. This is done by calculating the member NonequidistantCoordinates from CoordinateOfFirstDataPoint, SamplingDistance and the respective index. More...
 
PhysicalValueRange GetCoordinateRange (bool boundaryExtrapolation)
 Gets the whole range of coordinates (coordinate extent). More...
 
override string HeaderInformation (int subSetID, TextExportImportSettings exportSettings, FieldQuantity? quantityForInformation=null)
 Public method to get the export header (data meaning and sampling parameters) for a specific data array. More...
 
long IndexOfDataPointAtCoordinate (double coord, bool enforceSteppedInterpolation, out bool coordinatesOutsideGivenIndexRange)
 Method to get the index of that data point which corresponds to a given coordinate. More...
 
long IndexOfDataPointAtCoordinate (double coord, long startIndex, long endIndex, bool enforceSteppedInterpolation, out bool coordinatesOutsideGivenIndexRange)
 Method to get the index of that data point which corresponds to a given coordinate. More...
 
void MultiplyFactorOnData (double factor)
 Public method to multiply a factor onto all data subsets. More...
 
virtual Complex[] PointInterpolation (double coord, bool enforceSteppedInterpolation, long startIndex, long endIndex, out long correspondingDataPointIndex, out bool coordinateOutsideCoordinateRange)
 Gives the interpolated complex value for a given coordinate. More...
 
virtual Complex[] PointInterpolation (double coord, bool enforceSteppedInterpolation, out long correspondingDataPointIndex, out bool coordinateOutsideCoordinateRange)
 Gives the interpolated complex value for a given coordinate. More...
 
override void Save (string fileName)
 Save this data array to a file with a given name. More...
 
void SetDataWithPropertiesAndCommentsAtOnce (ComplexField1DArray data, PhysicalProperty[] properties, string[] comments)
 Sets the members Data, PhysicalPropertiesOfDataEntries and CommentsOfDataEntries at once to ensure consistency. More...
 
virtual void ShiftCoordinates (double coordinateShift)
 Public method to perform a shift on the coordinates of the data array. More...
 
DataArray1D TransformCoordinates (RealFunctionWithSingleArgument trafo, bool forNN_convertCenterCoordinateInsteadOfIntervalBorder, double lastIntervalSizeForSpecialHandlingOfDiscontinuity)
 Method for transforming this data array's coordinates using a transform function . More...
 
- Public Member Functions inherited from DataArrayBase
 DataArrayBase ()
 Standard constructor used for manual serialization
 
 DataArrayBase (DataArrayBase copyDA)
 copy constructor More...
 
- Public Member Functions inherited from IDocument
void Reload ()
 Reload function for the document
 

Static Public Member Functions

static bool operator!= (DataArray1D da1, DataArray1D da2)
 Checks whether two DataArray1D objects are unequal. More...
 
static DataArray1D operator* (DataArray1D dataArray1, DataArray1D dataArray2)
 Implements the operator * for multiplication of two one-dimensional data arrays. More...
 
static DataArray1D operator+ (DataArray1D dataArray1, DataArray1D dataArray2)
 Implements the operator + for addition of two one-dimensional data arrays. More...
 
static DataArray1D operator- (DataArray1D dataArray1, DataArray1D dataArray2)
 Implements the operator - for subtraction of two one-dimensional data arrays. More...
 
static DataArray1D operator/ (DataArray1D dataArray1, DataArray1D dataArray2)
 Implements the operator / for division of two one-dimensional data arrays. More...
 
static bool operator== (DataArray1D da1, DataArray1D da2)
 Checks whether two DataArray1D objects are equal. More...
 

Properties

double BiggestCoordinateStep [get]
 Gets the biggest occurring distance between two neighbored coordinates. (So in the equidistant case, this is identical to SamplingDistance.)
 
virtual string CommentOfCoordinates [get, set]
 Get and set the comment for the coordinates
 
override string[] CommentsOfDataEntries [get, set]
 Get and set the comments for each data subset.
 
virtual double CoordinateOfFirstDataPoint [get, set]
 Gets and sets the coordinate of the first data point.
 
double CoordinateOfLastDataPoint [get]
 Gets the coordinate of the last data point
 
double CoordinateOfLastIntervalsUpperLimit [get, set]
 Get and set the coordinate of the last interval's upper limit. This is needed if non equidistantly sampled data shall be interpolated with the method 'ConstantInterval'. For this method the data are assumed to be constant in each interval which is given by [coordinate(i), coordinate(i+1)[, where i is the data point index. So the width of the last interval has to be defined separately by [coordinate(NoOfDataPoints-1), CoordinateOfLastIntervalsUpperLimit[.
 
ComplexField1DArray Data [get, set]
 Get and set the data in C^N. Each single 1D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
 
override DataArrayType DataArrayType [get]
 public property to get the data array type of the current data array
 
override int DimensionalityOfCoordinates [get]
 Dimensionality M of the space of independent variables R^M, which is always 1 for DataArray1D.
 
override int DimensionalityOfData [get]
 Dimensionality of the space of data values C^N, i.e. the number of subsets N.
 
ExtrapolationInfo ExtrapolationHandling [get, set]
 The extrapolation handling.
 
virtual InterpolationMethod InterpolationMethodForEquidistantSampling [get, set]
 Get and set the method used for interpolation in case of equidistant sampling
 
InterpolationMethodForNonequidistantData InterpolationMethodForNonequidistantSampling [get, set]
 Gets and sets the method used for interpolation in case of non equidistant sampling. For the method 'ConstantInterval' the data are assumed to be constant in each interval which is given by [coordinate(i), coordinate(i+1)[, where i is the data point index. So the width of the last interval has to be defined separately by [coordinate(NoOfDataPoints-1), CoordinateOfLastIntervalsUpperLimit[.
 
override bool IsComplex [get]
 Are the values defined in C^N (TRUE) or in the subset of real numbers R^N (FALSE)? Returns TRUE if any of the data entries is complex.
 
virtual bool IsEquidistant [get, set]
 Get and set whether the data are sampled equidistantly.
 
CFieldDerivative1DReal NonequidistantCoordinates [get, set]
 Get and set the coordinates for the data in R^1. IMPORTANT: This property applies for non equidistant data only! If you need to get the coordinate for one index for equidistant as well as for non equidistant data, use the method CoordinateOfDataPointIndex(long index) instead! For setting pay attention to the following restrictions: value must not be complex and value.SamplingPointsOneD has to be equal to NoOfDataPoints.
 
int NoOfDataPoints [get]
 Get the number of data values stored.
 
override bool NoSmoothingInterpolationMethod [get]
 Gets a flag indicating whether or not the interpolation method isn't smoothing (like nearest neighbor or constant interval) -> TRUE or if it does (like all other methods) -> FALSE
 
override PhysicalProperty[] PhysicalPropertiesOfDataEntries [get, set]
 Get and set the physical properties of each data subset.
 
virtual PhysicalProperty PhysicalPropertyOfCoordinates [get, set]
 Get and set the physical property for the coordinates
 
override PrecisionMode Precision [get]
 Get the highest occurring precision of the data.
 
virtual double SamplingDistance [get, set]
 Gets and sets the sampling distance for (and only for) equidistantly sampled data.
 
double SmallestCoordinateStep [get]
 Gets the smallest occurring distance between two neighbored coordinates. (So in the equidistant case, this is identical to SamplingDistance.)
 
- Properties inherited from DataArrayBase
Dictionary< string, object > AdditionalInformation [get, set]
 Additional information to be stored at the data array.
 
abstract string[] CommentsOfDataEntries [get, set]
 Get and set the comment for each dimension in C^N.
 
abstract int DimensionalityOfCoordinates [get]
 Dimensionality M of the space of independent variables R^M
 
abstract int DimensionalityOfData [get]
 Dimensionality N of the space of data values C^N
 
UI.DataVisualization.GraphicsAddOnData GraphicsAddons [get, set]
 The graphics add-on data to be drawn.
 
abstract bool IsComplex [get]
 Are the values defined in C^N (TRUE) or in the subset of real numbers R^N (FALSE)
 
abstract bool NoSmoothingInterpolationMethod [get]
 Gets a flag indicating whether or not none of the interpolation methods is smoothing (like nearest neighbor or constant interval) -> TRUE But if one of the methods does (like all other methods) -> the flag is set to FALSE
 
PhysicalMeaning PhysicalMeaning [get, set]
 Gets and sets the physical meaning of the data array object (default: None)
 
abstract PhysicalProperty[] PhysicalPropertiesOfDataEntries [get, set]
 Get and set the physical property for each dimension in C^N
 
abstract PrecisionMode Precision [get]
 Get the highest occurring precision of the data.
 
- Properties inherited from IDocument
VirtualLabSession Session [get, set]
 every documents need to be handled in a session ==> default is the VirtualLab Mainsession
 
NodeVLExplorer TreeStructure [get]
 every document should have a node (maybe with subnodes) in the VirtualLab Explorer
 
DocumentType TypeOfDocument [get]
 Gets an enum entry specifying the type of the document.
 

Additional Inherited Members

- Static Public Attributes inherited from DataArrayBase
static string AdditionalInfoName_SingleWavelength
 Key to be used in the additional information list in order to identify a single wavelength which applies to all subsets.
 
static string AdditionalInfoName_SphericalModulationFlag
 Key to be used in the additional information list in order to identify the flag which tells whether or not the modulation of a EquidistantDataBased2DFieldGenerator is defined in spherical coordinates.
 
static string AdditionalInfoName_WavelengthPerSubset
 Key to be used in the additional information list in order to identify an array of wavelengths where every value applies to one subset.
 

Detailed Description

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class for objects that store data in C^N which are equidistant or non equidistant distributed in R^1

Constructor & Destructor Documentation

◆ DataArray1D() [1/5]

DataArray1D ( ComplexField1DArray  data,
PhysicalProperty[]  physicalPropertiesOfData,
string[]  commentsOfData,
CFieldDerivative1DReal  coordinates,
PhysicalProperty  physicalPropertyOfCoordinates,
string  commentOfCoordinates,
double  coordinateOfLastIntervalsUpperLimit,
ExtrapolationInfo  extrapolation = null,
InterpolationMethodForNonequidistantData  interpolation = InterpolationMethodForNonequidistantData.ConstantInterval 
)

Constructor for non-equidistant data.

Parameters
dataThe data in C^N. Each single 1D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
physicalPropertiesOfDataPhysical properties of each data subset.
commentsOfDataComments for each data subset.
coordinatesNon-equidistant coordinates for the data in R^1.
physicalPropertyOfCoordinatesPhysical property for the coordinates
commentOfCoordinatesComment for the coordinates
coordinateOfLastIntervalsUpperLimitCoordinate of the last interval's upper limit.
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationThe interpolation method to be used.

◆ DataArray1D() [2/5]

DataArray1D ( double  coordinatesAndData[,],
PhysicalProperty  physicalPropertyOfData,
string  commentOfData,
PhysicalProperty  physicalPropertyOfCoordinates,
string  commentOfCoordinates,
double  coordinateOfLastIntervalsUpperLimit,
ExtrapolationInfo  extrapolation = null,
InterpolationMethodForNonequidistantData  interpolation = InterpolationMethodForNonequidistantData.ConstantInterval 
)

Special constructor for non-equidistant data, that are stored in a double[,] array. Only one subset is used, i.e. N = 1.

Parameters
coordinatesAndDataThe coordinates and the real valued data. The method determines automatically whether the array is organized as [2,n] or [n,2], with n = number of data points. The coordinates have to be stored in [0,n] or [n,0] and the data have to be stored in [1,n] or [n,1].
physicalPropertyOfDataPhysical properties of each data subset.
commentOfDataComments for each data subset.
physicalPropertyOfCoordinatesPhysical property for the coordinates
commentOfCoordinatesComment for the coordinates
coordinateOfLastIntervalsUpperLimitCoordinate of the last interval's upper limit.
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationThe interpolation method to be used.

◆ DataArray1D() [3/5]

DataArray1D ( double[]  data,
PhysicalProperty  physicalPropertyOfData,
string  commentOfData,
double  samplingDistance,
double  coordinateOfFirstDataPoint,
PhysicalProperty  physicalPropertyOfCoordinates,
string  commentOfCoordinates,
ExtrapolationInfo  extrapolation = null,
InterpolationMethod  interpolation = InterpolationMethod.Nearest 
)

Special constructor for equidistant data, that are stored in a double[] array. Only one subset is used, i.e. N = 1.

Parameters
dataThe data in C^1. The double values will be filled into one real valued subset.
physicalPropertyOfDataPhysical properties of each data subset.
commentOfDataComments for each data subset.
samplingDistanceSampling distance for (and only for) equidistantly sampled data.
coordinateOfFirstDataPointCoordinate of the first data point Data[0] for (and only for) equidistantly sampled data.
physicalPropertyOfCoordinatesPhysical property for the coordinates
commentOfCoordinatesComment for the coordinates
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationThe interpolation method to be used.

◆ DataArray1D() [4/5]

DataArray1D ( ComplexField1DArray  data,
PhysicalProperty[]  physicalPropertiesOfData,
string[]  commentsOfData,
double  samplingDistance,
double  coordinateOfFirstDataPoint,
PhysicalProperty  physicalPropertyOfCoordinates,
string  commentOfCoordinates,
ExtrapolationInfo  extrapolation = null,
InterpolationMethod  interpolation = InterpolationMethod.Nearest 
)

Constructor for equidistant data

Parameters
dataThe data in C^N. Each single 1D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
physicalPropertiesOfDataPhysical properties of each data subset.
commentsOfDataComments for each data subset.
samplingDistanceSampling distance for (and only for) equidistantly sampled data.
coordinateOfFirstDataPointCoordinate of the first data point Data[0] for (and only for) equidistantly sampled data.
physicalPropertyOfCoordinatesPhysical property for the coordinates
commentOfCoordinatesComment for the coordinates
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationThe interpolation method to be used.
Exceptions
ArgumentExceptionEmpty data. or Sampling Distance has to be greater than zero.

◆ DataArray1D() [5/5]

DataArray1D ( DataArray1D  dataArray)

Copy constructor

Parameters
dataArrayData array to copy

Member Function Documentation

◆ AppendDataArray1D()

void AppendDataArray1D ( DataArray1D  arrayToAppend,
bool  coordinateOfLastIntervalsUpperLimitDeterminesPosition 
)

Appends a given data array to this.

Parameters
arrayToAppendArray to append to this one.
coordinateOfLastIntervalsUpperLimitDeterminesPositionShall this.CoordinateOfLastIntervalsUpperLimit determine the position of the appended data array?

◆ Clone()

override object Clone ( )

Deep copy

Returns
Copy of data array

◆ CoordinateOfDataPointIndex()

double CoordinateOfDataPointIndex ( long  index)

Gives the coordinate of a certain data point as double.

Parameters
indexIndex of the data point to get the coordinate for.
Returns
Coordinate of the data point as double

◆ CoordinateOfDataPointIndex_asPValue()

PhysicalValue CoordinateOfDataPointIndex_asPValue ( long  index)

Gives the coordinate of a certain data point as PhysicalValue.

Parameters
indexIndex of the data point to get the coordinate for.
Returns
Coordinate of the data point as PhysicalValue

◆ EmbedExtract()

virtual void EmbedExtract ( int  numberOfDataPoints)
virtual

Method to perform an embed/extract operation on the data array.

Parameters
numberOfDataPointsThe number of the data points to be used for the embed/extract operation. If it is greater than this.NoOfDataPoints, the data array will be embedded, otherwise the given number of data points will be extracted.

◆ Equals()

override bool Equals ( object  obj,
EqualityIntent  equalityIntent 
)

Checks whether two DataArray1D objects are equal.

Parameters
objThe System.Object to compare with this instance.
equalityIntentDefines what kind of equality you want to check when comparing two objects, for example all values or physical equality.
Returns
true if the specified System.Object is equal to this instance; otherwise, false.

◆ EquidistantToNonEquidistant()

virtual void EquidistantToNonEquidistant ( bool  forNN_convertCenterCoordinateInsteadOfIntervalBorder)
virtual

If this data array is equidistant, this conversion method makes it non equidistant. This is done by calculating the member NonequidistantCoordinates from CoordinateOfFirstDataPoint, SamplingDistance and the respective index.

Parameters
forNN_convertCenterCoordinateInsteadOfIntervalBorderIn case an equidistant data array is given, it is to be converted into a non-equidistant one. This will take the interpolation method into account, which means that for Nearest-Neighbor interpolation the interval boundaries are converted instead of the original coordinates. This flag will prevent this if set to true and will ensure that the original coordinates are converted. This is usually needed for subsequent coordinate transformations only.

◆ GetCoordinateRange()

PhysicalValueRange GetCoordinateRange ( bool  boundaryExtrapolation)

Gets the whole range of coordinates (coordinate extent).

Parameters
boundaryExtrapolationIf set, the method works as if the interpolation method were set to Nearest Neighbor or Constant Interval, resp. That means for equidistant data an extrapolation of half a sampling distance below the coordinates minimum and above the coordinates maximum. For non equidistant data it means an extrapolation between the coordinates maximum and CoordinateOfLastIntervalsUpperLimit. If the interpolation method is Nearest Neighbor or Constant Interval resp., this flag has no meaning, because extrapolation will be done anyway. If the 'array size' (range between first and last data point's coordinate) is needed for Nearest Neighbor or Constant Interval, it has to be calculated from CoordinateOfFirstDataPoint and CoordinateOfLastDataPoint.
Returns
The coordinate range.

◆ HeaderInformation()

override string HeaderInformation ( int  subSetID,
TextExportImportSettings  exportSettings,
FieldQuantity quantityForInformation = null 
)

Public method to get the export header (data meaning and sampling parameters) for a specific data array.

Parameters
subSetIDThe ID of the subset for which the header information shall be extracted.
exportSettingsThe text export settings (header indicator, decimal separator and so on).
quantityForInformationOptional FieldQuantity for which the header information shall be generated.
Returns
The export header string for the subset within the DataArray which has the subSetID.

◆ IndexOfDataPointAtCoordinate() [1/2]

long IndexOfDataPointAtCoordinate ( double  coord,
bool  enforceSteppedInterpolation,
out bool  coordinatesOutsideGivenIndexRange 
)

Method to get the index of that data point which corresponds to a given coordinate.

Parameters
coordcoordinate to get the corresponding data point's index for
enforceSteppedInterpolationIf true, a stepped interpolation (i.e. Nearest Neighbor or Constant Interval) will be used, no matter what the DataArrays own interpolation method is.
coordinatesOutsideGivenIndexRangeflag indicating whether the given coordinate lies outside the valid range (defined by the number of data points)
Returns
the index of that data point which corresponds to the given coordinate

◆ IndexOfDataPointAtCoordinate() [2/2]

long IndexOfDataPointAtCoordinate ( double  coord,
long  startIndex,
long  endIndex,
bool  enforceSteppedInterpolation,
out bool  coordinatesOutsideGivenIndexRange 
)

Method to get the index of that data point which corresponds to a given coordinate.

Parameters
coordcoordinate to get the corresponding data point's index for
startIndexindex to begin the search at
endIndexindex to stop the search at
enforceSteppedInterpolationIf true, a stepped interpolation (i.e. Nearest Neighbor or Constant Interval) will be used, no matter what the DataArrays own interpolation method is.
coordinatesOutsideGivenIndexRangeflag indicating whether the given coordinate lies outside the valid range (defined by startIndex and endIndex)
Returns
the index of that data point which corresponds to the given coordinate

◆ MultiplyFactorOnData()

void MultiplyFactorOnData ( double  factor)

Public method to multiply a factor onto all data subsets.

Parameters
factorThe factor which shall be used for multiplication

◆ operator!=()

static bool operator!= ( DataArray1D  da1,
DataArray1D  da2 
)
static

Checks whether two DataArray1D objects are unequal.

Parameters
da1The first data array.
da2The second data array.
Returns
True if the two data arrays differ in at least one property or variable.

◆ operator*()

static DataArray1D operator* ( DataArray1D  dataArray1,
DataArray1D  dataArray2 
)
static

Implements the operator * for multiplication of two one-dimensional data arrays.

Parameters
dataArray1The first factor.
dataArray2The second factor.
Returns
The result of the multiplication.

◆ operator+()

static DataArray1D operator+ ( DataArray1D  dataArray1,
DataArray1D  dataArray2 
)
static

Implements the operator + for addition of two one-dimensional data arrays.

Parameters
dataArray1The first summand.
dataArray2The second summand.
Returns
The result of the addition.

◆ operator-()

static DataArray1D operator- ( DataArray1D  dataArray1,
DataArray1D  dataArray2 
)
static

Implements the operator - for subtraction of two one-dimensional data arrays.

Parameters
dataArray1The minuend.
dataArray2The subtrahend.
Returns
The result of the subtraction.

◆ operator/()

static DataArray1D operator/ ( DataArray1D  dataArray1,
DataArray1D  dataArray2 
)
static

Implements the operator / for division of two one-dimensional data arrays.

Parameters
dataArray1The dividend.
dataArray2The divisor.
Returns
The result of the division.

◆ operator==()

static bool operator== ( DataArray1D  da1,
DataArray1D  da2 
)
static

Checks whether two DataArray1D objects are equal.

Parameters
da1The first data array.
da2The second data array.
Returns
True if the two data arrays represent exactly the same data.

◆ PointInterpolation() [1/2]

virtual Complex[] PointInterpolation ( double  coord,
bool  enforceSteppedInterpolation,
long  startIndex,
long  endIndex,
out long  correspondingDataPointIndex,
out bool  coordinateOutsideCoordinateRange 
)
virtual

Gives the interpolated complex value for a given coordinate.

Parameters
coordcoordinate to interpolate the value for
enforceSteppedInterpolationIf true, a stepped interpolation (i.e. Nearest Neighbor or Constant Interval) will be used, no matter what the DataArrays own interpolation method is.
startIndexStart index for search
endIndexEnd index for search
correspondingDataPointIndexGives the index of the corresponding data point.
coordinateOutsideCoordinateRangeFlag indicating whether or not the given coordinate lies outside the coordinate range of this data array.
Returns
interpolated complex value for the given coordinate

◆ PointInterpolation() [2/2]

virtual Complex[] PointInterpolation ( double  coord,
bool  enforceSteppedInterpolation,
out long  correspondingDataPointIndex,
out bool  coordinateOutsideCoordinateRange 
)
virtual

Gives the interpolated complex value for a given coordinate.

Parameters
coordcoordinate to interpolate the value for
enforceSteppedInterpolationIf true, a stepped interpolation (i.e. Nearest Neighbor or Constant Interval) will be used, no matter what the DataArrays own interpolation method is.
correspondingDataPointIndexGives the index of the corresponding data point.
coordinateOutsideCoordinateRangeFlag indicating whether or not the given coordinate lies outside the coordinate range of this data array.
Returns
interpolated complex value for the given coordinate

◆ Save()

override void Save ( string  fileName)

Save this data array to a file with a given name.

Parameters
fileNameName to save this data array to.

◆ SetDataWithPropertiesAndCommentsAtOnce()

void SetDataWithPropertiesAndCommentsAtOnce ( ComplexField1DArray  data,
PhysicalProperty[]  properties,
string[]  comments 
)

Sets the members Data, PhysicalPropertiesOfDataEntries and CommentsOfDataEntries at once to ensure consistency.

Parameters
dataData to set.
propertiesPhysicalPropertiesOfDataEntries to set.
commentsCommentsOfDataEntries to set.

◆ ShiftCoordinates()

virtual void ShiftCoordinates ( double  coordinateShift)
virtual

Public method to perform a shift on the coordinates of the data array.

Parameters
coordinateShiftThe value of the shift to be performed.

◆ TransformCoordinates()

DataArray1D TransformCoordinates ( RealFunctionWithSingleArgument  trafo,
bool  forNN_convertCenterCoordinateInsteadOfIntervalBorder,
double  lastIntervalSizeForSpecialHandlingOfDiscontinuity 
)

Method for transforming this data array's coordinates using a transform function .

Parameters
trafoDelegate for the function to be used for the coordinates transformation. IMPORTANT: the transformation function has to be strictly monotonic (in the coordinates domain of definition)!
forNN_convertCenterCoordinateInsteadOfIntervalBorderIn case an equidistant data array is given, it is to be converted into a non-equidistant one. This will take the interpolation method into account, which means that for Nearest-Neighbor interpolation the interval boundaries are converted instead of the original coordinates. This flag will prevent this if set to true and will ensure that the original coordinates are converted.
lastIntervalSizeForSpecialHandlingOfDiscontinuityIn case of an original data array which is 1) non-equidistant, 2) non-constantly interpolated, 3) extrapolated with a constant, there may occur a discontinuity at the first coordinate (= jump from the extrapolation constant to the value of the first coordinate). If such a data array shall be transformed with a function which is monotonic decreasing, this discontinuity/jump cannot be preserved, due to the nature of the data storage in data arrays. This parameter will provide an additional interval size within which the value of the last coordinate (formerly first coordinate) will change to the extrapolation constant instead of jumping.
Returns
Data array with transformed coordinates.