qupid 0.2
Quasi-Signal Generation Model for Pixelized Detector
Loading...
Searching...
No Matches
QPSignalGaussian Class Reference

2D Gaussian signal in covariance-matrix form, More...

#include <QPSignalGaussian.hpp>

Inheritance diagram for QPSignalGaussian:
QPSignalBase

Public Member Functions

 QPSignalGaussian (const QPVector &x0, const double &amplitude, const QPMatrix &S)
 
 QPSignalGaussian (const double &x0, const double &y0, const double &amplitude, const double &sx, const double &sy, const double &srad)
 Builds $ S = \mathrm{diag}(s_x, s_y)\, R(s_{rad}) $ with QPMath::RotationMatrix — the plain product, not the similarity transform $ R\,\mathrm{diag}(s_x,s_y)\,R^{T} $, so $ S $ is not symmetric for $ s_{rad} \neq 0 $.
 
virtual double GetPDF (const double &x, const double &y)
 Evaluates the covariance form above at (x, y).
 
- Public Member Functions inherited from QPSignalBase
virtual ~QPSignalBase ()
 Calls Delete().
 
virtual void Delete ()
 Cleanup hook called by the destructor; currently a no-op.
 
double GetSignal (const double &x, const double &y)
 Signal density $ A\,p(x,y) $: amplitude times GetPDF.
 
double Integral (const double &x0, const double &x1, const double &y0, const double &y1)
 Midpoint-rule integral of GetSignal over the rectangle $[x_0,x_1]\times[y_0,y_1]$: the rectangle is divided into an $ n\times n $ grid sampled at the cell centers,.
 

Additional Inherited Members

- Protected Member Functions inherited from QPSignalBase
 QPSignalBase (const double &amplitude)
 

Detailed Description

2D Gaussian signal in covariance-matrix form,

\[ p(\vec{x}) = \frac{1}{2\pi\sqrt{\det S}}
    \exp\!\left(-\tfrac{1}{2}(\vec{x}-\vec{x}_0)^{T} S^{-1}
    (\vec{x}-\vec{x}_0)\right) \]

with mean $ \vec{x}_0 $ (µm) and 2×2 matrix $ S $.

Definition at line 13 of file QPSignalGaussian.hpp.

Constructor & Destructor Documentation

◆ QPSignalGaussian() [1/2]

QPSignalGaussian::QPSignalGaussian ( const QPVector &  x0,
const double &  amplitude,
const QPMatrix &  S 
)
Parameters
x0signal center, µm
amplitudetotal deposited charge, electrons
S2×2 matrix used directly in the covariance form above

Definition at line 6 of file QPSignalGaussian.cpp.

◆ QPSignalGaussian() [2/2]

QPSignalGaussian::QPSignalGaussian ( const double &  x0,
const double &  y0,
const double &  amplitude,
const double &  sx,
const double &  sy,
const double &  srad 
)

Builds $ S = \mathrm{diag}(s_x, s_y)\, R(s_{rad}) $ with QPMath::RotationMatrix — the plain product, not the similarity transform $ R\,\mathrm{diag}(s_x,s_y)\,R^{T} $, so $ S $ is not symmetric for $ s_{rad} \neq 0 $.

Parameters
x0signal center x, µm
y0signal center y, µm
amplitudetotal deposited charge, electrons
sxdiagonal entry for x
sydiagonal entry for y
sradrotation angle, radians

Definition at line 8 of file QPSignalGaussian.cpp.

References QPMath::RotationMatrix().

Member Function Documentation

◆ GetPDF()

double QPSignalGaussian::GetPDF ( const double &  x,
const double &  y 
)
virtual

Evaluates the covariance form above at (x, y).

Parameters
xevaluation point x, µm
yevaluation point y, µm
Returns
probability density, 1/µm²

Reimplemented from QPSignalBase.

Definition at line 13 of file QPSignalGaussian.cpp.

References QPMath::Gaussian::MatrixForm2D().


The documentation for this class was generated from the following files: