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

Abstract charge signal: a normalized 2D PDF scaled by an amplitude. More...

#include <QPSignalBase.hpp>

Inheritance diagram for QPSignalBase:
QPSignalGaussian

Public Member Functions

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,.
 
virtual double GetPDF (const double &x, const double &y)
 Normalized PDF of the signal shape, 1/µm².
 

Protected Member Functions

 QPSignalBase (const double &amplitude)
 

Detailed Description

Abstract charge signal: a normalized 2D PDF scaled by an amplitude.

Coordinates are in µm, the amplitude in electrons (3.6 eV per e-h pair); the analog signal is therefore a surface density in electrons/µm². Concrete signals implement GetPDF.

Definition at line 8 of file QPSignalBase.hpp.

Constructor & Destructor Documentation

◆ ~QPSignalBase()

QPSignalBase::~QPSignalBase ( )
virtual

Calls Delete().

Definition at line 9 of file QPSignalBase.cpp.

References Delete().

◆ QPSignalBase()

QPSignalBase::QPSignalBase ( const double &  amplitude)
protected
Parameters
amplitudetotal deposited charge, electrons

Definition at line 5 of file QPSignalBase.cpp.

Member Function Documentation

◆ Delete()

void QPSignalBase::Delete ( )
virtual

Cleanup hook called by the destructor; currently a no-op.

Definition at line 13 of file QPSignalBase.cpp.

Referenced by ~QPSignalBase().

◆ GetSignal()

double QPSignalBase::GetSignal ( const double &  x,
const double &  y 
)

Signal density $ A\,p(x,y) $: amplitude times GetPDF.

Parameters
xevaluation point x, µm
yevaluation point y, µm
Returns
charge surface density, electrons/µm²

Definition at line 20 of file QPSignalBase.cpp.

References GetPDF().

Referenced by QPDigitizerBase::GetAnalogSignal(), and Integral().

◆ Integral()

double QPSignalBase::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,.

\[ \int \approx \sum_{i,j} A\,p(x_i, y_j)\,\Delta x\,\Delta y,
    \qquad x_i = x_0 + (i+\tfrac12)\Delta x,\quad
    \Delta x = (x_1-x_0)/n \]

Note
$ n $ is currently hard-coded to 5; qupid::NIntegrateDivide (= 100) is not used.
Parameters
x0lower x bound, µm
x1upper x bound, µm
y0lower y bound, µm
y1upper y bound, µm
Returns
integrated charge, electrons

Definition at line 24 of file QPSignalBase.cpp.

References GetSignal().

Referenced by QPPixel::GetDigitalSignalOne().

◆ GetPDF()

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

Normalized PDF of the signal shape, 1/µm².

The base implementation is a stand-in for a pure virtual: it prints a warning and returns 0.

Parameters
xevaluation point x, µm
yevaluation point y, µm
Returns
probability density at (x, y)

Reimplemented in QPSignalGaussian.

Definition at line 15 of file QPSignalBase.cpp.

Referenced by GetSignal().


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