Class TCurvePointsSet

Unit

Declaration

type TCurvePointsSet = class(TTitlePointsSet)

Description

Generic container for point set of all calcuated curves.

Hierarchy

Overview

Fields

Protected FAmplitudeP: TAmplitudeCurveParameter;
Protected FArgP: TSpecialCurveParameter;
Public FInitHash: cardinal;
Public FInitx0: double;
Public FMaxX: double;
Public FMinX: double;
Protected FParams: Curve_parameters;
Protected FPositionP: TPositionCurveParameter;
Public FRangeDefined: boolean;
Protected FRecalculate: boolean;
Protected FSigmaP: TSigmaCurveParameter;
Protected FVariableParameters: TList;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function HasA: boolean;
Public function Hasx0: boolean;
Public function MinimumStepAchieved(Index: longint): boolean;
Protected function GetA: double;
Protected function GetSigma: double;
Protected function GetValueByName(Name: string): double; virtual;
Protected function GetVariableCount: longint;
Protected function GetVariableValue(Index: longint): double; virtual;
Protected function GetVariationStep(Index: longint): double; virtual;
Protected function Getx0: double;
Public procedure BackupParameters;
Public procedure CopyParameters(Dest: TObject); override;
Public procedure InitVariationStep(Index: longint);
Public procedure ReCalc(const Bounds: TPointsSet);
Public procedure RestoreParameters;
Public procedure SetParameters(AParams: Curve_parameters);
Protected procedure AddParameter(Parameter: TSpecialCurveParameter);
Protected procedure DoCalc(const Bounds: TPointsSet); virtual; abstract;
Protected procedure InitListOfVariableParameters;
Protected procedure ScaleCurve(const Factor: double);
Protected procedure SetA(Value: double);
Protected procedure SetSpecParamPtr(Parameter: TSpecialCurveParameter); virtual;
Protected procedure SetValueByName(Name: string; Value: double); virtual;
Protected procedure SetVariableValue(Index: longint; Value: double); virtual;
Protected procedure SetVariationStep(Index: longint; AStep: double); virtual;
Protected procedure Setx0(Value: double);

Properties

Public property A: double read GetA write SetA;
Public property Parameters: Curve_parameters read FParams;
Public property Sigma: double read GetSigma;
Public property ValuesByName[Name:string]: double read GetValueByName write SetValueByName;
Public property VariableCount: longint read GetVariableCount;
Public property VariableValues[index:longint]: double read GetVariableValue write SetVariableValue;
Public property VariationSteps[index:longint]: double read GetVariationStep write SetVariationStep;
Public property x0: double read Getx0 write Setx0;

Description

Fields

Protected FAmplitudeP: TAmplitudeCurveParameter;

Set of variable parameters common for all curve types (meaning could be different in particular cases). Parameters with predefined semantics have constraints, which can be associated with curve points. Attributes store pointers to parameters with predefined semantics. Parameters are created in descendant constructors.

Protected FArgP: TSpecialCurveParameter;

It is used in TUserPointsSet. TODO: move it to TUserPointsSet.

Public FInitHash: cardinal;

Hash of initial parameter values.

Public FInitx0: double;

Initial value of x0. It's used in some algorithms.

Public FMaxX: double;

Boundaries for R-factor calculation.

Public FMinX: double;

Boundaries for R-factor calculation.

Protected FParams: Curve_parameters;

List of all curve parameters.

Protected FPositionP: TPositionCurveParameter;
 
Public FRangeDefined: boolean;

Flag designating that boundaries of R-factor calculation has been set up. If False R-factor is calculated for all points of profile.

Protected FRecalculate: boolean;
 
Protected FSigmaP: TSigmaCurveParameter;
 
Protected FVariableParameters: TList;

Contains only references to variable parameters.

Methods

Public constructor Create(AOwner: TComponent); override;
 
Public destructor Destroy; override;
 
Public function HasA: boolean;
 
Public function Hasx0: boolean;

Return True if attributes with predefined semantics were assigned.

Public function MinimumStepAchieved(Index: longint): boolean;

These methods are used to limit direct access to variable parameters.

Protected function GetA: double;
 
Protected function GetSigma: double;
 
Protected function GetValueByName(Name: string): double; virtual;

Returns value of parameter with given name.

Protected function GetVariableCount: longint;

Returns total number of variable parameters.

Protected function GetVariableValue(Index: longint): double; virtual;

Returns variable parameter by through index.

Protected function GetVariationStep(Index: longint): double; virtual;

Returns optimization step for parameter.

Protected function Getx0: double;
 
Public procedure BackupParameters;

Temporarily stores values of variable parameters in internal memory area.

Public procedure CopyParameters(Dest: TObject); override;
 
Public procedure InitVariationStep(Index: longint);
 
Public procedure ReCalc(const Bounds: TPointsSet);

Set of pairs of indexes of X-coordinates forming intervals in which functions should be calcuated (boundaries are included). Equity to nil designates that functions should be calculated for all points. Indexes instead of coordinates are used to avoid searching.

Public procedure RestoreParameters;

Restores values of variable parameters from temporary storage.

Public procedure SetParameters(AParams: Curve_parameters);
 
Protected procedure AddParameter(Parameter: TSpecialCurveParameter);
 
Protected procedure DoCalc(const Bounds: TPointsSet); virtual; abstract;

Performs recalculation of all profile points.

Protected procedure InitListOfVariableParameters;

Performs intialization of variable list parameters.

Protected procedure ScaleCurve(const Factor: double);

Multiplies profile points by given factor.

Protected procedure SetA(Value: double);
 
Protected procedure SetSpecParamPtr(Parameter: TSpecialCurveParameter); virtual;

Initializes pointers to parameters with predefined semantics.

Protected procedure SetValueByName(Name: string; Value: double); virtual;
 
Protected procedure SetVariableValue(Index: longint; Value: double); virtual;

Sets value of variable parameter.

Protected procedure SetVariationStep(Index: longint; AStep: double); virtual;

Sets optimization step for parameter.

Protected procedure Setx0(Value: double);

These functions don't perform profile recalculation and are used for initialization purposes (when Modified is set up).

Properties

Public property A: double read GetA write SetA;

TODO: remove setter.

Public property Parameters: Curve_parameters read FParams;

Returns object containing all parameters.

Public property Sigma: double read GetSigma;
 
Public property ValuesByName[Name:string]: double read GetValueByName write SetValueByName;

Provides access to all parameters by name.

Public property VariableCount: longint read GetVariableCount;
 
Public property VariableValues[index:longint]: double read GetVariableValue write SetVariableValue;

Provides access to variable parameters for optimizer.

Public property VariationSteps[index:longint]: double read GetVariationStep write SetVariationStep;

Provides access to variation steps for optimizer.

Public property x0: double read Getx0 write Setx0;

TODO: remove setter.


Generated by PasDoc 0.15.0.