qupid 0.2
Quasi-Signal Generation Model for Pixelized Detector
Loading...
Searching...
No Matches
QPDigitizerBase.hpp
1#ifndef __QPDIGITIZERBASE__
2#define __QPDIGITIZERBASE__ 1
3
4#include <deque>
5
6class QPSignalBase;
7class QPPixelBase;
8
16 public:
18 virtual ~QPDigitizerBase();
20 virtual void Delete();
21
25 void InjectSignal(QPSignalBase* signal);
30 QPSignalBase * GetSignal(int i) const;
32 int GetNSignal() const;
37 void ClearSignal(bool removeall=true);
38
44 virtual double GetAnalogSignal(const double& x, const double& y);
45
51 virtual QPPixelBase* GetPixel(const int index);
58 virtual QPPixelBase* GetPixel(const int i, const int j);
59
65 std::deque<QPPixelBase*> GetFiredPixel(double threshold);
66
68 int GetNPixel() const {return fNpix0;}
69
71 double GetSizeX() const {return fSize[0];}
73 double GetSizeY() const {return fSize[1];}
75 int GetNPixelX() const {return fNpix[0];}
77 int GetNPixelY() const {return fNpix[1];}
78
79 protected:
81 QPDigitizerBase(int npix);
82 double fSize[2];
83 int fNpix[2];
84
85 private:
86 int fNpix0=0;
87
88 std::deque<QPSignalBase*> fSignals;
89};
90
91#endif
Abstract pixel-matrix digitizer: owns the injected signals and the matrix geometry; concrete classes ...
void InjectSignal(QPSignalBase *signal)
Hands a signal to the digitizer, which takes ownership: the default ClearSignal() deletes it.
virtual void Delete()
Cleanup hook; currently a no-op.
QPSignalBase * GetSignal(int i) const
Borrowed pointer to injected signal i; the digitizer keeps ownership.
virtual double GetAnalogSignal(const double &x, const double &y)
Summed signal density of all injected signals at (x, y), .
int GetNSignal() const
int GetNPixelY() const
virtual ~QPDigitizerBase()
Does not delete the injected signals; see the class warning.
double GetSizeY() const
void ClearSignal(bool removeall=true)
Empties the signal store.
int fNpix[2]
number of pixels {x, y}
double GetSizeX() const
std::deque< QPPixelBase * > GetFiredPixel(double threshold)
Builds every pixel and keeps those whose digital signal exceeds threshold; the rest are deleted inter...
double fSize[2]
matrix extent {x, y}, µm
virtual QPPixelBase * GetPixel(const int index)
Pixel by linear index.
int GetNPixel() const
int GetNPixelX() const
Abstract pixel bound to a digitizer: pulls the digitizer's injected signals and integrates them over ...
Abstract charge signal: a normalized 2D PDF scaled by an amplitude.