12 const double InvPi = 0.3183098861837906715377675267450287240689192;
13 const double InvSqrtPi = 0.5641895835477562869480794515607725858440506;
14 const double InvSqrt2Pi = 0.3989422804014326779399460599343818684758586;
15 const double Degree = 0.01745329251994329576923690768488612713442871;
16 const double Pi = 3.1415926535897932384626433832795028841971693;
89 double rotation = 0.);
112 double integral = 1.,
117 double rotation = 0.,
120 double dispersion = 1.);
146 double maximum = 1.0,
149 double radius = 1.0);
163 double maximum = 1.0,
167 double radius = 1.0);
186 double maximum = 1.0,
191 double radiusX = 1.0,
192 double radiusY = 1.0);
209 double maximum = 1.0,
214 double radiusX = 1.0,
215 double radiusY = 1.0,
216 double rotation = 0.0);
233 double maximum = 1.0,
238 double radiusX = 1.0,
239 double radiusY = 1.0,
240 double rotationA = 0.0,
241 double rotationR = 0.0);
245 namespace GeometryCalc{
266 double EllipseRotAxis(
double x,
double y,
double lx,
double ly,
double theta);
277 double Angle(
double x,
double y,
double centx=0.,
double centy=0.);
283 double Sqrt(
const double& x);
288 double Power(
const double& x,
const double& exponent);
293 double Sin(
const double& x);
297 double Cos(
const double& x);
301 double ATan(
const double& x);
312 double ATan2(
const double& y,
const double& x);
316 double Exp(
const double& x);
326 double Gaus(
const double& x,
const double& mean,
const double& sigma,
const bool& norm);
Dense m×n matrix of double with hand-rolled linear algebra.
3-component double vector with hand-rolled operations.
double MatrixForm2D(QPVector &x, QPVector &x0, QPMatrix &S)
2D Gaussian in covariance-matrix form,
double Simple2D(double x, double y, double integral=1., double meanx=0, double meany=0, double sigma=1.)
Isotropic 2D Gaussian .
double RotAxis2D(double x, double y, double integral=1., double meanx=0., double meany=0., double sigmax=1., double sigmay=1., double rotation=0.)
Elliptic 2D Gaussian with principal axes rotated by rotation: the offsets are first turned into the e...
double Assymetry2D(double x, double y, double integral=1., double meanx=0., double meany=0., double sigmax=1., double sigmay=1., double rotation=0., double length=0., double tilt=0., double dispersion=1.)
Gaussian of an inclined track with depth-dependent widening.
double Simple1D(double x, double integral=1., double mean=0., double sigma=1.)
1D Gaussian .
double UniAxis2D(double x, double y, double integral=1., double meanx=0., double meany=0., double sigmax=1., double sigmay=1.)
Axis-aligned elliptic 2D Gaussian .
double Angle(double x, double y, double centx=0., double centy=0.)
Quadrant-aware angle of the point (x, y) about (centx, centy).
double EllipseRotAxis(double x, double y, double lx, double ly, double theta)
Radius of the ellipse with semi-axes rotated by , evaluated in the direction of (x,...
double EllipseUniAxis(double x, double y, double lx, double ly)
EllipseRotAxis with : radius of the axis-aligned ellipse with semi-axes in the direction of (x,...
double Simple1D(double x, double maximum=1.0, double mean=0.0, double a=1.0, double radius=1.0)
1D Woods-Saxon profile .
double Simple2D(double x, double y, double maximum=1.0, double meanx=0.0, double meany=0.0, double a=1.0, double radius=1.0)
Radial 2D Woods-Saxon profile with .
double RotAxis2D(double x, double y, double maximum=1.0, double meanx=0.0, double meany=0.0, double ax=1.0, double ay=1.0, double radiusX=1.0, double radiusY=1.0, double rotation=0.0)
Elliptic 2D Woods-Saxon profile with both ellipses rotated by rotation (via GeometryCalc::EllipseRotA...
double RotAxis2DUnsync(double x, double y, double maximum=1.0, double meanx=0.0, double meany=0.0, double ax=1.0, double ay=1.0, double radiusX=1.0, double radiusY=1.0, double rotationA=0.0, double rotationR=0.0)
As RotAxis2D, but the diffuseness ellipse and the radius ellipse rotate independently.
double UniAxis2D(double x, double y, double maximum=1.0, double meanx=0.0, double meany=0.0, double ax=1.0, double ay=1.0, double radiusX=1.0, double radiusY=1.0)
Elliptic 2D Woods-Saxon profile with axis-aligned axes: where is the distance to the center and bot...
Mathematical functions for signal modelling: Gaussian and Woods-Saxon profiles, ellipse geometry,...
double Power(const double &x, const double &exponent)
std::pow wrapper.
double Exp(const double &x)
std::exp wrapper.
double Cos(const double &x)
std::cos wrapper.
double Sin(const double &x)
std::sin wrapper.
double ATan(const double &x)
std::atan wrapper.
double Sqrt(const double &x)
std::sqrt wrapper.
double Gaus(const double &x, const double &mean, const double &sigma, const bool &norm)
Gaussian kernel , divided by when norm is true.
double ATan2(const double &y, const double &x)
Quadrant-aware arctangent with swapped argument forwarding.
const double Degree
one degree in radians,
QPMatrix RotationMatrix(double theta)
Counterclockwise 2D rotation matrix.