LorentzGauss class
This class provides functionalities to compute an n-dimensional mixed Lorentz-Gauss line shape, also called an n-dimensional Pseudo-Voigt function V(x) (see https://de.wikipedia.org/wiki/Voigt-Profil):
V(x) = m*L(x) + (1-m)G(x), m = 0...1
where L is a Lorentzian and G a Gaussian line shape.
In detail:
V(x1, ... , xn)) = Product(i=1,n){
a * (mi
) / ( (1+ FLORENTZ((xi
-ci
)/wi
)^2) ) +
a * (1-mi
)exp(-FGAUSS((xi
-ci
)/wi
)^2)}
- Inheritance
- Object
- LineShapeND
- LorentzGauss
Constructors
-
LorentzGauss.fromPars(double a, List<
double> c, List<double> w, List<double> m, [ double fGauss, double fLorentz ]) -
Constructs a mixed Gauss-Lorentz shape defined by:
a
- amplitude,c
- center,w
- width,m
- mixing factors (0 <= m <= 1). [...]
Properties
- a ↔ double
-
read / write
-
c
↔ List<
double> -
centers, widths, L/G mixing factors
read / write
- dim ↔ int
-
line shape dimension
read / write
- FGAUSS → double
-
defaults for fGauss and fLorentz
final
- fGauss ↔ double
-
factors for shape consistency (see constructor comment)
read / write
- FLORENTZ → double
-
defaults for fGauss and fLorentz
final
- fLorentz ↔ double
-
factors for shape consistency (see constructor comment)
read / write
-
m
↔ List<
double> -
centers, widths, L/G mixing factors
read / write
-
pars
↔ List<
double> -
combination of parameters above in an array
read / write
-
w
↔ List<
double> -
centers, widths, L/G mixing factors
read / write
- hashCode → int
-
The hash code for this object. [...]
read-only, inherited
- integral ↔ double
-
read / write, inherited
- integralCalculated ↔ bool
-
read / write, inherited
- NOT_IMPL → String
-
final, inherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
- shapeParameters ↔ Object
-
read / write, inherited
Methods
-
getValueAt(
List< double> x) → double -
Returns the value of this mixed Gauss-Lorentz shape
at the n-dimensional point
x
. Throws Exception if the dimension ofx
is not in accordance with the parameters specified at shape construction time.override -
fromList(
Object pars) → dynamic -
pars - the parameters of the shape. Can be anything.
For Gauss-Lorentz, e.g. a List
(see there) inherited -
getIntegral(
) → double -
Returns the integral of this shape if its was computed (see getValuesAt,
otherwise throws.
inherited
-
getShapeParams(
) → Object -
Returns teh shape parameters
inherited
-
getValuesAt(
List< List< xxx, int integralType) → Float64Listdouble> > -
Calculates and returns the values of the Shape at the given positions
xxx
. xxx.length is the dimension of the shape, so a position has n coordinate values. xxx0
.length is the number of points for which to calculate the shape value. xxxp
the n-dimensional coordinate of a point pintegralType
- how the integral is computed. 0=sum of all values. -1 = compute no integralinherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed. [...]
inherited
-
toString(
) → String -
Returns a string representation of this object.
inherited
Operators
-
operator ==(
dynamic other) → bool -
The equality operator. [...]
inherited
Static Methods
-
array1D(
int npoints, double a, double c, double w, double m, double noiseAmpl, [ double fGauss, double fLorentz ]) → Float64List -
Returns an array containing a one-dimensional mixed Gauss-Lorentz shape
consisting of
npoints
defined by:a
- amplitude,c
- center,w
- width,m
- mixing factors (0 <= m <= 1). [...] -
array2D(
List< int> rows_cols, double a, List<double> c, List<double> w, List<double> m, double noiseAmpl, [ double fGauss, double fLorentz ]) → List<Float64List> -
Returns a matrix containing a two-dimensional mixed Gauss-Lorentz shape
consisting of
0
rows and1
columns Check method array1D for the other parameters. However,c
,w
,m
are arrays of length 2.c
,w
must be in the range (0, rows_cols0/1
)